Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript > Bibliothèques & Frameworks > jQuery
jQuery Forum d'entraide sur le framework jQuery. Avant de poster : Tutoriels jQuery, FAQ jQuery, Tous les tutoriels JavaScript, 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 28/07/2011, 21h01   #1
Invité de passage
 
Inscription : février 2008
Messages : 8
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 8
Points : 1
Points : 1
Par défaut Jquery et accès sécurisé en PHP

Bonjour à tous,
Suite à un exercice sur lequel je planche, ou plutôt que je bute j'aimerais obtenir un éclaircissement de votre part.

Tout d'abord j'ai créer une page avec identification via MYSQL/PHP Ajax, qui donne accès une fois authentifier à des données chargé
sur cette même page ( prenons en exemple un convertisseur ROM-> ARAB et inversement le tout en une seule page ).

Je me suis lancé a une épuration de ce code voulant apprendre à utiliser la bibliothèque Jquery j'ai décider de le réecrire. malheureusement je me vois confronté a certaines difficultés que je vous expose :

lors de l'identification de ma page elle reconnait les erreurs comme le mauvais mot de passe et le mauvais login, mais impossible de reconnaitre le bon login / mot de passe stocké dans une bdd crypté avec un léger md5

je vous soumet une partie du code que je pense erroné en espérant que vous pouvez m'aider.

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
30
31
32
33
$.ajax({ 
 type : 'POST',
url : 'id.php',
 dataType :'json',
 
data : {
login : $('#login').val(),
pass : $('#pass').val()													
},
success : function(data){
 
$('#waiting').hide(500);
$('#message').removeClass().addClass((data.error === true) ? 'error' : 'success')
 
$("#container").$load('conversion.php')
.text(data.msg).show(500);
 
if (data.error === true)
$('#message').show(500);
error : function(XMLHttpRequest, textStatus, errorThrown) {
 
				$('#waiting').hide(500);
				$('#message').removeClass().addClass('error')
					.text('Il y a une erreur.').show(500);
				$('#aquaform').show(500);
			}
 
 
		});
 
 
 
  return false;


n'étant pas sur qu'il s'agisse uniquement du code Jquery
je soumet également la partie identification en PHP
Code php :
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
$login = $_POST['login'];
$psw = md5($_POST['pass']);
 
$getUser_sql = 'SELECT * FROM users WHERE aqualog="'.mysql_real_escape_string($login). '" AND aquapass = "' .mysql_real_escape_string($psw). '"';
$getUser = mysql_query($getUser_sql) 
					or die(mysql_error());
 
$getUser_result = mysql_fetch_assoc($getUser);
$getUser_RecordCount = mysql_num_rows($getUser);
 
if($getUser_RecordCount < 1){ echo '0';} else { echo $getUser_result['aqualog'];}
 ?>

cela fait maintenant plusieurs heures que je planche dessus donc si vous pouviez m'aidez a avancer je vous en serais reconnaissant :
othila est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/07/2011, 21h30   #2
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 13 807
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 41
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2008
Messages : 13 807
Points : 35 793
Points : 35 793
Tu dis à jQuery qu'il va recevoir un format JSON
Code php :
echo $getUser_result['aqualog'];
mais tu lui renvoies un enregistrement (du texte je suppose).
Donc du coup, c'est sûr qu'il ne comprend pas.

D'autre part
data ne possédant pas de propriété error, cette condition ne sera jamais vraie
__________________
Pas de question technique par MP !
Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi !
Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
Mon livre sur jQuery
Bovino est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 28/07/2011, 21h38   #3
Invité de passage
 
Inscription : février 2008
Messages : 8
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 8
Points : 1
Points : 1
Donc si j'ai bien compris, je remplace le dataType par text mais concernant le data.error j'ai du mal à voir ( pour le moment ) comment l'orienté auriez vous un modèle que je comprenne mieux ?
othila est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/07/2011, 21h53   #4
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 13 807
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 41
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2008
Messages : 13 807
Points : 35 793
Points : 35 793
Le mieux est de ne pas préciser le dataType, comme ça, jQuery le gère lui-même et y arrive très bien, surtout pour du texte.
Quant à data.error, il faut comprendre que data dans le callback correspond à la réponse reçue par le serveur (du texte dans ton cas), or j'ai cru comprendre en lisant ton code que si login et / ou pass est incorrect, tu renvoies 0. Teste donc si data vaut 0
Ensuite, si tu veux gérer les erreurs du serveur, dans ce cas ce n'est plus dans success que ça se trouve mais dans error.

Va faire un tour sur la doc de jQuery, elle est très complète.
__________________
Pas de question technique par MP !
Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi !
Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
Mon livre sur jQuery
Bovino est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 28/07/2011, 22h05   #5
Invité de passage
 
Inscription : février 2008
Messages : 8
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 8
Points : 1
Points : 1
Merci beaucoup Bovino de ta réponse, je testerais tout ça ! et donnerais une réponse si j'ai réussis
othila est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/07/2011, 22h48   #6
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 13 807
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 41
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2008
Messages : 13 807
Points : 35 793
Points : 35 793
Citation:
Envoyé par othila
si j'ai réussis
Si c'est pas le cas, on continuera à t'aider
__________________
Pas de question technique par MP !
Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi !
Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
Mon livre sur jQuery
Bovino est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 29/07/2011, 01h20   #7
Invité de passage
 
Inscription : février 2008
Messages : 8
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 8
Points : 1
Points : 1
re salut,
malheureusement je n'ai pas pu avancé, j'ai fait un test des valeurs transmises sans aucun problème via
malheureusement je n'arrive pas à bien comprendre comment faire correspondre la valeur à 0, pourrais tu me donner un exemple s'il te plait ?

autre chose, en modifiant parfois le password dans le formulaire d'identification, je me rend compte que le formulaire transmet bien ces données or il est censé généré une erreur.

Cela n'arrive pas tout le temps mais 1 fois sur 20 environs, un avis dessus ?
othila est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/07/2011, 07h56   #8
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 13 807
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 41
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2008
Messages : 13 807
Points : 35 793
Points : 35 793
Code :
1
2
3
4
5
6
if(data=='0'){
    $("#div").text(data);
}
else{
    $("#div").text('Erreur...');
}
__________________
Pas de question technique par MP !
Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi !
Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
Mon livre sur jQuery
Bovino est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 29/07/2011, 18h23   #9
Invité de passage
 
Inscription : février 2008
Messages : 8
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 8
Points : 1
Points : 1
resalut et merci de ta réponse qui m'a conduit dans une autre impasse qui est celle ci

Code :
1
2
3
4
5
6
7
 success : function(data){
  if(data=='0'){ 
$('#message').text('Il y a une erreur.').show(500); 
 }
 else {  
$('#container').text(' tout roule').show(500); 
 }

j'ai pu grâce a toi connaitre un peu mieux les functions Jquery , malheureusement comme j'expliquais l'impasse ou je suis c'est que une fois que le formulaire est valider au lieux de m'afficher le résultat comme je le souhaite si le login/pass est incorrecte cela ne renvoie pas le message " il y a une erreur " mais plutôt ( apparemment ) celui de l'enregistrement du code php qui est "0"

si le login/pass sont correcte, ca me renvoie la valeur texte ' tout roule ' et non pas la valeur d'enregistrement via mysql, quel est ton/votre opinion dessus ?

merci d'avance
othila est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 14h04.


 
 
 
 
Partenaires

Hébergement Web