предотвращение преждевременного выполнения php в скрипте формы html

#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. Я считаю, что уведомление и ошибка — разные вещи, но вы правы в том, что это генерирует уведомление. Я добавлю это.