Formulaire et traitement dans une seule page php [Résolu]

Signaler
Messages postés
2
Date d'inscription
lundi 26 juillet 2010
Statut
Membre
Dernière intervention
3 août 2010
-
Messages postés
2
Date d'inscription
lundi 26 juillet 2010
Statut
Membre
Dernière intervention
3 août 2010
-
Bonjour à tous,

Je veux réaliser une page d'authentification dans un site. J'ai procédé de la minière suivante: avec deux php, j'ai mis dans le premier le formulaire et dans un deuxième le traitement sauf que dans les cas erreurs(mot de passe incorrect et /ou login incorrect) je me retrouve dans une autre page! Or ce que je désire c'est après l'affichage de la boite de dialogue dans le cas d'erreur je veux que ça soit dans le formulaire afin de pouvoir retaper ...login ...!

Voilà donc j'ai essayé de rassemble mon code mais c'eest le même résultat que j'obtiens que ça soit avant ou après...

Je voudrai bien que vous m'aidez si vous le pouvez!
Merci

Vous trouverez juste en dessous mon code:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns= "http://www.w3.org/1999/xhtml">

<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
<title>Authentification</title>
</head>


<!--------------------------------->
<?php
try
{
$bdd = new PDO('mysql:host=localhost;dbname=catalogue', 'root', '');
}
catch (Exception $e)
{
die('Erreur : ' . $e->getMessage());
}
?>
<!--------------------------------->


<?php
if ( isset($_POST['login']) && !empty($_POST['login']) ) // Si un formulaire a déjà été envoyé, si ceci ne marche pas, essaie avec !empty($_POST['Champ'])
{
// Code de traitement du formulaire, celui qui est normalement sur ta page externe

$reponse $bdd->prepare('SELECT * FROM utilisateur WHERE Login_Utilisateur ?');
$reponse->execute(array($_POST['login']));

if ($donnees = $reponse->fetch())
{
?>

<?php

if (isset($_POST['mot_de_passe']) AND $_POST['mot_de_passe'] == $donnees['Mot_De_Passe_Utilisateur']) // Si le mot de passe est bon
{
// On affiche les codes
?>
Votre Session


<script language="javascript" > alert('Authentification réussie');</script>
Vous pouvez effectué vos opérations souhaitées!!


<?php
}
else // Sinon, on affiche un message d'erreur
{
?>
<script language ="javascript" > alert('Mot de passe incorrect');</script>
<?php
}
}

else{
?>
<script language="javascript" > alert('login incorrect');</script>
<?php
}
}
else
{
?>
<!-- Et ici le formulaire -->

Veuillez vous authentifiez


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

<label>Login</label>,
,

----

<label>mot de Passe</label>,






</form>

<?php
}
?>



</html>
A voir également:

4 réponses

Messages postés
3706
Date d'inscription
lundi 5 juillet 2004
Statut
Membre
Dernière intervention
27 avril 2012
30
Salut,

je me retrouve dans une autre page!

Ah bon ? Laquelle ?


Cordialement,

Kohntark -
Messages postés
56
Date d'inscription
mardi 5 mars 2002
Statut
Membre
Dernière intervention
12 août 2010

Si le code que tu as envoyé est bien dans la script auto.php, il n'y a pas de raison que tu change de page.

mais souvent pour éviter cette ecueil, on met :
<form action="<?=$_SERVER["PHP_SELF"] ?>" method="post"> 


au lieu de

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


______oOOO________OOOo________

RaftY, du code C commode!
Messages postés
10
Date d'inscription
dimanche 16 novembre 2008
Statut
Membre
Dernière intervention
2 septembre 2010

Hello,

Voici un petit exemple de code pour un formulaire avec traitement sur la meme page, prend exemple dessus pour rassembler tes pages en une seule:
(Bon on imagine que t'as déjà ton session_start() et tout le tsoin-tsoin dans ton index...)
<?php
// Le si form a été envoyé, on traite
if(!empty($_POST['mon_form']))
{
// Divers traitements
if(!empty($_POST['nom']))
{
// Form OK
$form_ok = 1;
}
else
{
$form_erreur = "Le nom doit être rempli! Non mais!
";
}
}

if($form_ok != 1)
{
// S'il y a une erreur on l'affiche
if(!empty($form_erreur))
{
print "".$form_erreur."

";
}

// Mon formulaire
print "<form method='post' action=''>
Votre nom!




</form>";
}
else
{
// Message de confirmation => le formulaire a été traité et tout est cool! (lol)
print "Trop cool!";
}
?>
Messages postés
2
Date d'inscription
lundi 26 juillet 2010
Statut
Membre
Dernière intervention
3 août 2010

Merci à vous tous!!

C'est bon j'ai réglé le problème