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 :
Page php :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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"); }
Merci de m'aider
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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"; } ?>
Partager