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 php : Sélectionner tout - Visualiser dans une fenêtre à part
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 :
J'obtiens les messages suivants :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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()); }
Il y a bien longtemps que je n'ai pas travaillé sur les BDD !! Merci de votre indulgenceNotice: 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
Et merci pour aide
Partager