Salut!
Voila je voudrais faire uen action si des champs sont remplis.
MAis malheureusement je rencontre un probleme concernant la partie modification du mot de passe...
Formulaire:
< ?
include("include/ftpinfo.php");//connexion BDD
mysql_connect("$locate_db", " $login_db", " $pass_db") or die(mysql_error());
mysql_select_db("$db_name_db");
$pseudo = $_SESSION[´connec_pseudo´];
$info = mysql_query ( "SELECT * FROM `membre_vfa` WHERE `pseudo` = ´$pseudo´ " );//pagination
$retour = mysql_fetch_array($info);
? >
< form name="form1" method="post"
action="?page=equipe/espace&=equipe/verifica
tion">
< table width="100%" border="0">
< tr>
< td height="24" colspan="2"><div align="center"><span class="style2">Informations personnels</span></div></td>
< /tr>
< tr>
< td width="40%" height="24"><div align="center"><span class="style4">Pseudo</span>
< input type="hidden" name="modif_info">
< /div></td>
< td width="60%"><div align="center"><? echo ´<span class="style4">´ . $pseudo . ´</span>´; ? ></div></td>
< /tr>
< tr>
< td><div align="center"><span class="style4">Nom</span></div></td>
< td><div align="center">
< input name="nom" type="text" id="nom" value="<? echo $retour[´nom´]; ? >">
< /div></td>
< /tr>
< tr>
< td><div align="center"><span class="style4">Prénom</span></div></td>
< td><div align="center">
< input name="prenom" type="text" id="prenom" value="<? echo $retour[´prenom´]; ? >">
< /div></td>
< /tr>
< tr>
< td colspan="2"><div align="center"><span class="style2">Modifier votre mot de passe</span></div></td>
< /tr>
< tr>
< td><div align="center"><span class="style4">Ancien mot de passe</span><br>
< /div></td>
< td><div align="center">
< input name="old_pass" type="password" id="old_pass">
< /div></td>
< /tr>
< tr>
< td><div align="center"><span class="style4">Nouveau mot de passe</span></div></td>
< td><div align="center">
< input name="new_pass" type="password" id="news_pass">
< /div></td>
< /tr>
< tr>
< td><div align="center"><span class="style4">Confirmation nouveau mot de passe</span></div></td>
< td><div align="center">
< input name="new_pass_verif" type="password" id="news_pass_verif">
< /div></td>
< /tr>
< tr>
< td colspan="2"><div align="center"><span class="style2">Modifier votre e-mail ( < ? echo $retour[´email´]; ? > ) </span></div></td>
< /tr>
< tr>
< td><div align="center"><span class="style4">Nouvelle e-mail</span></div></td>
< td><div align="center">
< input name="new_email" type="text" id="news_email">
< /div></td>
< /tr>
< tr>
< td><div align="center"><span class="style4">Confirmation nouvelle e-mail</span></div></td>
< td><div align="center">
< input name="new_email_verif" type="text" id="news-email-verif">
< /div></td>
< /tr>
< tr>
< td><div align="center"></div></td>
< td><div align="center">
< input type="submit" name="Submit" value="Envoyer">
< /div></td>
< /tr>
< /table>
< /form>
C´est simple, avec ce bout de code(en dessous), il me met tout le temps que je le mot de passe rentré ne correspond pas au mot de passe actuel sauf si je remplis les champs nouveau pass et nouveau passs verif.
< ?
if(isset($_POST[´modif_info´]))//Partie modification info perso
{
$pseudo = $_SESSION[´connec_pseudo´];
$donnee = mysql_query("SELECT * FROM `membre_vfa` WHERE `pseudo` = ´$pseudo´ " );
$donnee_membre = mysql_fetch_array($donnee);
$nom = addslashes ( htmlentities ( $_POST[´nom´]));
$prenom = addslashes ( htmlentities ( $_POST[´prenom´]));
$old_pass = md5 ( addslashes ( htmlentities ( $_POST[´old_pass´])));
$new_pass = md5 ( addslashes ( htmlentities ( $_POST[´new_pass´])));
$new_pass_verif = md5 ( addslashes ( htmlentities ( $_POST[´new_pass_verif´])));
$new_email = addslashes ( htmlentities ( $_POST[´new_email´]));
$new_email_verif = addslashes ( htmlentities ( $_POST[´new_email_verif´]));
echo ´<br>´;
if($new_pass ! = NULL)//verif nouveau pass
{
if($new_pass_verif ! = NULL)//verif nouveau pass
{
if($new_pass == $new_pass_verif)
{
if($old_pass == $donnee_membre[´pass´])
{
mysql_query("UPDATE `membre_vfa` SET `pass` = ´$new_pass´ WHERE `pseudo` = ´$pseudo´ " );
echo ´<div class="style4">Votre mot de passe à bien été modifié<br/></div>´;
}
else
{echo ´<div align="center">Le mot de passe que vous avez entré ne correspond pas à votre mot de passe actuel.<br/></div>´;}
}
else
{echo ´<div align="center">Vous avez mal tapé la confirmation de votre mot de passe.<br/></div>´;}
}
}
if($new_email ! = NULL)//verif nouveau email
{
if ( $new_email_verif ! = NULL)
{
if($new_email == $new_email_verif)
{
$motif =
´`^[-_a-zA-Z0-9]+(\.[-_a-zA-Z0-9]+)*@[-a-zA-Z0-9]+
\.[a-z]+(\.[a-z]+)*$`´ ;
if ( preg_match ( $motif, $new_email) )
{
mysql_query("UPDATE `membre_vfa` SET `email` = ´$new_email´ WHERE `pseudo` = ´$pseudo´ " );
echo ´<div align="center">Votre email à bien été modifié.<br/></div>´;
}
else
{echo ´<div align="center">Vous devez entrer un email valide.<br/></div>´;}
}
else
{echo ´<div align="center">Vous avez mal tapé la confirmation de votre email.</div>´;}
}
}
mysql_query("UPDATE `membre_vfa` SET `nom` = ´$nom´, `prenom` = ´$prenom´ WHERE `pseudo` = ´$pseudo´ " );
echo ´<br>´;
}
? >
Et si à cet endroit je remplace ! = NULL par isset, alros la il ne m´affiche plsu rien quoi que je fasse!
< ?
if($new_pass ! = NULL)//verif nouveau pass
{
if($new_pass_verif ! = NULL)//verif nouveau pass
{
? >
JE voudrias implement quil verifie si le champs new_pass et new_pass_verif soient remplis, et si c´est le cas et que en plus $old_pass == $donnee_membre[´pass´] alors il met a jour les valeurs mais je n´y arrive pas
Si quelqu´un pouvait m´aider!
merci