|
|
|
| Есть 6 полей, последнее не обязательно к заполнению. Как можно оптимальнее сделать проверку на заполненность первых 5? | |
|
|
|
|
|
|
|
для: alexander95
(27.11.2011 в 19:23)
| | А что в полях, просто текст? Тогда можно воспользоваться функцией empty(). | |
|
|
|
|
|
|
|
для: alexander95
(27.11.2011 в 19:23)
| | Что значит оптимально? вернее, не оптимально - это как?
Если нужно знать какое именно не заполнено, то просто проверить все поочереди. Если не важно какое не заполнено, то можно проверить все разом
if ( empty(поле1) || empty(поле2) || empty(поле3) || empty(поле4) || empty(поле5) ) echo"не заполнено обязательное поле";
|
| |
|
|
|
|
|
|
|
для: alexander95
(27.11.2011 в 19:23)
| | ок, я просто думал, что можно используя foreach() | |
|
|
|
|
|
|
|
для: alexander95
(27.11.2011 в 20:04)
| | Наврятли этот метод отличается скоростью, но как вариант можно делать так
Форма:
<form action="temp.php" method="post" name="form1">
<p>
<label for="fileField"></label>
<input type="text" name="p1" id="p1">
<input type="hidden" name="field[]" value="p1">
</p>
<p>
<input type="text" name="p2" id="p2">
<input type="hidden" name="field[]" value="p2">
</p>
<p>
<input type="text" name="p3" id="p3">
<input type="hidden" name="field[]" value="p3">
</p>
<p>
<input type="submit" name="button" id="button" value="Отправить">
</p>
</form>
|
Код на пхп
<?
$field = @$_POST["field"];
if ($field)
{
for ($i = 0; $i < count($field); $i++)
{
if (!$_POST[$field[$i]]) print "<br>Поле с именем <b>". $field[$i] . "</b> не заполнено";
else print "<br>Значение поля <b>". $field[$i] ."</b> = ". $_POST[$field[$i]];
}
}
?>
|
| |
|
|
|
|
|
|
|
для: alexander95
(27.11.2011 в 19:23)
| | Вообще то такие вещи надо делать на клиенте...яваскриптом или используя аякс
и если нужные поля не заполнены или заполнены чушью то сообщать в чем проблема по каждому полю...
ну и можно блокировать кнопку сабмит ...пока все не будет правильно...
это чтобы не напрягать пользователя....
а уж потом проверять эти же данные поля на сервере ...и в случае ошибки клиентского скрипта возвращать эту же форму с правильно введенными полями ..указывая те поля которые не верные
не забыть защитить форму от возможности отправки в скрипт обработчика данных не с твоего хоста...(сайта) | |
|
|
|