Bonjour à tous,
J'ai crée un formulaire nommé "modifier votre adresse electronique" qui integre l'ancien adresse, la nouvelle adresse ainsi que sa validation.
Il se pose tout de meme un petit problème que je ne comprends pas trop. Lorsqu'un utilisateur tente de modifier son adresse mail, rien ne se passe.
Voici le formulaire de la page de modification
if (sizeof($HTTP_POST_VARS) > 0) {
$frm = $HTTP_POST_VARS;
$message_erreur = valide_form($frm, $erreurs);
if (empty($message_erreur)) {
maj_mail($frm["nouveau_mail"]);
$noticemsg = "Votre adresse électronique a été changée...";
}
}
function valide_form(&$frm, &$erreurs) {
$erreurs = array();
$msg = "";
if (empty($frm["ancien_mail"])) {
$erreurs["ancien_mail"] = true;
$msg .= " Vous n'avez pas entré votre ancienne adresse.<br />";
} elseif (! mail_valide($frm["ancien_mail"])) {
$erreurs["ancien_mail"] = true;
$msg .= " Votre ancienne adresse n'est pas valide.<br />";
} return $msg;
}
function mail_valide() {
/* Renvoie vrai si l'adresse de l'utilisateur est valide */
global $SESSION;
$qid = mysql_query("SELECT email FROM utlisateur WHERE id_utilisateurs = '".intval($_SESSION['utilisateur']['id_utilisateurs'])."'");
return mysql_num_rows($qid);
}
function maj_mail($nouveau_mail) {
if ((mysql_num_rows(mysql_query("SELECT 1 FROM utilisateur WHERE email = '".intval($_SESSION['utilisateur']['email'])."'")
) {
$erreurs['email'] = true;
$msg['email'] = " Cette adresse électronique existe déjà";
} else {
$qid = mysql_query("
UPDATE utilisateur SET
email = '$nouveau_mail'
WHERE id_utilisateurs = '".intval($frm['id_utilisateurs'])."'
");
$requete = mysql_query($qid);
}}
<form name="entryform" method="post" action="<?php echo $_SERVER['PHP_SELF']?>">
<input class="formulaire1" type="text" name="ancien_mail" size="25" />
<input class="formulaire1" type="text" name="nouveau_mail" size="25" />
<input class="formulaire1" type="text" name="nouveau_mail2" size="25" />
<input name="submit" type="submit" class="bouton" value="Valider" />
Djinko 