Afficher et traiter un formulaire sur la même page

Fermé
jb_lives Messages postés 3 Date d'inscription dimanche 17 novembre 2013 Statut Membre Dernière intervention 1 décembre 2013 - 22 nov. 2013 à 21:02
Tomy2e Messages postés 816 Date d'inscription jeudi 21 février 2013 Statut Membre Dernière intervention 18 août 2016 - 5 déc. 2013 à 22:35
Bonjour,

Je cherche à afficher et traiter un formulaire sur la même page. Sauf que mon code me donne une erreur.



<form action="formulairecode.php" method="post">

<input type="password" name="mot_de_passe">
<input type="submit" value="valider">
</form>

<?php
if (!isset($_POST['mot_de_passe']) OR ($_POST['mot_de_passe']!="kangourou"))
{
?>
<form action="formulairecode.php" method="post">
<input type="password" name="mot_de_passe">
<input type="submit" value="valider">
</form>
<?php
}
else if (isset($_POST['mot_de_passe']) AND ($_POST['mot_de_passe']=="kangourou"))
{
?>
<h1>Voici les codes d'accès :</h1>
<p><strong>CRD5-GTFT-CK65-JOPM-V29N-24G1-HH28-LLFV</strong></p>
<?php
}
else
{
echo '<p>Mot de passe incorrect</p>';
}
?>
A voir également:

3 réponses

Tomy2e Messages postés 816 Date d'inscription jeudi 21 février 2013 Statut Membre Dernière intervention 18 août 2016 858
Modifié par pijaku le 7/12/2013 à 09:38
Bonjour, voici un autre exemple de code possible, un peu plus propre, pour ce que vous voulez faire:
<?php
$password = "motdepasse"; // ici le mot de passe
if(isset($_POST['post_form'])) // Ici la personne a envoyé le formulaire
{
if(!isset($_POST['mot_de_passe']) || empty($_POST['mot_de_passe']))
{ // mot de passe non détecté/entré
$authentication = array("success"=>false, "message"=>"Mot de passe non détecté/entré !");
}
else if($_POST['mot_de_passe'] === $password)
{ // mot de passe correct
$authentication = array("success"=>true, "message"=>"Authentification réussie !");
}
else
{  // mot de passe incorrect
$authentication = array("success"=>false, "message"=>"Mot de passe incorrect !");
}}
?>
<form action="" method="post">
<input type="hidden" name="post_form" value="yep"/>
<input type="password" name="mot_de_passe">
<input type="submit" value="valider">
</form>
<?php if(!empty($authentication)) { if(!$authentication['success']) { echo $authentication['message']; } else { ?>
<h1>Voici les codes d accès :</h1>
<p><strong>CRD5-GTFT-CK65-JOPM-V29N-24G1-HH28-LLFV</strong></p>
<?php }}?>
1
varley Messages postés 66 Date d'inscription samedi 19 janvier 2013 Statut Membre Dernière intervention 28 septembre 2018 12
4 déc. 2013 à 23:58
Bonjour jb_lives essai ceci

<form action="" method="post">

<input type="password" name="mot_de_passe">
<input type="submit" name="submit" value="valider">
</form>

<?php
if(isset($_POST['submit'])){
if (!isset($_POST['mot_de_passe']) OR ($_POST['mot_de_passe']!="kangourou"))
{
?>
<form action="" method="post">
<input type="password" name="mot_de_passe">
<input type="submit" value="valider">
</form>
<?php
}
else if (isset($_POST['mot_de_passe']) AND ($_POST['mot_de_passe']=="kangourou"))
{
?>
<h1>Voici les codes d'accès :</h1>
<p><strong>CRD5-GTFT-CK65-JOPM-V29N-24G1-HH28-LLFV</strong></p>
<?php
}
else
{
echo '<p>Mot de passe incorrect</p>';
}
}
?>
0
A l a n Messages postés 2845 Date d'inscription lundi 20 juillet 2009 Statut Contributeur Dernière intervention 9 octobre 2022 818
Modifié par pijaku le 6/12/2013 à 10:49
<form action="formulairecode.php" method="post"> 

<input type="password" name="mot_de_passe"> 
<input type="submit" value="valider"> 
</form> 

<?php 
if (!isset($_POST['mot_de_passe']) OR $_POST['mot_de_passe']!="kangourou") 
{ 
echo '<p>Mot de passe incorrect</p>'; 
//Si renvoyée mais mot de passe faux
}
elseif(!isset($_POST['mot_de_passe']))
{
//Si variable non renvoyée
}
else if (isset($_POST['mot_de_passe']) AND ($_POST['mot_de_passe']=="kangourou")) 
{ 
// Si c'est ok
?> 
<h1>Voici les codes d accès :</h1> 
<p><strong>CRD5-GTFT-CK65-JOPM-V29N-24G1-HH28-LLFV</strong></p> 
<?php 
} 
else 
{ 
echo"Erreur inconnu";
} 
?>


Où est l'erreur d'ailleurs ?

Dépêche toi de vivre, ou dépêche toi de mourir !
0
A l a n Messages postés 2845 Date d'inscription lundi 20 juillet 2009 Statut Contributeur Dernière intervention 9 octobre 2022 818
Modifié par pijaku le 7/12/2013 à 09:37
Erreur de ma part.
if (!isset($_POST['mot_de_passe']) OR $_POST['mot_de_passe']!="kangourou") 
{ 
echo '<p>Mot de passe incorrect</p>'; 
//Si renvoyée mais mot de passe faux
}
else if (isset($_POST['mot_de_passe']) AND ($_POST['mot_de_passe']=="kangourou")) 
{ 
// Si c'est ok
?> 
<h1>Voici les codes d accès :</h1> 
<p><strong>CRD5-GTFT-CK65-JOPM-V29N-24G1-HH28-LLFV</strong></p> 
<?php 
} 
else 
{ 
echo"Erreur inconnu";
} 
0