Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > AJAX
AJAX Forum sur la programmation AJAX. Avant de poster : Cours AJAX, FAQ AJAX, Toutes les FAQ JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 27/10/2011, 01h18   #1
Nouveau Membre du Club
 
Inscription : août 2009
Messages : 84
Détails du profil
Informations forums :
Inscription : août 2009
Messages : 84
Points : 28
Points : 28
Par défaut problème dans une authentification avec ajax

Salue a tous,
Cela fait pratiquement deux semaines que j'essaye de créer un formulaire d'authentification à une base de données, mais je n'y arrive pas.
voici mon code php:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
 
<?php
try
{
	$pass = $_REQUEST['pass'];
	$user = $_REQUEST['user'];
 
	$db = new PDO('mysql:host=localhost;dbname=dbmedia', 'root', '');
	$str='SELECT * FROM `tb_user` WHERE ((`login`='.$pass.') AND (`Pword`='.$user.'))';
	echo $str;
	$retour = $db->query($str);
 
	while($row = mysql_fetch_array($retour))
	  {
	  	echo $row[0];
	  }
 
}
catch (Exception $e)
{
	die('Erreur : ' . $e->getMessage());
}
code ajax:

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
28
29
 
//Détection de l'objet xhr
xhr =null;
 
if(window.XMLHTTPRequest){
	xhr = new XMLHTTPRequest();
} else if(window.ActiveXObject){
	xhr = new ActiveXObject("Microsoft.XMLHTTP");	
}
//fonction qui sera exécutée après la clic sur le bouton valider
function validerCnx(user,pass)
{
	xhr.onreadyStatechange = function ()
	{
 
		if((xhr.readyState==4) && (xhr.Status ==200))
		{
			 var reponse = xhr.responseText;
 
			 if(document.getElementById("log_user").innerHTML = xmlhttp.responseText)
			 {
				alert(reponse);
			 }
		}
	}
		xhr.open("GET","parametre.php?user="+user+"&pass="+pass,true);
		xhr.send();
 
}
Code du formulaire :

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
 
 <form  name="log_user" method="post">
            <table width="119%"  border="0" align="center">
              <tr >
                <td colspan="2" align="center"></td>
              <tr>
                <td colspan="2" class="lienbleugras">&nbsp;</td>
              </tr>
              <tr>
                <td class="corps">Nom utilisateur </td>
                <td><input name="login_user" type="text" id="login_user" /></td>
              </tr>
              <tr>
                <td class="corps">Mot de passse </td>
                <td><input name="password_user" type="password" id="password_user" /></td>
              </tr>
              <tr>
                <td>&nbsp;</td>
                <td>
                        <input  name="connexion" value="log_user" type="hidden" >
                        <input type="submit" name="Submit" value="Valider" onclick="validerCnx(login_user.value, password_user.value);"></td>
              </tr>
         </table>
      </form>
honnêtement je débute avec ajax et php et je ne sais même plus comment continuer j'ai vraiment besoin de votre aide.
Merci d'avance.
devvanjier est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/10/2011, 07h09   #2
Rédacteur/Modérateur
 
Avatar de andry.aime
 
Homme Andry Aimé
Inscription : septembre 2007
Messages : 5 129
Détails du profil
Informations personnelles :
Nom : Homme Andry Aimé
Localisation : Ile Maurice

Informations forums :
Inscription : septembre 2007
Messages : 5 129
Points : 7 258
Points : 7 258
Bonjour,

1-
Citation:
var reponse = xhr.responseText;

if(document.getElementById("log_user").innerHTML = xmlhttp.responseText)
Tu as xhr comme instance de XMLHTTPRequest mais pas xmlhttp et tu as déjà récupéré le responseText dans la variable reponse, tu n'as utilisé cette variable.
2-
Citation:
xhr.open("GET","parametre.php?user="+user+"&pass="+pass,true);
Utiliser la methode GET pour envoyer de mot de passe n'est pas beau, ce sera sauvegarder dans l'historique des navigations.
3-
Citation:
<input type="submit" name="Submit" value="Valider" onclick="validerCnx(login_user.value, password_user.value);"></td>
Utilise un input button parce que la page va se recharger avec un submit, sinon tu dois ajouter un return false après l'appelle de la fonction pour inhiber la rechargement.

A+.
andry.aime est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/10/2011, 06h32   #3
Nouveau Membre du Club
 
Inscription : août 2009
Messages : 84
Détails du profil
Informations forums :
Inscription : août 2009
Messages : 84
Points : 28
Points : 28
Salut,
Merci de votre aide, j'ai fini par trouver la solution. Mon erreur venait du passage des paramètres à php. Je ne peux pas coller tout le code source pour des raisons de sécurité.
Merci
devvanjier est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 05h34.


 
 
 
 
Partenaires

Hébergement Web