Вы не можете запретить пользователю отправлять вам данные, особенно данные GET
, как в вашем примере.
Вы можете попробовать добавить обработчик onclick
к кнопке отправки или что-то еще, но у ваших пользователей может быть отключен JavaScript. Даже если у них был включен JavaScript, ничто не мешает кому-то перейти к его адресной строке и вручную набрать www.example.com/file.php?var=value
. Черт, даже если вы измените свой метод с GET
на POST, есть все еще способов отправки данных без использования вашей страницы.
Единственное, что вы действительно можете сделать, это проверить, имеет ли поле значение, и, если это так, перенаправить пользователя обратно на страницу поиска с ошибкой, сообщающей ему повторить попытку.
if (!isset($_GET['field']) || empty($_GET['field])) {
// regenerate page with error
}
Ваш заголовок также неточный. Вы никогда не получите нулевые данные из формы. Что касается PHP, либо переменная включена, либо нет. Если он включен, то худшее, что может быть, - пустое. Например, www.example.com/file.php?field
приводит к значению $_GET['field']
, которое является пустым, а не нулевым.
Существуют некоторые типы - такие как переключатели и флажки - которые не будут отправлять значения, если они пусты, но PHP вообще не создаст для них значение $_GET
. Они просто не пройдут проверку isset()
вместо значения null
.