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?
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) ) {}
$_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.
Une solution simple pourrait bien être d'utiliser simplement
if (!empty($_POST))
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";
}
?>
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;
}
Meilleur moyen de vérifier $_POST
<?php
if(isset($_POST['value']) && !empty($_POST['value']))
{
return true;
}
else
{
return false;
}