probleme avec cryptage md5 dans formulaire

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 : probleme avec cryptage md5 dans formulaire

Re: probleme avec cryptage md5 dans formulaire

par charabia » 15 août 2009, 22:05

Avant tout, indente correctement ton code, tu verras beaucoup mieux la provenance de ton erreur.

Re: probleme avec cryptage md5 dans formulaire

par AB » 14 août 2009, 17:19

Sinon il y a un tuto sur le sujet ici (avec code complet que tu pourrais adapter à tes besoins)

Re: probleme avec cryptage md5 dans formulaire

par stefanelle » 14 août 2009, 15:48

Merci pour la réponse mais la il n'enregistre plus les donnés dans la base aucune il reagit comme si c'etait ok mais ca ne l est pas ....

EDIT: pardon ca fonctionne mais toujours pas de hashage ...

Re: probleme avec cryptage md5 dans formulaire

par enneite » 14 août 2009, 15:27

Code : Tout sélectionner

if (isset($_POST['submit'])) { if (!$_POST['nom'] | !$_POST['prenom'] | !$_POST['mail'] | !$_POST['username'] | !$_POST['pass'] | !$_POST['pass2'] ) { echo "<script language=\"JavaScript\">\n"; echo "alert('Champs requis non remplis');"; echo 'window.history.back();'; echo "</script>"; } elseif (!get_magic_quotes_gpc()) { $usercheck = $_POST['username']; $check = mysql_query("SELECT username FROM users WHERE username = '$usercheck'") or die(mysql_error()); $check2 = mysql_num_rows($check); $_POST['username'] = addslashes($_POST['username']); } //if the name exists it gives an error elseif ($check2 != 0) { echo "<script language=\"JavaScript\">\n"; echo "alert('Utilisateur déjà utilisé');"; echo 'window.history.back();'; echo "</script>"; } // this makes sure both passwords entered match elseif ($_POST['pass'] != $_POST['pass2']) { echo "<script language=\"JavaScript\">\n"; echo "alert('Ls mots de passe ne correspondent pas');"; echo 'window.history.back();'; echo "</script>"; } elseif (!get_magic_quotes_gpc()) { [b]$_POST['pass'] = md5($_POST['pass']);[/b] $_POST['pass'] = addslashes($_POST['pass']); $_POST['username'] = addslashes($_POST['username']); } else { $email = $_POST['mail']; $verif="!^[a-zA-Z0-9._-]+@[a-zA-Z0-9._-]{2,}\.[a-zA-Z]{2,4}$!"; //pour analysé l'email if(preg_match($verif,$email)){ $insert = "INSERT INTO users (nom, prenom, telephone, mail, adresse, cp, ville, username, password) VALUES ('".$_POST['nom']."', '".$_POST['prenom']."', '".$_POST['telephone']."', '".$_POST['mail']."', '".$_POST['adresse']."', '".$_POST['cp']."', '".$_POST['ville']."', '".$_POST['username']."', '".$_POST['pass']."' )"; $add_member = mysql_query($insert); echo "<script language=\"JavaScript\">\n"; echo "window.location.href = 'index.php'"; echo "</script>"; } } else { echo "<script language=\"JavaScript\">\n"; echo "alert('Email non valide');"; echo 'window.history.back();'; echo "</script>"; }

probleme avec cryptage md5 dans formulaire

par stefanelle » 14 août 2009, 14:57

Bonjour a tous j ai ce formulaire d'inscription je passe par des elseif pour mettre en condition le remplissage des champs mais j ai un paramètre celui du cryptage qui ne fonctionne pas si je le mets hors des elseif j ai un message d'erreur
syntax error unexpected T_ELSEIF
et si j insere ces paramètres dans mes accolades elseif bah il ne marche plus...

ce paramètres est en gras dans le code ci dessous

code avec paramètre dans les elseif:

Code : Tout sélectionner

if (isset($_POST['submit'])) { if (!$_POST['nom'] | !$_POST['prenom'] | !$_POST['mail'] | !$_POST['username'] | !$_POST['pass'] | !$_POST['pass2'] ) { echo "<script language=\"JavaScript\">\n"; echo "alert('Champs requis non remplis');"; echo 'window.history.back();'; echo "</script>"; } elseif (!get_magic_quotes_gpc()) { $usercheck = $_POST['username']; $check = mysql_query("SELECT username FROM users WHERE username = '$usercheck'") or die(mysql_error()); $check2 = mysql_num_rows($check); $_POST['username'] = addslashes($_POST['username']); } //if the name exists it gives an error elseif ($check2 != 0) { echo "<script language=\"JavaScript\">\n"; echo "alert('Utilisateur déjà utilisé');"; echo 'window.history.back();'; echo "</script>"; } // this makes sure both passwords entered match elseif ($_POST['pass'] != $_POST['pass2']) { echo "<script language=\"JavaScript\">\n"; echo "alert('Ls mots de passe ne correspondent pas');"; echo 'window.history.back();'; echo "</script>"; } elseif (!get_magic_quotes_gpc()) { [b]$_POST['pass'] = md5($_POST['pass']);[/b] $_POST['pass'] = addslashes($_POST['pass']); $_POST['username'] = addslashes($_POST['username']); } else { $email = $_POST['mail']; $verif="!^[a-zA-Z0-9._-]+@[a-zA-Z0-9._-]{2,}\.[a-zA-Z]{2,4}$!"; //pour analysé l'email if(preg_match($verif,$email)){ $insert = "INSERT INTO users (nom, prenom, telephone, mail, adresse, cp, ville, username, password) VALUES ('".$_POST['nom']."', '".$_POST['prenom']."', '".$_POST['telephone']."', '".$_POST['mail']."', '".$_POST['adresse']."', '".$_POST['cp']."', '".$_POST['ville']."', '".$_POST['username']."', '".$_POST['pass']."' )"; $add_member = mysql_query($insert); echo "<script language=\"JavaScript\">\n"; echo "window.location.href = 'index.php'"; echo "</script>"; } else { echo "<script language=\"JavaScript\">\n"; echo "alert('Email non valide');"; echo 'window.history.back();'; echo "</script>"; } } }