Afficher et traiter un formulaire sur la même page

jb_lives Messages postés 3 Date d'inscription   Statut Membre Dernière intervention   -  
Tomy2e Messages postés 816 Date d'inscription   Statut Membre Dernière intervention   -
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>';
}
?>

3 réponses

Tomy2e Messages postés 816 Date d'inscription   Statut Membre Dernière intervention   859
 
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   Statut Membre Dernière intervention   12
 
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 2846 Date d'inscription   Statut Contributeur Dernière intervention   818
 
<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 2846 Date d'inscription   Statut Contributeur Dernière intervention   818
 
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