[AJAX] authentification avec Ajax
Bonjour, j'ai fait une fonction d'authentification, l'utilisateur remplis les deux champs clique sur connexion et hop ça le connecte... en théorie ça devrait marcher, mais en pratique non et je ne voit pas du tout pourquoi...
Mais problèmes sont le suivants : la page php est appelé que de temps en temps et quand elle est appelée, elle ne renvoi pas toujours quelque chose.
Fonction javascript :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
| function checkPassword(){
var login = window.document.getElementById("login").value;
var password = window.document.getElementById("password").value;
var data = "login="+escape(login)+"&pass="+escape(password);
var xhr = getXMLHttpRequest();
xhr.onreadystatechange = function() {
if (xhr.readyState == 4){
if(xhr.status == 200 || xhr.status == 0) {
reponselogin(xhr.responseText);
}
else alert("Erreur");
}
}
xhr.open("POST", "login.php", true);
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xhr.send(data);
}
function reponselogin(text){
if(text=="login"){
setTimeout("window.location.reload(true)",2000);
}
else if (text=="unexistant")alert("Utilisateur inexistant");
} |
Page php :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| <?
header("Content-Type: text/plain");
include "lib/config.php";
varlog("POST : ".print_r($_POST,true));
oOpenConnection();
$cnx = new TDBObject();
$erreur = false;
$requete = "SELECT * FROM user WHERE user_login='".$_POST['login']."' and user_password='".$_POST['pass']."'";
$cnx->fExecQuery($requete);
varlog("CNX : ".print_r($cnx,true));
if ($cnx->fGetNumRows() == 0) {
echo "unexistant";
}
else {
$info = $cnx->fGetNextRecord();
$user_id = $info['user_id'];
session_register(user_id);
echo "login";
}
?> |
Merci de m'aider