Affichage d'erreur lors d'identification en php

missihafid Messages postés 59 Date d'inscription   Statut Membre Dernière intervention   -  
gign44 Messages postés 124 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

J'ai un probleme lorsque un membre saisi un email ou un mot de passe fausse, il faut que le message d'erreur s'affiche au même page ou il s'identifie ou bien il s'affiche un alert en javascript.

voici ma page identification.php
<html>

<head>
/* ici j'ai met ma fonction de vérification qui permet de vérifier si email et mot de passe sont bien saisi en javascript */
</head>

<body>
<div class="e1-form">
<center
<h4>S'identifier avec votre e-mail et mot de passe</h4></center>
<div class="cambo"> <strong><center>
<form method="POST" name="login_user" action="login_user.php" >
Email        <input type="text" name="email_user" class="txt" />
<br />
Mot de passe <input type="password" name="mdb_user" class="txt" />

<br /> <img src="images/valider1.png" onclick="verifForm(document.login_user);" />

</form></center></strong></div>

</center> </div>
</body></html>
et voici ma page login_user.php
<?php

include("connect_base.php");
if(isset($_POST) && !empty($_POST['email_user']) && !empty($_POST['mdb_user'])){
extract($_POST);

$sql = "select * from utilisateur where EMAIL_USER='".$email_user."' and MDB_USER='".$_POST['mdb_user']."'" ;

$req = mysql_query($sql) or die('error');
$data = mysql_fetch_assoc($req);
if($data['EMAIL_USER'] != $email_user && $data['MDB_USER'] != $mdb_user)
{

echo '<script language="JavaScript">
window.location.replace("accueil.php?page=identifier");

alert("Email ou mot de passe que vous avez saisie est erroné. Recommencer");

</script>';

}
else
{
session_start(); //on démarre une session
$_SESSION['EMAIL_USER'] = $_POST['email_user'];
$_SESSION['MDB_USER'] = $_POST['mdb_user'];
header("Location: accueil.php");

}
}

?>

ici l message m'affiche lorsque je saisi une erreur mais il m'affiche sur une page blanche pas sur la page d'identification, et sinon ça marche bien.

Je sais que javascript ne peut pas résoudre ce problème il est au coté client, c'est PHP qui va me servir qui exécute au coté serveur.

Merci d'avance

1 réponse

gign44 Messages postés 124 Date d'inscription   Statut Membre Dernière intervention   5
 
Bonjour missihafid,

Dans un premier temps, pourquoi faire une verification JavaScript de tes champs puis une seconde sur ta page php ?
Ensuite, pour la vérification du login, je verrais plutôt un truc comme ceci :

 if(!empty($data)){
/*Tu as effectué une clause WHERE dans ta requete, pourquoi effectuer une nouvelle verif ? :)*/

session_start(); //on démarre une session
$_SESSION['EMAIL_USER'] = $_POST['email_user'];
$_SESSION['MDB_USER'] = $_POST['mdb_user'];
header("Location: accueil.php");
}
else{
header("Location:accueil.php?page=identifier&login=ERROR")
}

Puis sur ta page "identifier" au dessus de ton formulaire :


if((isset($_REQUEST['login']))&&(($_REQUEST['login'])=="ERROR")){
echo "Merci de bien vouloir vérifier les champs !";
}



En esperant que cela t'aideras ;)
0