Problème PHP (LOGIN)

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Problème PHP (LOGIN)

par AB » 05 mars 2009, 19:12

Et si un jour tu utilises sha1 (plus performant que le md5) n'oublie pas de mettre varchar 40

par ffx » 05 mars 2009, 18:14

La taille d'une chaine md5 : 32 caractères
varchar(32)
merci.... de l'info (personnellement j'ai jamais utilisé md5 je savait pas que sa existait.)

Je vais testé

par Sodams » 05 mars 2009, 18:11

La taille d'une chaine md5 : 32 caractères
varchar(32)

par ffx » 05 mars 2009, 18:02

A trouver comment modifier ta table si le champs est en VARCHAR(20)
je sais comment changer.... mais pour mettre quoi a la place?

un champs typique au mot de passe crypté?

par Sodams » 05 mars 2009, 17:48

A trouver comment modifier ta table si le champs est en VARCHAR(20)

par ffx » 05 mars 2009, 17:21

je vois pas en quoi sa pourrais m'aide.... soit

par Sodams » 05 mars 2009, 16:57

par ffx » 05 mars 2009, 16:33

Regarde au niveau de ta base de donnée.
PHPMyAdmin surement.
voir quoi? la j'ai mon mdp(20) je doit le changer en quoi?

par Sodams » 05 mars 2009, 16:11

Regarde au niveau de ta base de donnée.
PHPMyAdmin surement.

par ffx » 05 mars 2009, 15:52

Evidemment si tu ne connais pas l'encryptage utilisé pour tes mdp enregistrés dans la bdd ça va être difficile. En tous cas cela ne génère pas du hash md5 puisque ce sont des chaines de 32 caractères (et 40 pour le sha1).
Pourtant dans ton script tu as
if(md5($_POST["bt_mdp"]) != $row["mdp"]) 
ce qui laisse à penser que tes mdp devraient être enregistrés dans ta bdd avec md5.

Donc soit tu as un un pb avec ton script d'inscription, soit ton champ mdp est de type varchar 20 ce qui tronque l'enregistrement md5 et cause le pb.
et comment je pourrais le voir? (varchar(20) pour le mdp)

par AB » 05 mars 2009, 15:47

Evidemment si tu ne connais pas l'encryptage utilisé pour tes mdp enregistrés dans la bdd ça va être difficile. En tous cas cela ne génère pas du hash md5 puisque ce sont des chaines de 32 caractères (et 40 pour le sha1).
Pourtant dans ton script tu as
if(md5($_POST["bt_mdp"]) != $row["mdp"]) 
ce qui laisse à penser que tes mdp devraient être enregistrés dans ta bdd avec md5.

Donc soit tu as un un pb avec ton script d'inscription, soit ton champ mdp est de type varchar 20 ce qui tronque l'enregistrement md5 et cause le pb.

par Ryle » 05 mars 2009, 15:12

Modération :
ffx, afin d'améliorer la lisibilité de ton message,
pense à utiliser les balises [code] ou [php] (selon le langage utilisé).

Elles sont disponibles au-dessus de la zone de saisie de ton message
lorsque tu postes un nouveau message.

Peux-tu éditer ton premier message afin de les y ajouter et rendre ton code lisible ?

Des indications sont disponibles sur la manière de mettre en forme vos messages dans la FAQ

par ffx » 05 mars 2009, 14:29

echo row["mdp"]; au lieu de echo row["mdp"]);
Autant pour moi :-)
Oui j'ai vu aussi juste après avoir poster. donc:

fb5c45bf34c0a9a937163899dec330e1 = echo md5($_POST["bt_mdp"])
c5470237f9a2f04f64ac = echo $row["mdp"]

apparament sa rentre pas le bon mdp de celui de la db

par Sodams » 05 mars 2009, 14:25

echo row["mdp"]; au lieu de echo row["mdp"]);
Autant pour moi :-)

par ffx » 05 mars 2009, 14:23

Oui c'est bien ça.
Pour debbuger, afficher ton mot de passe et celui de ta base de donnée.
echo md5($_POST["bt_mdp"]);
echo row["mdp"]);
// Vérification du mot de passe 
if(md5($_POST["bt_mdp"]) != $row["mdp"]) 
{ 
$message = "<strong><font size='1'><center>Votre mot de passe est incorrect</font></strong></center>"; 
} 
Tu pourras ainsi déjà vérifier si les deux mots de passes sont identiques ou pas.
Celà t'aidera à identifier l'erreur.
Chaque fois que je veut verifier l'erreur j'ai cette erreur.

Parse error: parse error, expecting `','' or `';'' in c:\program files\easyphp\www\snl\login.php on line 71

mais je vois pas le probleme des ; ou ' , "