Здесь у меня есть форма и некоторый код php для запуска только при нажатии кнопки отправки. Но блок «IF» запускается сразу после перезагрузки страницы. Как если бы $ _POST массив не пуст. Я могу попробовать с одним элементом, например !empty($_POST['name'])
. Но я хочу протестировать универсальный массив $ _POST. Как я могу это сделать?make оператор if запускается только при нажатии кнопки отправки
<?php
require_once 'input.php';
if(Input::exists()){
print_r($_POST);
$arr=array('ball');
echo $arr[0];
}
?>
<form action='' method='POST'>
name:<input type='text' name='name' ></br>
<input type='submit' value='submit'>
</form>
input.php файл:
class Input{
public static function exists($type='post'){
switch($type){
case 'post':
return (!empty($_POST))?true:false;
break;
default:
return (!empty($_GET))?true:false;
brek;
}
}
}
В случае с дефолтом есть опечатка; вы написали 'brek''. –
Кроме того, что означает 'print_r ($ _ POST);' return on page load? –
, если вы хотите универсальный тест, тогда 'if ($ _SERVER ['REQUEST_METHOD'] == 'POST') {...}'. это будет правда, независимо от того, что было отправлено клиентом. –