Как определить, установлен ли $ _POST?

Я хочу знать, как определить, установлен ли $ _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; }