Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Проверка на заполненность поля
 
 автор: alexander95   (27.11.2011 в 19:23)   письмо автору
 
 

Есть 6 полей, последнее не обязательно к заполнению. Как можно оптимальнее сделать проверку на заполненность первых 5?

  Ответить  
 
 автор: cheops   (27.11.2011 в 19:47)   письмо автору
 
   для: alexander95   (27.11.2011 в 19:23)
 

А что в полях, просто текст? Тогда можно воспользоваться функцией empty().

  Ответить  
 
 автор: Sfinks   (27.11.2011 в 19:55)   письмо автору
 
   для: alexander95   (27.11.2011 в 19:23)
 

Что значит оптимально? вернее, не оптимально - это как?
Если нужно знать какое именно не заполнено, то просто проверить все поочереди. Если не важно какое не заполнено, то можно проверить все разом
if ( empty(поле1) || empty(поле2) || empty(поле3) || empty(поле4) || empty(поле5) ) echo"не заполнено обязательное поле";

  Ответить  
 
 автор: alexander95   (27.11.2011 в 20:04)   письмо автору
 
   для: alexander95   (27.11.2011 в 19:23)
 

ок, я просто думал, что можно используя foreach()

  Ответить  
 
 автор: Den*s   (28.11.2011 в 15:57)   письмо автору
 
   для: 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]];
     }
 }
?>

  Ответить  
 
 автор: SerG7   (29.11.2011 в 09:32)   письмо автору
 
   для: alexander95   (27.11.2011 в 19:23)
 

Вообще то такие вещи надо делать на клиенте...яваскриптом или используя аякс
и если нужные поля не заполнены или заполнены чушью то сообщать в чем проблема по каждому полю...
ну и можно блокировать кнопку сабмит ...пока все не будет правильно...
это чтобы не напрягать пользователя....

а уж потом проверять эти же данные поля на сервере ...и в случае ошибки клиентского скрипта возвращать эту же форму с правильно введенными полями ..указывая те поля которые не верные

не забыть защитить форму от возможности отправки в скрипт обработчика данных не с твоего хоста...(сайта)

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования