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