|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 | |||
|
Invité régulier
![]() Inscription : avril 2004 Messages : 102 ![]() |
Bonjour,
Je suis en train de developper (enfin, "essayer de développer") une petite application pour le boulot. Je débute en PHP et je suis déjà bloqué au contrôle du Login. Lorsque j'exécute le code suivant : Code :
Citation:
Je ne comprends pas où se situe le problème. Pour info, je travaille avec EasyPHP 1.8 sur lequel j'ai appliqué PHP5. Merci d'avance pour votre aide |
|||
|
|
00
|
|
|
#2 |
|
Expert Confirmé Sénior
![]() Inscription : septembre 2004 Messages : 5 421 ![]() |
Que vaut $pass ?
EDIT: en fait c'est juste par curiosité, ca ne va pas résoudre forcément ton pb |
|
|
00
|
|
|
#3 | ||
|
Membre émérite
![]() ![]() Inscription : novembre 2004 Messages : 735 ![]() |
Il faudrait vérifier que ta requète renvoie un résultat.
Tu peux ajouter un test supplémentaire Code :
Ensuite la boucle while te permet de parcourir toutes les lignes renvoyées ( on ne sait jamais Sinon, pour tester qu'une personne a donné les bons identifiants évite les like. Remplace les par des =.
__________________
Pierre 1. Dans le manuel ( PHP, MySQL,..., rayez la mention inutile), tu te plongeras à deux fois plutôt qu'aucune. 2. Dans la doc php, tu liras attentivement les sections Chaines de caractères, Tableaux et Système de fichiers 3. Un code rapide c'est bien, un code maintenable c'est mieux ... Why was the font tag an orphan ? Because it didn't have a font-family. |
||
|
|
00
|
|
|
#4 |
|
Candidat au titre de Membre du Club
![]() Étudiant Inscription : juin 2005 Messages : 12 ![]() |
...et attention aux injections SQL avec ce code
|
|
|
00
|
|
|
#5 | |
|
Invité régulier
![]() Inscription : avril 2004 Messages : 102 ![]() |
Le "While" ne change rien, j'ai toujours le même problème.
J'ai essayé de remplacer les "LIKE" par "=" et c'est toujours pareil. Une autre idée ? Citation:
|
|
|
|
00
|
|
|
#6 |
|
Membre chevronné
![]() |
C'est la fameuse faille hyper connue que le peut injecter avec ' OR 1='1'
est-ce que tu as fait un mysql_select_db pour pouvoir utiliser mysql_query au lieu de mysql-db_query? |
|
|
00
|
|
|
#7 | |
|
Invité régulier
![]() Inscription : avril 2004 Messages : 102 ![]() |
En fait , j'ai une fonction de connexion
Citation:
Comment puis-je être certain que cette connexion a belle et bien fonctionné ? |
|
|
|
00
|
|
|
#8 | ||
|
Membre chevronné
![]() |
Code :
|
||
|
|
00
|
|
|
#9 | ||
|
Membre émérite
![]() ![]() Inscription : novembre 2004 Messages : 735 ![]() |
Citation:
Citation:
__________________
Pierre 1. Dans le manuel ( PHP, MySQL,..., rayez la mention inutile), tu te plongeras à deux fois plutôt qu'aucune. 2. Dans la doc php, tu liras attentivement les sections Chaines de caractères, Tableaux et Système de fichiers 3. Un code rapide c'est bien, un code maintenable c'est mieux ... Why was the font tag an orphan ? Because it didn't have a font-family. |
||
|
|
00
|
|
|
#10 | |||
|
Invité régulier
![]() Inscription : avril 2004 Messages : 102 ![]() |
Citation:
Je ne comprends vraiment pas où se situe le problème. |
|||
|
|
00
|
|
|
#11 |
|
Membre émérite
![]() ![]() Inscription : novembre 2004 Messages : 735 ![]() |
Tu peux egalement rajouter un or die sur le mysql_query pour vérifier la bonne execution de la requete.
Moi je me demande si le problème ne provient pas du fait que tu te connecte au mysql via une fonction
__________________
Pierre 1. Dans le manuel ( PHP, MySQL,..., rayez la mention inutile), tu te plongeras à deux fois plutôt qu'aucune. 2. Dans la doc php, tu liras attentivement les sections Chaines de caractères, Tableaux et Système de fichiers 3. Un code rapide c'est bien, un code maintenable c'est mieux ... Why was the font tag an orphan ? Because it didn't have a font-family. |
|
|
00
|
|
|
#12 | ||
|
Expert Confirmé Sénior
![]() Inscription : septembre 2004 Messages : 5 421 ![]() |
Qu'est ce que ça donne ça ?
Code :
|
||
|
|
00
|
|
|
#13 | |
|
Invité régulier
![]() Inscription : avril 2004 Messages : 102 ![]() |
Voici ce que donne ton exemple :
Citation:
|
|
|
|
00
|
|
|
#14 |
|
Expert Confirmé Sénior
![]() Inscription : septembre 2004 Messages : 5 421 ![]() |
mysql_fetch_object retourne un objet avec les propriétés qui correspondent à la ligne récupérée, ou FALSE s'il n'y a plus de lignes. (CF doc)
|
|
|
00
|
|
|
#15 |
|
Membre chevronné
![]() |
En fait quand j'ai repris ton code pour modifier le null. Je voulais surtout transformer le mysql_pconnect en mysql_connect. Cela ne résoudra pas ton problème et c'est une bonne habitude à prendre de ne pas utiliser mysql_pconnect sauf dans des cas très précis auxquels je n'ai encore jamais eu à faire face.
|
|
|
00
|
|
|
#16 |
|
Invité régulier
![]() Inscription : avril 2004 Messages : 102 ![]() |
Je suis d'accord avec toi, mais pourquoi celà ne fonctionne-t-il pas ?
Petite précision : ce problème n'apparaît que lorsque que j'introduis un mauvais login et/ou mot de passe, dans le cas contraire, ça fonctionne. Ceci prouve bien que la connexion à la DB se passe sans problème. |
|
|
00
|
|
|
#17 | |
|
Invité régulier
![]() Inscription : avril 2004 Messages : 102 ![]() |
Citation:
Lors de ma (courte) formation PHP, l'utilisation du mysql_pconnect était conseillée. D'un autre côté, pas mal de personne recommande plutôt le mysql_connect. Peux-tu expliquer ton point de vue ? |
|
|
|
00
|
|
|
#18 |
|
Membre émérite
![]() ![]() Inscription : novembre 2004 Messages : 735 ![]() |
Pour ma part, je n'utilise pas de connexion persistante car dans mes applications mes pages sont généralement indépendantes les unes des autres.
Même entre l'affichage d'infos et une eventuelle nouvelle requete, il peut s'écouler un laps de temps non négligeable pendant laquelle la connexion reste ouverte si celle-ci a été ouverte en mode persistant. D'ailleurs dans la doc, ils avertissent bien que l'tulilistaion de connexions persistantes requiert un paramétrage fin d'apache et de mysql pour éviter la saturation.
__________________
Pierre 1. Dans le manuel ( PHP, MySQL,..., rayez la mention inutile), tu te plongeras à deux fois plutôt qu'aucune. 2. Dans la doc php, tu liras attentivement les sections Chaines de caractères, Tableaux et Système de fichiers 3. Un code rapide c'est bien, un code maintenable c'est mieux ... Why was the font tag an orphan ? Because it didn't have a font-family. |
|
|
00
|
|
|
#19 | ||
|
Invité régulier
![]() Inscription : avril 2004 Messages : 102 ![]() |
Merci pour cette précision.
En ce qui concerne mon problème, je progresse un peu. Avec le code complet suivant : Citation:
Citation:
Une idée ??? Merci d'avance. |
||
|
|
00
|
|
|
#20 | ||
|
Membre émérite
![]() ![]() Inscription : novembre 2004 Messages : 735 ![]() |
Oui car tu n'utilise pas la méthode que je t'ai donné à savoir toujours testé le nombre de lignes retournées par une requete de type select
Car si aucune ligne n'est renvoyée, alors le mysql_object renvoie rien. Code :
__________________
Pierre 1. Dans le manuel ( PHP, MySQL,..., rayez la mention inutile), tu te plongeras à deux fois plutôt qu'aucune. 2. Dans la doc php, tu liras attentivement les sections Chaines de caractères, Tableaux et Système de fichiers 3. Un code rapide c'est bien, un code maintenable c'est mieux ... Why was the font tag an orphan ? Because it didn't have a font-family. |
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com