Page 1 sur 1

authentification user/password Mysql ne marche pas

Posté : 03 mars 2006, 13:19
par troudball
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!

Posté : 03 mars 2006, 13:32
par mario
affiche tes requêtes SQL dans ton navigateur avec un echo.
Copie le resultat et colle le dans PhpMyAdmin pour visualiser les enregistrements.

Posté : 03 mars 2006, 13:54
par troudball
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.

Posté : 06 mars 2006, 17:33
par troudball
un p'tit coup de main? :D

Posté : 09 mars 2006, 10:31
par troudball
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+

Posté : 09 mars 2006, 10:32
par charabia
En haut à gauche du sujet tu as un bouton "mettre résolu" ;)