Page 1 sur 1

formulaire de connexion ajax

Posté : 01 oct. 2015, 23:31
par mabtan
Bonsoir, je tente de réaliser un formulaire de connexion avec la gestion en ajax, lorsque je teste je suis toujours redirigé vers le message d'erreur que j'ai intégré.

voici le code :

<form name="login_form" id="login_form" action="#">

<span id="msg-err"></span>
<div><img src="images/idbook logo.png" height="50px" align="left" style="margin-top:15px;margin-left:15px"/></div>
<div id="rgstr"> Pas de compte ID Book ? <a href="#"> Inscrivez vous ici </a></div>
<h3 class="stl-h3" align="left">COMPTE ID BOOK</h3>
<input type="text" id="email" class="prpt-input" name="email" value="Email" maxlength="60" size="40" align="left" style="margin-left:-25px"><br>
<input type="password" class="prpt-input" id="mdp" name="mdp" value="Mot de passe" maxlength="60" size="20" style="margin-top:10px;margin-left:-165px"><br>
<div class="mdp"><a href="#" style="margin-left:20px">Mot de passe oublie ?</a></div>


<center><p>
<input type="submit" name="submit" id="style-btn" value="Se connecter"/>

</p></center>
</form>


voici la fonction ajax qui appele le formulaire de verification :

$(document).ready( function ()
{
$("#login_form").submit( function()
{
var mail = $("#email").val();
var mdp = $("#mdp").val();
// à la soumission du formulaire
$.ajax({ // fonction permettant de faire de l'ajax
type: "POST", // methode de transmission des données au fichier php
url: "connexion.php", // url du fichier php
data: "email="+mail+"&mdp="+mdp, // données à transmettre
success: function(msg)
{
if(msg=='success')
{
$("div#box").html("<span id=\"confirmMsg\">Vous &ecirc;tes maintenant connect&eacute;.</span>");
// on désactive l'affichage du formulaire et on affiche un message de bienvenue à la place
window.location.href = 'index.php';
}
else
{
$("span#msg-err").html("Erreur lors de la connexion, veuillez v&eacute;rifier votre login et votre mot de passe.");
}
},

error: function(msg)
{
// si la connexion en php n'a pas fonctionnée
//$("span#msg-err").html("Erreur lors de la connexion, veuillez v&eacute;rifier votre login et votre mot de passe.");
// on affiche un message d'erreur dans le span prévu à cet effet
}
});
return false; // permet de rester sur la même page à la soumission du formulaire
});
});

et voici le formulaire de verif

<?
session_start();
?>


<!DOCTYPE html>
<html>
<head>
<title>Connexion </title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link type="text/css" rel="stylesheet" href="connexion.css">

<script src="connexion.js" type="text/javascript"></script>

</head>
<?
$DB_HOST="localhost";
$DB_USER="a";
$DB_PW="b";
$link=mysql_connect($DB_HOST,$DB_USER,$DB_PW) or die ('<strong>$FWNAME Error:</strong>Database connection - ' . mysql_error());
$DB_DATA="c";
mysql_select_db($DB_DATA);
if((isset($_POST['email']))&&(isset($_POST['mdp'])))
{
$resultat = mysql_query('select * from clients wheremel = "'.$_POST['email'].'" and password = "'.$_POST['mdp'].'"') or die ('Erreur '.$resultat.' '.mysql_error());
$ligne = mysql_num_rows($resultat);

if($ligne==1)
{
$_SESSION['user'] = $ligne['clt_firstname'].' '.$ligne['clt_lastname'];
echo 'success';
}

else
{
echo 'failed';
//header('Location: index.php?err=1');
}
}
else
{
//header('Location: index.php');
}
?>

</html>

dans le success je suis toujours redirigé vers le else, ce qui m'affiche un message d'erreur alors qu'en faisant un refresh j'apparais connecté, quelqu'un peut-il m'aider?

Je vous remercie.

Re: formulaire de connexion ajax

Posté : 01 oct. 2015, 23:51
par or 1
if(msg=='success')
il faut donc que le code php ne retourne que ce mot, sans autre balise html ou texte.

Re: formulaire de connexion ajax

Posté : 03 oct. 2015, 20:01
par mabtan
merci, effectivement il retournait d'autres balises, j'ai donc fait un msg.indexof pour verifier si le mot success etait contenu dans le msg.