authentification user/password Mysql ne marche pas

Eléphant du PHP | 101 Messages

03 mars 2006, 13:19

Salut la compagnie,

Voici mon problème :
J'ai une connection avec une database, un seul problème persiste, l'autentification : je peux ajouter un user(dans la database) via script php sans problème, je peux aussi interroger la database pour afficher des informations. Mais je n'arrive pas à me connecter via un classique login/user (via form php). Chose encore plus étrange, ce problème n'existe pas sur la plateforme Linux. Ce n'est qu'un problème sur Windows (Wamp5). Je flaire déjà d'ou vient le probleme mais je n'ai toujours pas réussi à le résoudre :

Comme je l'ai déjà dit, je peux m'enregistrer sans problème (form php, UPDATE dans la database), et en fait quand je vais dans phpmyadmin, les nouveaux utilisateurs sont insérés sans problème. En fait quand j'essaye de me connecter j'ai le message (de mon script php) 'login failure' en gros l'authentification n'arrive pas à associer l' 'user' et son 'password'. C'est surement un problème cryptage du mot de passe mais j'ai déjà essayé un paquet de cryptages différents (PASSWORD(), OLD_PASSWORD(), ENCRYPT(),...) sans que cela ne change rien.

Je suis bloqué et je ne plus quoi faire (à part n'utiliser uniquement que Linux Smile)

A+ et merci d'avance pour votre aide!
nan!

Mammouth du PHP | 768 Messages

03 mars 2006, 13:32

affiche tes requêtes SQL dans ton navigateur avec un echo.
Copie le resultat et colle le dans PhpMyAdmin pour visualiser les enregistrements.
M A R I O
Si une patte de lapin porte bonheur, qu'a-t-il bien pu arriver au lapin ?

Eléphant du PHP | 101 Messages

03 mars 2006, 13:54

Ciao Mario, comme stai? :)

Non, les enregistrements dans la database fonctionne très bien, c'est çà qui ne passe pas :

Code : Tout sélectionner

select * from admin where password = password('$password')"
c'est précisement le cryptage qui déconne car si je fais :

Code : Tout sélectionner

select * from admin where password = '$password'
en ayant reconfiguré le password sans fonction de cryptage, çà fonctionne bien.
nan!

Eléphant du PHP | 101 Messages

06 mars 2006, 17:33

un p'tit coup de main? :D
nan!

Eléphant du PHP | 101 Messages

09 mars 2006, 10:31

Je viens d'avoir la réponse :

c'était un problème de largeur de champs dans MySQL, j'avais mal défini ma table dans MySQL, le champs "PASSWORD" était défini comme char(16), or le cryptage via password génére un code de 40 caractère, le problème était donc là!

Comment mettre "résolu"? :)
A+
nan!

Avatar du membre
ViPHP
ViPHP | 3008 Messages

09 mars 2006, 10:32

En haut à gauche du sujet tu as un bouton "mettre résolu" ;)