j'ai un formulaire de changement de mot de passe sur lequel je voudrais rajouter la condition de vérification de remplissage de tous les champs.
Si un champ manque, j'affiche une erreur idem pour tout les champs, le formulaire ne sera pas envoyé.
Je vous joins mon code :
Un grand merci pour votre aide...
<?php
if(!empty($_POST['ancien_mot_passe']) && !empty($_POST['nouveau1_mot_passe']) && !empty($_POST['nouveau2_mot_passe']))//chagement de mot de passe
{
//sécurisation des variables
$ancien_mot_passe = mysql_real_escape_string(htmlspecialchars($_POST['ancien_mot_passe']));
$nouveau1_mot_passe = mysql_real_escape_string(htmlspecialchars($_POST['nouveau1_mot_passe']));
$nouveau2_mot_passe = mysql_real_escape_string(htmlspecialchars($_POST['nouveau2_mot_passe']));
//vérification de l'exactitude de l'ancien mot de passe
$sql_infos = mysql_query('SELECT mot_passe FROM '.$prefix.'membres WHERE id='.$_SESSION[$prefix.'id']);
$donnees = mysql_fetch_array($sql_infos);
$ancien_mot_passe_hash = md5($ancien_mot_passe);
if ($ancien_mot_passe_hash == $donnees['mot_passe']) //vérification par mesure de sécurité
{
if ($nouveau1_mot_passe == $nouveau2_mot_passe) //si les deux mots de passe sont bons, alors on change de mot de passe
{
$mot_passe = md5($nouveau1_mot_passe);
mysql_query('UPDATE '.$prefix."membres SET mot_passe='".$mot_passe."' WHERE id='".$_SESSION[$prefix.'id']."'")or die(mysql_error());
echo stop($lang['mot_pass_change'],'modifier_profil.php');
mail("".$_POST['email']."","Changement de mot de passe","Cher(e) ".$_POST['pseudo'].",\n\nVous venez de changer votre mot de passe.\n\nVotre nouveau mote de passe de connexion est le suivante :\n\nMot de passe : ".$_POST['nouveau1_mot_passe']."\n\nConnectez vous maintenant sur http://www..\n\n","From: Espace membre <[email protected]>\r\n");
}
else
{
echo stop($lang['nouveau_mot_passe_different'], 'modifier_profil.php?action=modifier_mot_passe');
}
}
else
{
//on indique qu'il y a eu une tentative de changement de mot de passe qui n'a pas marchée, et on décrémente le compteur
if (isset($_SESSION[$prefix.'mot_passe_erreur']))
{
$_SESSION[$prefix.'mot_passe_erreur'] = $_SESSION[$prefix.'mot_passe_erreur'] - 1 ;
}
else
{
$_SESSION[$prefix.'mot_passe_erreur'] = 3 ;
}
//on informe le membre du nombre de tentatives restantes où l'on le déconnecte
if ($_SESSION[$prefix.'mot_passe_erreur'] > 0)
{
echo stop($lang['erreur'].' : '.$lang['bad_password'].'<br />'.$lang['il_ne_vous_reste_que'].' '.$_SESSION[$prefix.'mot_passe_erreur'].' '.$lang['tentatives_avant_d_etre_deconnecte'].'.', 'modifier_profil.php?action=modifier_mot_passe');
}
else
{
echo stop($lang['erreur'].' : '.$lang['bad_password'].'<br />'.$lang['desole_mais_vous_avez_ete_deconnecte'], 'index.php');
//On détruit la session
session_destroy();
//Destruction des cookies.
if (isset($_COOKIE[$prefix.'pseudo'],$_COOKIE[$prefix.'mot_passe']))
{
setcookie($prefix.'pseudo','',0);
setcookie($prefix.'mot_passe','',0);
}
}
}
}
?>