Я хочу знать, как определить, установлен ли $ _POST или нет.
Сейчас я обнаруживаю это так:
if(isset($_POST['value']))
Но я не смотрю, больше ли значение. В принципе, любой POST будет работать.
if(isset($_POST))
Я не уверен, как PHP справляется с этим. Perhabs isset ($ _ POST) всегда возвращает true, так как это глобальный PHP?
В принципе, как я могу это сделать?
Попробуйте:
if ( $_SERVER['REQUEST_METHOD'] == 'POST' ) {}
чтобы проверить, был ли ваш сценарий POSTED.
Если были переданы дополнительные данные, $_POST
не будет пустым, в противном случае это произойдет.
Вы можете использовать empty
метод, чтобы проверить, содержит ли он данные.
if ( !empty($_POST) ) {}
$_POST
– это массив. Вы можете проверить:
count($_POST)
Если оно больше нуля, это означает, что некоторые значения были опубликованы.
Простое решение может состоять в том, чтобы просто использовать
if (!empty($_POST))
Просто используйте его, как показано ниже. потому что его super global
поэтому он всегда возвращает true при проверке на isset
и empty
.
<?php if($_POST) { echo "yes"; } ?>
Я знаю, что на этот ответ уже был дан ответ, но вот простой метод, который я использую в одном из моих классов, чтобы определить, установлено ли сообщение (возможно, кто-то найдет его полезным):
public function isPost($key = null) { if ($_SERVER['REQUEST_METHOD'] != 'POST') { return false; } if (!empty($key)) { return isset($_POST[$key]); } return true; }
Лучший способ проверить $ _POST
<?php if(isset($_POST['value']) && !empty($_POST['value'])) { return true; } else { return false; }