Modifier un enregistrement
Bonjour,
objectif du code de ma page : donner la possibilité à l'utilisateur de modifier son adresse mail.
Je rencontre 2 problèmes :
Mon premier souci est que je voudrai afficher un message si je ne trouve pas l'adresse indiquée.
Mon deuxième souci est que je n'arrive pas à modifier l'enregistrement.
Le code de ma page :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71
| <?php
//partie pour modification adresse mail
if (isset($_POST['id'])) $id = $_POST['id'];
else $id = "";
if (isset($_POST['mail_origine'])) $mail_origine = $_POST['mail_origine'];
else $mail_origine = "";
if (isset($_POST['mail_new'])) $mail_new = $_POST['mail_new'];
else $mail_new = "";
if (isset($_POST['mail_new1'])) $mail_new1 = $_POST['mail_new1'];
else $mail_new1 = "";
if (!empty($mail_new) && !empty($mail_new1)){
if ($mail_new <> $mail_new1){
$message = "Les adresses internet ne correspondent pas. Merci de recommencer.";
}
}
if (!empty($_POST['mail_new'])){
$adresse_mail=htmlentities($_POST['mail_new']);
if(!VerifierAdresseMail($adresse_mail)){
$message = "L'adresse internet n'est pas valide";
}
}
if (isset($_POST['effacer'])){
$mail_new = "";
$mail_new1 = "";
}
if (isset($_POST['enregistrer'])){
if (empty($message)){
modifier_membre($mail);
$message1 = "Votre adresse mail a bien été modifiée";
}
}
?>
<br><br>
<FORM NAME="modifier_mail" ACTION="index.php?page=devenir_membre" METHOD="post">
<table border="0px" style="margin-left:45px">
<tr height="35px">
<td width="350px">Pour modifier votre adresse internet, indiquer <br>votre adresse internet actuelle puis valider </td>
<td width="250px"><INPUT type="text" value="<?php echo $mail_origine; ?>" name="mail_origine" size="30"></td>
<td width="100px"><input name="valider" type="image" value="submit" src="images/valider.png"></td>
</tr>
<tr height="35px"><td colspan = 2 >
<?php
if (isset($_POST['valider'])){
if (!empty($mail_origine)){
$result = mysql_query("SELECT * FROM membres WHERE mail = '$mail_origine'");
$row = mysql_fetch_row($result);?>
<span style="color:blue"> Si vous êtes bien <span style= "font-weight: bold"><?php echo $row[3]; echo " ";
echo $row[2];?> </span> ,modifiez votre adresse ci-dessous, puis valider.</span>
<input type="text" name="id" value="<?php echo $row[0];?>"><?php
}
}?> </td>
<tr height="35px"><td >Indiquer votre nouvelle adresse internet</td>
<td width="250px"><INPUT type="text" value="<?php echo $mail_new; ?>" name="mail_new" size="30"></td>
</tr>
<tr height="35px"><td>Confirmer votre nouvelle adresse internet</td>
<td width="250px"><INPUT type="text" value="<?php echo $mail_new1; ?>" name="mail_new1" size="30"></td>
</tr>
<tr height="35px">
<td align="center"><input name="effacer" src="images/annuler.png" value="submit" type="image" alt=""></td>
<td align="center" id="menu"><input name="enregistrer" src="images/enregistrer.png" value="submit" type="image" alt="" ></td>
</tr>
</table>
</form>
<?php
echo "<p style='margin-left:165px; color:red'>$message </p>";
echo "<p style='margin-left:165px; color:blue'>$message1 </p>";
$message = "";
$message1 = "";
?> |
La requête qui ne fonctionne pas :
Code:
1 2 3 4 5 6
|
// Modifier une adresse mail
function modifier_membre($mail){
$sql = "UPDATE membres SET mail = '$mail_new' WHERE id = $id";
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
} |
J'obtiens les messages suivants :
Citation:
Notice: Undefined variable: mail_new in C:\Weblocal\Sites\association-culturelle\fonctionsphp.php on line 26
Notice: Undefined variable: id in C:\Weblocal\Sites\association-culturelle\fonctionsphp.php on line 26
Erreur SQL !UPDATE membres SET mail = '' WHERE id =
Erreur de syntaxe près de '' à la ligne 1
Il y a bien longtemps que je n'ai pas travaillé sur les BDD !! Merci de votre indulgence
Et merci pour aide