Probleme verification authentification

azert13 Messages postés 82 Statut Membre -  
azert13 Messages postés 82 Statut Membre -
Bonjour a tous ,

Voila j'ai un formulaire d'authentification , mais le probleme est que si le membre entre un faux ou n' a pas remplit le champs "pseudo" ou "mdp" alors une nouvelle page s'ouvre en affirmation " vous vous etes trompe , veullez reessayer "
Moi je veux , que si le membre entre un faux ou n'a pas remplit le champs alors une erreur s'affiche ( comme un pop up ) et non une nouvelle page qui s'ouvre . J'espere que suelqu'un pourra m'aidez .

Voici le code de ma page :

<?php
session_start();
session_regenerate_id();//empeche le vol de session

if(
isset($_POST['pseudo']) && !empty($_POST['pseudo']) &&
isset($_POST['password']) && !empty($_POST['password']))
{

$secure = true;
require('config_inc.php');
mysql_connect($host,$user,$password);
mysql_select_db($bdd);

$pseudo = mysql_real_escape_string($_POST['pseudo']);
$password = md5(mysql_real_escape_string($_POST['password']));

$test = mysql_query("SELECT * FROM membres WHERE pseudo='".$pseudo."' AND password='".$password."'");

if(mysql_num_rows($test) == 1)
{
$info = mysql_fetch_assoc($test);

if($info['confirmation'] == 1)
{
$_SESSION['logged'] = true;
$_SESSION['pseudo'] = $pseudo;
$_SESSION['email'] = $info['email'];
$_SESSION['nom'] = $info['nom'];
$_SESSION['prenom'] = $info['prenom'];
$_SESSION['id'] = $info['id'];
$_SESSION['rang'] = $info['rang'];
$_SESSION['jeton'] = $info['parties'];
$_SESSION['sous'] = $info['sous'];


include('jouer.php');


}
else
{
echo'Votre compte n\'est pas confirmé.<br/>
Un email vous a été envoyé afin de validé le compte.';
}


}
else
{
echo'Vous vous êtes trompé en remplissant votre formulaire.<br/>
<a href="javascript:history.go(-1)"> Revenir au formulaire </a>';
}

}
else
{
echo'Vous avez mal rempli le formulaire.<br/>
<a href="javascript:history.go(-1)"> Revenir au formulaire </a>';
}

?>


a bientot chere ami

2 réponses

HostOfSeraphim Messages postés 7340 Statut Contributeur 1 608
 
C'est normal, tu n'as qu'un echo en cas d'erreur, ce qui n'affiche qu'un echo dans une page "vide".

Une solution consisterait à avoir une variable "erreur", avec différents codes d'erreur... admettons qu'un mauvais mot de passe soit défini comme l'erreur 4.

Dans ta page principale, tu fais une structure conditionnelle autour d'un message situé aux alentours de ton formulaire...

Si erreur = 4 alors
Afficher "Mauvais mot de passe !"
FinSi

Ainsi, pour afficher la page d'erreur, il te suffirait de rediriger vers ta page principale mais avec cette variable... (page.php?erreur=4)

Je ne sais pas si tu vois bien ce que je veux dire...

2
azert13 Messages postés 82 Statut Membre 3
 
salut ,

merci de ta reponse , oui je comprend ce que tu veux dire , mais je ne sais ou debuter , comme je ne connais pas tro le php ,

est ce que quelqun peut me mettre sur la piste ?

MERCI A CEUX QUI POURRONT M'AIDEZ
1