Подтвердить что ты не робот

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

Я хочу знать, как определить, установлен ли $_POST или нет.

Сейчас я обнаруживаю это следующим образом:

if(isset($_POST['value']))

Но я не смотрю, больше ли значение. В принципе, любой POST будет работать.

if(isset($_POST))

Я не уверен, как PHP справляется с этим. Perhabs isset ($ _ POST) всегда возвращает true, так как он глобальный PHP?

В принципе, как я могу это сделать?

4b9b3361

Ответ 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;
}