#php #html #forms #submit #echo
#php #HTML #формы #Отправить #echo
Вопрос:
Я создал форму с кодом php прямо под кодом формы html в том же файле. В разделе php code страница отобразит сообщение «пожалуйста, заполните все поля», если пользователь не заполнит и не отправит все важные данные полей. Что меня беспокоит, так это то, что сообщение «пожалуйста, заполните все поля» отображается еще до того, как пользователь нажмет кнопку отправки. Я не хочу, чтобы что-либо отображалось эхом до тех пор, пока не будет нажата кнопка отправки, спасибо.
заранее спасибо.
Комментарии:
1. Было бы полезно, если бы вы опубликовали свой код.
Ответ №1:
Вы могли бы попробовать это
if(isset($_POST['submit'])){
echo "please fill in all the fields";
}
Где «отправить» — это значение вашей кнопки отправки.
И, возможно, добавить что-то вроде amp;amp; $_POST['important_field'] == ""
Кстати, вам действительно следовало опубликовать какой-нибудь актуальный код. Это немного упростило бы задачу. Тем не менее, я думаю, вы можете исправить это с помощью этого.
Комментарии:
1. Было бы разумнее проверить, установлено ли значение
submit
, иначе будет показана ошибка.2. Это неверно. ЕСЛИ он не существует, он «возвращается»
null
.3. На самом деле это вызовет уведомление. Многие люди просто отключают их и не заботятся о них (лень?). Использование
isset()
дало бы мне преимущество, поскольку мы пытаемся продвигать здесь лучшие практики.4. @Nanne, будет выдано уведомление, если ключ не существует в массиве. Из руководства :
Attempting to access an array key which has not been defined is the same as accessing any other undefined variable: an E_NOTICE-level error message will be issued, and the result will be NULL.
.5. Я считаю, что уведомление и ошибка — разные вещи, но вы правы в том, что это генерирует уведомление. Я добавлю это.