Vérifier que les mdp sont identiques

Fermé
bourdel(14) Messages postés 5 Date d'inscription dimanche 12 mai 2013 Statut Membre Dernière intervention 13 mai 2013 - 12 mai 2013 à 16:53
 JwTdd - 13 mai 2013 à 20:16
Bonjour, en ce moment je suis entrain de faire un site, mais dans mes codes, je n'arrive pas à faire en sorte que ,quand mon mdp et ma confirmation mdp sont différents, sa affiche un message d'erreur disant que les 2 mdp sont différents. merci de me repondre.

voici mon code :

<?php
$serveur = "localhost";
$utilisateur = "root";
$motdepasse = "";
$base="partir";
$email="";
$inscriptionmessage="";
$errormessage = "";
$errormessage1 = "";
$errormessage2 = "";
$errormessage3 = "";
$errormessage4 = "";
$errormessage5 = "";
$errormessage6 = "";
$errormessage7 = "";
$errormessage8 = "";
$errormessage = "";

if(isset($_POST["inscription"]))
{
if($_POST["nom"] == NULL OR $_POST["prenom"] == NULL OR $_POST["adresse"] == NULL OR $_POST["cp"] == NULL OR $_POST["ville"] == NULL OR $_POST["email"] == NULL OR $_POST["pass"] == NULL OR $_POST["pass2"] == NULL)
{
if($_POST["nom"] == NULL)
{
$errormessage1 = "<strong style='color: #A80112'>Veuillez remplir le champs nom !</strong>";
}
if($_POST["prenom"] == NULL)
{
$errormessage2 = "<strong style='color: #A80112'>Veuillez remplir le champs prénom !</strong>";
}
if ($_POST["adresse"] == NULL)
{
$errormessage3 = "<strong style='color: #A80112'>Veuillez remplir le champs adresse !</strong>";
}
if ($_POST["cp"] == NULL)
{
$errormessage4 = "<strong style='color: #A80112'>Veuillez remplir le champs cp !</strong>";
}
if ($_POST["ville"] == NULL)
{
$errormessage5 = "<strong style='color: #A80112'>Veuillez remplir le champs ville !</strong>";
}
if ($_POST["email"] == NULL)
{
$errormessage6 = "<strong style='color: #A80112'>Veuillez remplir le champs email !</strong>";
}
if ($_POST["pass"] == NULL)
{
$errormessage7 = "<strong style='color: #A80112'>Veuillez remplir le champs mot de passe !</strong>";
}
if ($_POST["pass2"] == NULL)
{
$errormessage8 = "<strong style='color: #A80112'>Veuillez remplir le champs confirmez le mot de passe !</strong>";
}
if ($_POST["pass"] != $_POST["pass2"])
{
$errormessage = "Les 2 mots de passe sont différents.";
}
else
{
$BDD = mysql_connect($serveur, $utilisateur, $motdepasse) or die("Impossible de se connecter : " . mysql_error());
mysql_select_db($base);

$sql = "INSERT INTO client(nomclt,prenomclt,adresseclt,cpclt,villeclt,email,mdp)
VALUES ('".$_POST["nom"]."','".$_POST["prenom"]."','".$_POST["adresse"]."','".$_POST["cp"]."','".$_POST["ville"]."','".$_POST["email"]."','".$_POST["pass"]."')";
$req = mysql_query($sql);
$inscriptionmessage = "<strong style='color: #A80112'>L'inscription au site a été réussie.</strong>";
}
}
include("inscription_site.php");
?>
A voir également:

3 réponses

jeremy.s Messages postés 1226 Date d'inscription lundi 28 mars 2011 Statut Membre Dernière intervention 2 septembre 2013 79
13 mai 2013 à 03:36
Salut !

Peux tu nous donné ton formulaire HTML ? (Le code)

Ensuite tu fais beaucoup trop de vérification à mon gout ...
Il te suffit de mettre l'attribut required dans tes input pour les rendre obligatoire. Ca te fais déjà moins de vérif dans ton php.

Ensuite je ne pense pas que le == null soit judicieux, le meilleur moyen de vérifier les variables en post reste : if(isset($_POST['nom']) && !empty($_POST['nom']))
4
Autumn`Tears Messages postés 1054 Date d'inscription samedi 14 mars 2009 Statut Membre Dernière intervention 23 octobre 2013 145
13 mai 2013 à 17:40
"Il te suffit de mettre l'attribut required dans tes input pour les rendre obligatoire."
Cependant il faut vérifier également côté serveur, car ceci peut constituer une faille si l'on modifie le code de la page à l'aide d'un outil comme firebug par exemple... Du moins il me semble. Je ne fais jamais confiance à une simple vérification côté client.
0
jeremy.s Messages postés 1226 Date d'inscription lundi 28 mars 2011 Statut Membre Dernière intervention 2 septembre 2013 79
13 mai 2013 à 17:43
D'accord avec toi, mais ca permet déjà de "conditionner" un certain nombre d'utilisateurs. Ensuite coté serveur rien ne vaut un isset de post et un !empty je te l'accorde :)
0
Salut, tu as un nombre impair d'accolades, donc il en manque un quelque part (ou un de trop)...
PS: Pour garder la mise en forme sur le forum il faut utiliser l'icone <> au dessus du texte (pour mettre du code).
0
bourdel(14) Messages postés 5 Date d'inscription dimanche 12 mai 2013 Statut Membre Dernière intervention 13 mai 2013
Modifié par bourdel(14) le 13/05/2013 à 18:20
voilà mon formulaire html
<html> 
 <head> 
 <link rel="stylesheet" href="style.css" type="text/css"> 
 <title>Formulaire d'inscription </title> 
</head> 
<body> 
 <table align="center"> 
 <tr> 
  <td> 
   <strong>Veuillez maintenant vous inscrire</strong> 
  </td> 
 </tr> 
 </table> 
 <form method="POST" action="inscription.php"> 
  <table align="center"> 
  <tr> 
   <td><strong><strong style='color: #A80112'>*</strong>Nom :</strong></td> 
   <td><input type="text" value="" name="nom" size="30"/><br /></td> 
   <td><?php echo $errormessage1; ?></td> 
  </tr> 
  <tr> 
   <td><strong><strong style='color: #A80112'>*</strong>Prenom :</strong></td> 
   <td><input type="text" value="" name="prenom" size="30"/><br /></td> 
   <td><?php echo $errormessage2; ?></td> 
  </tr> 
  <tr> 
   <td><strong><strong style='color: #A80112'>*</strong>Adresse :</strong></td> 
   <td><input type="text" value="" name="adresse" size="30"/><br /></td> 
   <td><?php echo $errormessage3; ?></td> 
  </tr> 
  <tr> 
   <td><strong><strong style='color: #A80112'>*</strong>Code Postal :</strong></td> 
   <td><input type="text" value="" name="cp" size="30"/><br /></td> 
   <td><?php echo $errormessage4; ?></td> 
  </tr> 
  <tr> 
   <td><strong><strong style='color: #A80112'>*</strong>Ville :</strong></td> 
   <td><input type="text" value="" name="ville" size="30"/><br /></td> 
   <td><?php echo $errormessage5; ?></td> 
  </tr> 
  <tr> 
   <td><strong><strong style='color: #A80112'>*</strong>Adresse email :</strong></td> 
   <td><input type="email" value="" name="email" size="30"/><br /></td> 
   <td><?php echo $errormessage6; ?></td> 
  </tr> 
  <tr> 
   <td><strong><strong style='color: #A80112'>*</strong>Mot de passe :</strong></td> 
   <td><input type="password" value="" name="pass" size="30"/><br /></td> 
   <td><?php echo $errormessage7; ?></td> 
  </tr> 
  <tr> 
   <td><strong><strong style='color: #A80112'>*</strong>Confirmez le mot de passe :</strong></td> 
   <td><input type="password" value="" name="pass2" size=30"/><br /></td> 
   <td><?php echo $errormessage8; ?></td> 
  </tr> 
  <tr> 
   <td> 
    <input type="Submit" name="inscription" value="inscription"><br /> 
    <input type="reset" name="Effacer" value="Effacer"><br /> 
   </td> 
  </tr> 
  </table> 
  <table align="center"> 
  <tr> 
  <td><strong style='color: #A80112'>* Champs obligatoire</strong></td> 
  </tr> 
  </table> 
  <table align="center"> 
   <tr> 
    <td><?php echo $inscriptionmessage; ?></td> 
   </tr> 
   </table> 
 </form> 
</body> 
</html>
0
bourdel(14) Messages postés 5 Date d'inscription dimanche 12 mai 2013 Statut Membre Dernière intervention 13 mai 2013
13 mai 2013 à 18:19
sa m'inscris toujours au site.. mais meme si il me manque une accolade, sa devrait me mettre error sur ma page non? parce que là, ma page ne me dit pas que j'ai d'erreur :/
0
Autumn`Tears Messages postés 1054 Date d'inscription samedi 14 mars 2009 Statut Membre Dernière intervention 23 octobre 2013 145
13 mai 2013 à 19:13
en vérité ça peut signaler une erreur, comme ça peut ne pas le faire, selon la configuration de l'affichage des erreurs. Essaie de trouver le fichier error.log dans le dossier de ton programme, éventuellement tu peux afficher simplement d debug depuis ton script PHP, comme print_r($_POST['inscription']; exit(0); au début du script qui est censé inscrire afin de voir les informations retournées.
Tu peux également retourner du debug dans tes conditions afin de voir si oui ou non ton script entre bien dans tel ou tel cas.
0
JwTdd Messages postés 21 Date d'inscription vendredi 25 janvier 2013 Statut Membre Dernière intervention 7 mai 2015 2
Modifié par JwTdd le 13/05/2013 à 19:34
 if($_POST["nom"] == NULL OR $_POST["prenom"] == NULL OR $_POST["adresse"] == NULL OR $_POST["cp"] == NULL OR $_POST["ville"] == NULL OR $_POST["email"] == NULL OR $_POST["pass"] == NULL OR $_POST["pass2"] == NULL) 
 {


la il va executer les if a l'interrieur de ce if que si au moin une info est absente , alors que quand il ya 2 mots de passes differents les "cases" peuvent etre toute remplie, je pensse que l'accolade de fermeture qu'il manque est avant if ($_POST["pass"] != $_POST["pass2"])
mais du coup il faudrais faire
 $errormessage8 = "<strong style='color: #A80112'>Veuillez remplir le champs confirmez le mot de passe !</strong>"; 
  
        } 
 } 
 elseif ($_POST["pass"] != $_POST["pass2"]) 
 { 
 $errormessage = "Les 2 mots de passe sont différents."; 
 } 
        else 
0
bourdel(14) Messages postés 5 Date d'inscription dimanche 12 mai 2013 Statut Membre Dernière intervention 13 mai 2013
13 mai 2013 à 19:42
Ok,mais dans mon formulaire, je dois mettre quoi afin que le message d'erreur s'affiche?(à côté du "confirmation mdp"?)
0
bourdel(14) Messages postés 5 Date d'inscription dimanche 12 mai 2013 Statut Membre Dernière intervention 13 mai 2013
13 mai 2013 à 19:55
sa marche merci :) mais sa marché pas avec "elseif" mais avec "elseIf" bizarre...
0