Comment détecter si $ POST est défini?

Je veux savoir comment détecter si $_POST est défini ou non.

En ce moment je le détecte comme ceci:

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

Mais je ne cherche plus si la valeur est définie. En gros, tout POSTE de travail.

if(isset($_POST))

Je ne sais pas comment PHP gère cela. Perhabs isset ($_POST) est toujours retourne true puisque C'est un PHP global?

Fondamentalement, comment puis-je faire cela?

21
demandé sur Salman A 2013-03-05 13:53:56

6 réponses

Essayez avec:

if ( $_SERVER['REQUEST_METHOD'] == 'POST' ) {}

Pour vérifier si votre script a été posté.

Si des données supplémentaires ont été transmises, $_POST ne sera pas vide, sinon il le sera.

Vous pouvez utiliser empty méthode pour vérifier si elle contient des données.

if ( !empty($_POST) ) {}
53
répondu hsz 2013-03-05 09:55:06

$_POST est un tableau. Vous pouvez vérifier:

count($_POST)

Si elle est supérieure à zéro, cela signifie que certaines valeurs ont été validées.

12
répondu Salman A 2013-03-05 10:12:09

Une solution simple pourrait bien être d'utiliser simplement

if (!empty($_POST))
3
répondu niaccurshi 2013-03-05 09:55:58

Il suffit de l'utiliser comme ci-dessous. parce que c'est super global donc c'est toujours vrai en vérifiant isset et empty.

<?php
    if($_POST)
    {
        echo "yes";
    }
?>
3
répondu Dipesh Parmar 2013-03-05 10:29:38

Je sais que cette réponse a déjà été répondue, mais voici une méthode simple que j'utilise dans l'une de mes classes pour savoir si le post a été défini (peut-être que quelqu'un le trouvera utile):

public function isPost($key = null) {

    if ($_SERVER['REQUEST_METHOD'] != 'POST') {

        return false;

    }

    if (!empty($key)) {

        return isset($_POST[$key]);

    }

    return true;

}
2
répondu Spencer Mark 2013-10-18 15:16:04

Meilleur moyen de vérifier $_POST

<?php 
if(isset($_POST['value']) && !empty($_POST['value']))
{
return true;
}
else
{
return false;
}
-1
répondu Hasan bd 2017-04-04 15:54:43