111 votes

Si isset $_POST

J'ai un formulaire sur une page qui se soumet à une autre page. Là, il vérifie si l'entrée mail est rempli. Si c'est le cas, faites quelque chose et s'il n'est pas rempli, faites autre chose. Je ne comprends pas pourquoi il est toujours indiqué qu'il est rempli, même si j'envoie un formulaire vide. Que manque-t-il ou que se passe-t-il ?

step2.php :

<form name="new user" method="post" action="step2_check.php"> 
    <input type="text" name="mail"/> <br />
    <input type="password" name="password"/><br />
    <input type="submit"  value="continue"/>
</form>

step2_check.php :

if (isset($_POST["mail"])) {
    echo "Yes, mail is set";    
} else {    
    echo "N0, mail is not set";
}

-1voto

Vinnarian Points 1

Pour répondre à la question posée : isset et empty ensemble donnent trois conditions. Cela peut aussi être utilisé par Javascript avec une commande ajax.

$errMess="Didn't test";   // This message should not show
if(isset($_POST["foo"])){ // does it exist or not
    $foo = $_POST["foo"]; // save $foo from POST made by HTTP request
    if(empty($foo)){      // exist but it's null
        $errMess="Empty"; // #1 Nothing in $foo it's emtpy

    } else {              // exist and has data
        $errMess="None";  // #2 Something in $foo use it now
      }
} else {                  // couldn't find ?foo=dataHere
     $errMess="Missing";  // #3 There's no foo in request data
  }

echo "Was there a problem: ".$errMess."!";

-1voto

akash ujjwal Points 174

Vous pouvez essayer ceci :

if (isset($_POST["mail"]) !== false) {
    echo "Yes, mail is set";    
}else{  
    echo "N0, mail is not set";
}

-1voto

Thilina Points 53
<form name="new user" method="post" action="step2_check.php"> 
  <input type="text" name="mail" required="required"/> <br />
  <input type="password" name="password" required="required"/><br />
  <input type="submit"  value="continue"/>
</form>

<?php
if (!empty($_POST["mail"])) {
    echo "Yes, mail is set";    
}else{  
    echo "N0, mail is not set";
}
?>

-1voto

Vimukthi Guruge Points 217

Vous pouvez essayer,

 <?php

     if (isset($_POST["mail"])) {
            echo "Yes, mail is set";    
        }else{  
            echo "N0, mail is not set";
        }
  ?>

-1voto

Moix Khan Points 9

$-POST METHOD : Si nous utilisons la méthode POST dans la balise de formulaire pour transmettre des données, nous pouvons trouver des données dans le serveur en utilisant le tableau $_POST. En utilisant le nom de ce tableau, nous récupérons les données du serveur ($_POST['name']). Les informations envoyées à partir d'un formulaire avec la méthode POST sont invisibles pour les autres (tous les noms/valeurs sont intégrés dans le corps de la requête HTTP) et n'ont pas de limites quant à la quantité d'informations à envoyer. Exemple de code :

<html>
<head>
</head>
<body>
<?php
if(isset($_POST['submit']))
{if(isset($_POST['name']) && isset($_POST['roll']))
{echo"<h1>form submitted</h1>";echo"your name is". $_POST['name']."<br>";
echo "your roll number is". $_POST['roll']."<br>";}}
else{?>
<form action="" method="POST">
Name:<input type="text" name="name"><br><br>
Roll:<input type="text" name="roll"><br>
<br><input type="submit" value="submit" name="submit">
</form>
<?php}?>
</body>
</html>

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X