begin process at 2012 05 30 21:30:37
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Base de données

 > 

MySQL

 > 

Formulaire et traitement dans une seule page php


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Formulaire et traitement dans une seule page php

jeudi 29 juillet 2010 à 15:26:26 | Formulaire et traitement dans une seule page php

NouhaS

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>

<body>
<!--------------------------------->
<?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
?>
<h1>Votre Session</h1>

<script language="javascript" > alert('Authentification réussie');</script>
<p><strong>Vous pouvez effectué vos opérations souhaitées!!</strong></p>
<?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 -->

<p>Veuillez vous authentifiez</p>
<form action="auto.php" method="post">
<p>
<table style="width: 490px; height: 96px;">
<tr>
<td style="width: 130px"><label>Login</label></td>
<td style="width: 169px"><input type="text" name="login"/> </td>
</tr>
<tr>
<td style="width: 130px"><label>mot de Passe</label></td>
<td style="width: 169px"><input type="password" name="mot_de_passe" /></td>
</tr>
</table>

<input type="submit" value="Valider" />
</p>
</form>

<?php
}
?>

</body>

</html>
jeudi 29 juillet 2010 à 22:04:01 | Re : Formulaire et traitement dans une seule page php

kohntark

Membre Club
Réponse acceptée !
Salut,

je me retrouve dans une autre page!


Ah bon ? Laquelle ?


Cordialement,

Kohntark -

vendredi 30 juillet 2010 à 13:31:05 | Re : Formulaire et traitement dans une seule page php

RaftY


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 :
Code PHP :
<form action="<?=$_SERVER["PHP_SELF"] ?>" method="post"> 


au lieu de

Code HTML :
<form action="auto.php" method="post"> 


______oOOO________OOOo________

RaftY, du code C commode!
lundi 2 août 2010 à 12:09:56 | Re : Formulaire et traitement dans une seule page php

narkos2

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...)
Code PHP :
<?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!<br />";
	}
}

if($form_ok != 1)
{
	// S'il y a une erreur on l'affiche
	if(!empty($form_erreur))
	{
		print "<p>".$form_erreur."</p>";
	}
	
	// Mon formulaire
	print "<form method='post' action=''>

		Votre nom!<br />
		<input type='text' name='nom' value='".$_POST['nom']."'/><br />
		<input type='submit' name='mon_form' value='Envoyer'/>
	</form>";

}
else
{
	// Message de confirmation => le formulaire a été traité et tout est cool! (lol)
	print "Trop cool!";
}
?>
mardi 3 août 2010 à 13:20:45 | Re : Formulaire et traitement dans une seule page php

NouhaS

Merci à vous tous!!

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


Cette discussion est classée dans : page, login, formulaire, traitement, incorrect


Répondre à ce message

Sujets en rapport avec ce message

formulaire de login pour bd [ par Metalpowa ] j'voudrais me faire une page genreavec des champs textes "host", "Login", "password", et "BD" qui settent des variables, et avec un bouton "envoyer" q resultat de formulaire [ par tapas64 ] Bonjour,J'ai un formulaire tout simple (méthode POST) qui demande à l'utilisateur de saisir un nombre et ensuite de valider pour effectuer un traiteme Comment envoyer un formulaire facilement ?? [ par pspower ] Bonjour,J'ai creer un formulaire en php à la page : index.php  et les réponses sont envoyées à traitement.php:traitement.php est en quelques sorte une Formulaire et mode de soumission [ par tibine974 ] Bonjour,Voilà je me demandais qu'elle était la maniére la plus logique pour soumettre un formulaire :            - Soit : Formulaire sur une page + tr traitement de plusieurs formulaires sur une seule page php [ par arnold002 ] Bonjour à tous,J'ai un formulaire d'inscription relativement long.Actuellement, l'utilisateur remplit ce formulaire et le valide. Le traitement php se fenetre pop [ par AZIRIAZIZ ] bonjour voila : je veux que les liens de ma page d'accueil changent en fonction du fait que l'utilisateur soit logué ou pas. A noter que la page logi 2 formulaire en conflit [ par scromania ] bonjour, Voila dans la cas ou l'utilisateur et de niveau =9 alors une page (include)et en plus. [code=php]if ($visiteur == 9){ include("modules/Page utiliser un login et mot de passe pour me connecter [ par msi079 ] slt. j'ai pris un exemple sur le net pour l'adapter à mon cas . mais voila que ça marche pas. alors je sollicite votre aide afin de corriger les erreu


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,654 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales