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

Kushan Mehta Points 128

Ajoutez l'attribut suivant au formulaire de saisie de texte : required="required" . Si le formulaire n'est pas rempli, il ne permettra pas à l'utilisateur de soumettre le formulaire.

Votre nouveau code sera :

<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"/>

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

0voto

Nica Points 179

Vous pouvez peut-être essayer celui-ci :

if (isset($_POST['mail']) && ($_POST['mail'] !=0)) { echo "Yes, mail is set"; } else { echo "No, mail is not set"; }

0voto

Asep Nurjaman Points 146
<?php
    if(isset($_POST['mail']) && $_POST['mail']!='') {
        echo "Yes, mail is set";
    }else{
        echo "N0, mail is not set";
    }
?>

0voto

Imaginons que c'est votre formulaire HTML dans step2.php.

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>

Je pense que vous en avez besoin pour votre base de données, donc vous pouvez assigner votre valeur de formulaire HTML à la variable php, maintenant vous pouvez utiliser Real Escape String et ci-dessous doit être votre

step2_check.php

if(isset($_POST['mail']) && !empty($_POST['mail']))
{
$mail = mysqli_real_escape_string($db, $_POST['mail']);
}

Où $db est votre connexion à la base de données.

0voto

Debbie Kurth Points 262

Vérifiez si le formulaire a été soumis en premier, puis le champ. Vous devez également assainir le champ pour éviter les pirates informatiques.

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"  id="SubmitForm" name= "SubmitForm" value="continue"/>
</form>

step2_check :

if (isset($_POST["SubmitForm"]))
   {
   $Email =  sanitize_text_field(stripslashes($_POST["SubmitForm"]));
   if(!empty($Email))
     echo "Yes, mail is set"; 
   else
     echo "N0, mail is not set";
   } 
}

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