|
|
|
| Пользователю предлагается менять свои данные
<center><form action="pu_action.php" method="get" name="f2">
<p>Заметили неточность – сообщите об ошибке!
<input type='hidden' name='title' value='<?php echo $myrow3['title']; ?>'>
<input type='hidden' name='licence' value='<?php echo $myrow3['licence']; ?>'>
|
Тут он вводит свои данные
обработчик
<form name="add" method='post' action='pu_add.php' enctype="multipart/form-data">
<table width="80%" cellspacing="5" cellpadding="5">
<tr>
<td width="200" valign="top"><b>Название организации:</b></td>
<td width="550" align="left" style='background-color:#f0f0f0'>
<input value= "<?php echo $_GET['title']; ?>" type="text" name="title" size="80">
|
если он оставит поле пустым, то в следующем файле
pu_add.php
<?php
if (isset($title))
{
/*Здесь мы пишем, что можно заносить информацию в базу*/
$result = mysql_query ("insert bd SET title='$title");
if ($result == 'true') {echo "Спасибо! Информация получена.}
else {echo "Вы ввели не всю информацию";
}
}
else
{
echo "Вы ввели не всю информацию";
}
?>
|
то выходит ошибка - Вы ввели не всю информацию.
Как сделать поле со звездочкой (как кстати она добавляется?) обязательные к заполнению, а другие поля можно оставить пустыми | |
|
|
|
|
|
|
|
для: Василий
(05.01.2012 в 15:38)
| | . | |
|
|
|
|
|
|
|
для: Василий
(05.01.2012 в 15:38)
| | >как кстати она добавляется?
да просто пишите обычную звёздочку радом с названием поля в форме )))
Вы привели участок кода с ошибками, в двух местах нет нужных кавычек - подправьте.
В этом случае скорей всего будет правильно сообщить об ошибке записи в базу, а не о заполнении формы
<?php
if ($result == 'true') {
echo "Спасибо! Информация получена."
}
else {
echo "Вы ввели не всю информацию";
}
|
когда пишите код, то делайте так, что бы было легко читать
и можно переписать немного этот участок
сократить, так сказать
<?php
if(!mysql_query ("insert bd SET title='$title")){
echo "Ошибка записи в Базу Данных".mysql_error();
}
|
| |
|
|
|
|
|
|
|
для: Slo_Nik
(05.01.2012 в 15:49)
| | сокращать думаю не стоит. нужно информативно подавать для пользователя. | |
|
|
|
|
|
|
|
для: Василий
(05.01.2012 в 16:08)
| | как сделать поле title не обязательное к заполнению?
Если оно будет пустое - чтобы не выходила ошибка Вы ввели не все данные | |
|
|
|
|
|
|
|
для: Василий
(05.01.2012 в 16:08)
| | если $result будет false, то это не вина пользователя, а возможно ошибка выполнения запроса, так зачем выводить сообщение "Вы ввели не все данные"?
что бы title было не обязательно к заполнению надо убрать проверку if(isset(title))
сокращение записи ни как не повлияет на информативность. Зачем создавать переменную $result если достаточно обойтись той проверкой о которой я писал выше? | |
|
|
|
|
|
|
|
для: Slo_Nik
(05.01.2012 в 17:18)
| | что бы title было не обязательно к заполнению надо убрать проверку if(isset(title))
Там два таких (isset(title)
Какое из них убрать? Вначале файла или при перед $result
if (isset($_POST['title'])) {$title = $_POST['title']; if ($title == '') {unset ($title);} }
|
if (isset($title))
{
/*Здесь мы пишем, что можно заносить информацию в базу*/
$result = mysql_query ("insert bd SET title='$title', l
|
| |
|
|
|
|
|
|
|
для: Василий
(05.01.2012 в 17:33)
| | а Вы как думаете? | |
|
|
|
|
|
|
|
для: Slo_Nik
(05.01.2012 в 17:36)
| | Два варианта.
удалить все.
Или Удалить верхнее. | |
|
|
|
|
|
|
|
для: Василий
(05.01.2012 в 17:41)
| | Кроме как в этих участках кода Вы ещё используете переменную title ?
Если да, то не надо удалять там где идёт присваивание значения POST, даже наоборот, дополнительно обработать можно, что бы исключить взлом БД
как это сделать смотрите в статье, ссылку на которую я дал в другой теме, "12 навыков...."
>Или Удалить верхнее.
Не надо гадать на кофейной гуще, думайте...!!! | |
|
|
|