Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Не работает валидация формы
Этот код работает отлично, но, пропускает пустое поле. Т. е., если ничего не ввести и отправить на сервер, то всё равно выводится «Пароль обновлён», при этом, конечно, записи в файл не происходит.
Вроде бы всё логично: есть условие, что поле должно быть заполнено и если всё ОК, то пропускаем на перезапись в файл. Вообще не могу понять в чём может быть проблема.
Sail
Отправлено: 21 Января, 2018 - 21:05:56
Участник
Покинул форум
Сообщений всего: 1131
Дата рег-ции: Февр. 2014
Помог: 57 раз(а)
Linne, чудес ведь не бывает.
Возможно, выполняется вовсе не этот участок кода.
Ну и результат var_dump($_POST); можно посмотреть. В самом начале скрипта...
Linne
Отправлено: 21 Января, 2018 - 21:16:32
Новичок
Покинул форум
Сообщений всего: 11
Дата рег-ции: Апр. 2017
Помог: 0 раз(а)
Sail пишет:
Linne, чудес ведь не бывает.
Возможно, выполняется вовсе не этот участок кода.
Ну и результат var_dump($_POST); можно посмотреть. В самом начале скрипта...
Покинул форум
Сообщений всего: 1131
Дата рег-ции: Февр. 2014
Помог: 57 раз(а)
Linne, то есть, в 3-й строчке проверяется: "А не пуст ли массив?"
А массив не пуст. Потому что в нем есть элемент ["password"]=> string(0) ""
Вероятно, в форме name='password[]'?
Linne
Отправлено: 21 Января, 2018 - 21:41:19
Новичок
Покинул форум
Сообщений всего: 11
Дата рег-ции: Апр. 2017
Помог: 0 раз(а)
Sail пишет:
Linne, то есть, в 3-й строчке проверяется: "А не пуст ли массив?"
А массив не пуст. Потому что в нем есть элемент ["password"]=> string(0) ""
Вероятно, в форме name='password[]'?
Покинул форум
Сообщений всего: 1131
Дата рег-ции: Февр. 2014
Помог: 57 раз(а)
Linne, на Ваше усмотрение (ну, или требования системы): либо сделать, чтобы значение пароля передавалось не в массив (name='password'), либо проверять isset($_POST['password'] && empty($_POST['password']['password']))
Linne
Отправлено: 21 Января, 2018 - 21:56:55
Новичок
Покинул форум
Сообщений всего: 11
Дата рег-ции: Апр. 2017
Помог: 0 раз(а)
Sail пишет:
Linne, на Ваше усмотрение (ну, или требования системы): либо сделать, чтобы значение пароля передавалось не в массив (name='password'), либо проверять isset($_POST['password'] && empty($_POST['password']['password']))
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.