Могу ли я иметь if ($ _ POST ['submit']) {} перед объявлением <form method = 'post'>?

1

Могу ли я иметь if($_POST['submit']){} перед объявлением <form method='post'>?

 if($_POST['submit']){
     print_r($_POST['submit']);
     $sql="Delete from db where value=2";
     mysqli_query($db,$sql);
    }
 echo"<form method='post'><input type='text' name='text' value='hello!'>
 <input type='submit' name='submit' value='Submit!'></form>";

Проблема в том, что я не могу принимать какие-либо sql-результаты, если if($_POST) находится над объявлением формы.

  • 0
    Да, это действительно.
  • 0
    Есть ли основания думать, что это не правильно?
Показать ещё 7 комментариев
Теги:
forms
post

2 ответа

2
Лучший ответ

Да, это действительно так, но это приведет к ошибке, подобной этой

Notice: Undefined index: submit

Лучшей практикой является использование isset(), чтобы проверить, существует ли пост-переменная. Тогда это будет выглядеть так

if(isset($_POST['submit'])){
print_r($_POST['submit']);
}
1

Да, это возможно.

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню