Я пытаюсь понять разницу между этим:
if (isset($_POST['Submit'])) { //do something }
и
if ($_POST['Submit']) { //do something }
Мне кажется, что если переменная $ _POST ['Submit'] равна true, то она установлена. Зачем мне в этом случае функция isset ()?
Потому что
$a = array("x" => "0"); if ($a["x"]) echo "This branch is not executed"; if (isset($a["x"])) echo "But this will";
(см. Также http://hk.php.net/manual/en/function.isset.php и http://hk.php.net/manual/en/language.types.boolean.php#language.types.boolean.casting)
isset вернет TRUE, если оно существует и не равно NULL, в противном случае это FALSE.
Вы в основном хотите проверить, была ли переменная $ _POST [] вообще отправлена, независимо от значения.Если вы не используете isset (), некоторые операции, такие как submit=0, не будут выполнены.
submit=0
Во втором примере PHP выдаст уведомление (на E_NOTICE или более строгом), если этот ключ не установлен для $_POST.
E_NOTICE
$_POST
Также см. этот вопрос по переполнению стека .
, если пользователь не вводит значение, поэтому $ _post [] возвращает NULL, что мы говорим в описании isset: "
isset вернет TRUE, если он существует, и не равен NULL, в противном случае это FALSE., Но здесь isset возвращает истину «
Код
if($_POST['Submit']) { //some code }
не будет работать в WAMP (работает на xampp) на WAMP, вам придется использовать
попробовать.:)