Могу ли я иметь 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)
находится над объявлением формы.
Да, это действительно так, но это приведет к ошибке, подобной этой
Notice: Undefined index: submit
Лучшей практикой является использование isset()
, чтобы проверить, существует ли пост-переменная. Тогда это будет выглядеть так
if(isset($_POST['submit'])){
print_r($_POST['submit']);
}
Да, это возможно.
Поскольку POST отправляется на сервер и извлекается с использованием языка на стороне сервера, такого как PHP
весь PHP
запускается перед отправкой обратно клиенту. Поэтому неважно, где в файле вы помещаете PHP
для печати POST.