Page 1 sur 1

Vérification qui ne se fait pas

Posté : 29 mai 2011, 10:57
par TRUNCKS
Bonjour à vous,

J'ai un formulaire pour entrer un login, pass et confirmation de pass.

J'ai une verification si le champ pass est vide et si la confirmation est bien la même.

Seulement il ne me fait que le deuxième vérification, à savoir si les deux pass correspondent, il ne me fait pas celle qui met une erreur si jamais il n'y a rien.

Du coup si on met les deux champs vide, cela passe aussi:

Si vous avez une idée:

Code : Tout sélectionner

if($pseudo_membre=="") {echo "Vous devez choisir un pseudo"."<br><br><a href=\"javascript:window.history.back()\">Retour</a>";exit;} if($passe_membre=="") {echo "Vous devez choisir un mot de passe"."<br><br><a href=\"javascript:window.history.back()\">Retour</a>";exit;} if($passe_membre != $passe_membre2) {echo "Les mots de passe ne sont pas identiques"."<br><br><a href=\"javascript:window.history.back()\">Retour</a>";exit;}

Re: Vérification qui ne se fait pas

Posté : 29 mai 2011, 11:42
par Ryle
S'il ne rentre pas dans le if($passe_membre==""), c'est que la variable $passe_membre n'est pas vide... vérifie et/ou rectifie sa valeur :)

Re: Vérification qui ne se fait pas

Posté : 29 mai 2011, 12:09
par TRUNCKS
Je viens de trouver, je n'avais pas pensé du tout à ça.

En fait, cela vient du cryptage du mot de passe, je le récupère comme cela:

Code : Tout sélectionner

$passe_membre = mysql_real_escape_string(sha1($_POST['passe_membre'])); $passe_membre2 = mysql_real_escape_string(sha1($_POST['passe_membre2']));
Le soucis, c'est que si maintenant je vérifie mes variable avec, il ne me laisse plus passer du tout:

Code : Tout sélectionner

if(sha1($passe_membre=="")) { echo "Vous devez choisir un mot de passe"."<br><br><a href=\"javascript:window.history.back()\">Retour</a>"; exit; } if(sha1($passe_membre) != sha1($passe_membre2)) { echo "Les mots de passe ne sont pas identiques"."<br><br><a href=\"javascript:window.history.back()\">Retour</a>"; exit;

Re: Vérification qui ne se fait pas

Posté : 29 mai 2011, 13:45
par Ryle
En l'occurrence ici, if(sha1($passe_membre=="")), tu cryptes le résultat de la comparaison entre ton mot de passe crypté et une chaine vide....

Mais quand bien même, crypter le mot de passe déjà crypté, ou crypter une chaine vide pour la comparer au mot de passe crypté est pas forcément ce qu'il y a de plus judicieux... pourquoi ne pas tout simplement tester la valeur postée ?
 if ($_POST['passe_membre']=="") 

Re: Vérification qui ne se fait pas

Posté : 29 mai 2011, 14:35
par TRUNCKS
Génial, j'avais complètement pas pensé à cette possibilité.

Merci encore !