Bonjour à toutes et à tous
J'ai créé un site custom avec une structure basique.
Une page index.php qui contient:
. include entete.php
. include.navigation.php
. include corpsdepage.php?page=x (x prenant différentes valeurs suivant ce qui est appelé au niveau de la navigation)
. include pied.php
L'un de mes corpsdepage.php est une inscription à une newsletter - FORMULAIRE 1
Mon pied.php contient lui un formulaire de contact - FORMULAIRE 2
Chacun de mes formulaires affiche un message de validation dès lors qu'ils ont été complétés/ validés.
Mon problème est que mon FORMULAIRE 1 - affiche le message de validation du FORMULAIRE 2, puis son propre message.
Et je ne comprends pas trop pourquoi
Message de validation du FORMULAIRE 2: J'ai bien reçu votre message. J'essaie d'y répondre lorsque le temps me le permet
Le reste est le message du FORMULAIRE 1.
Je n'arrive pas à trouver (ou comprendre) ce qui occasionne ce résultat et comment faire rentrer les choses dans l'ordre
Formulaire 2 - Situé dans pied.php:
Formulaire 1 - Situé dans corpsdepage.php:
Code : 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
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197 <div class = "footer_n_2_contact"> <p>Pour me contacter, c'est ici que ça se passe:</p> <?php //Si $_SESSION n'existe pas alors nous lui attribuons la page 1 comme référence if(!isset($_SESSION['page_active'])) { $_SESSION['page_active'] = 1; } ?> <form id="footer_n_2_contact_formulaire" method="post" action="index.php?page=<?php echo $_SESSION['page_active']; ?>#footer_n_2_contact_formulaire"> <table class = "footer_n_2_contact_formulaire_tableau"> <tr> <td><label> Ton nom: </label></td> <td><input type ="text" name="footer_n_2_nom" placeholder="Facultatif"/></br></td> </tr> <tr> <td><label> Ton prénom: </label></td> <td><input type ="text" name="footer_n_2_prenom" placeholder="A minima votre pseudo"/></br></td> </tr> <tr> <td><label> Ton email: </label></td> <td><input type ="email" name="footer_n_2_email" placeholder="Pour vous répondre"/></br></td> </tr> <tr> <td><label> Merci d'écrire ton message: </label></td> <td><textarea name="footer_n_2_texte" placeholder="Ecris ton message ici"/></textarea></br></td> </tr> </table> <p> </br> <input class="footer_n_2_envoyer" type="submit" value="Envoyer"/> </p> <?php // Traitement du formulaire if(isset($_POST['footer_n_2_nom']) AND isset($_POST['footer_n_2_prenom']) AND isset($_POST['footer_n_2_email']) AND isset($_POST['footer_n_2_texte'])) { // Je vérifie si toutes les cases sont bien complétées if(!empty($_POST['footer_n_2_nom'])) { $footer_n_2_nom = "OK"; // Je protège la donnée contre une injection de code $footer_n_2_nom_protect = htmlspecialchars($_POST['footer_n_2_nom']); } else { $footer_n_2_nom = "VIDE"; } if(!empty($_POST['footer_n_2_prenom'])) { $footer_n_2_prenom = "OK"; // Je protège la donnée contre une injection de code $footer_n_2_prenom_protect = htmlspecialchars($_POST['footer_n_2_prenom']); } else { $footer_n_2_prenom = "VIDE"; } if(!empty($_POST['footer_n_2_email'])) { $footer_n_2_email = "OK"; // Je protège la donnée contre une injection de code $footer_n_2_email_protect = htmlspecialchars($_POST['footer_n_2_email']); } else { $footer_n_2_email = "VIDE"; } if(!empty($_POST['footer_n_2_texte'])) { $footer_n_2_texte = "OK"; // Je protège la donnée contre une injection de code $footer_n_2_texte_protect = htmlspecialchars($_POST['footer_n_2_texte']); } else { $footer_n_2_texte = "VIDE"; } //Si toutes les cases sont complétées, je peux envoyer mon formulaire par email if ($footer_n_2_prenom == "OK" AND $footer_n_2_email == "OK" AND $footer_n_2_texte == "OK") { //Création de passage à la ligne $passage_ligne = "\n"; //Création de l'entête $headers = 'From: "Titre"<adresse@youpi.com">'.$passage_ligne; $headers.= 'Reply-To: ' .$footer_n_2_email_protect.$passage_ligne; $headers.= 'MIME-Version: 1.0' .$passage_ligne;; $headers.= 'Content-Type: multipart/alternative; charset="iso-8859-1"'.$passage_ligne; //Création du message $message_txt ='Bonjour '.$footer_n_2_prenom_protect.', J\'ai bien reçu ton message et je t\'en remercie. Je te réponds dans les meilleurs délais. Tu trouveras ci-dessous le récapitulatif de ton message. Ton nom: ' .$footer_n_2_nom_protect.' Ton prénom: '.$footer_n_2_prenom_protect.' Ton e-mail: ' .$footer_n_2_email_protect.' Ton message: ' .$footer_n_2_texte_protect.' Si tu souhaites modifier ces informations, je t\'invite à utiliser de nouveau le formulaire de contact. Je te souhaite une bonne journée, BOU59000' ; $message_html = '<html> <head> <title>Titre</title> </head> <body> Bonjour '.$footer_n_2_prenom_protect.', </br></br> J\'ai bien reçu ton message et je t\'en remercie. </br> Je te réponds dans les meilleurs délais. </br> Tu trouveras ci-dessous le récapitulatif de ta demande. </br></br> Ton nom: ' .$footer_n_2_nom_protect.' </br> Ton prénom: '.$footer_n_2_prenom_protect.' </br> Ton e-mail: ' .$footer_n_2_email_protect.' </br> Ton message: ' .$footer_n_2_texte_protect.' </br></br> Si tu souhaites modifier ces informations, </br> je t\'invite à utiliser de nouveau le formulaire de contact. </br> Je te souhaite une bonne journée, </br></br> BOU59000 </body> </html>'; //Création de la variable message $message = $passage_ligne; $message .= "Content type: multipart/alternative;" .$passage_ligne; $message .= "Content-type: text/plain; charset=\"ISO-8859-1\"".$passage_ligne; $message .= $passage_ligne.$message_txt.$passage_ligne; $message .="Content-Type: text/html; charset=\"ISO-8859-1\"".$passage_ligne; $message .="Content-Transfer-Encoding: 8bits".$passage_ligne; $message .=$passage_ligne.$message_html.$passage_ligne; //Je complète la variable d'envoi pour l'utilisateur et pour nous mail($footer_n_2_email_protect, 'Titre - Votre message', $message_txt); $_SESSION['Formu_Envoie'] = "OUI"; echo "J'ai bien reçu ton message. J'essaie d'y répondre lorsque le temps me le permet"; mail('adresse@youpi.com', 'Titre - Ton message', $message_txt); } else { //Certains champs ne sont pas complétés, j'indique ici les champs echo "<p>Merci de compléter les champs suivants afin que je puisse te répondre: </br></p>"; if ($footer_n_2_prenom == "VIDE") { echo "<p>- Prénom </br></p>"; } if ($footer_n_2_email == "VIDE") { echo "<p>- Email </br></p>"; } if ($footer_n_2_texte == "VIDE") { echo "<p>- Ton message </br></p>"; } $_SESSION['Formu_Envoie'] = "NON"; } } ?> </form> </div> <!-- footer_n_2_contact--> </div>
D'avance merci pour votre aide
Code : 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
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186 <article> <div class = "cp6_n_0"> <?php // ------------------------------------------------------------------------------------------------ // TRAITEMENT DU FORMULAIRE // ------------------------------------------------------------------------------------------------ // Je dispose du prénom et de l'email if(isset($_POST['cp6_n_1_prenom']) AND isset($_POST['cp6_n_1_email'])) { // Je vérifie si toutes les cases sont bien complétées if(!empty($_POST['cp6_n_1_prenom'])) { //Je protège contre l'injection de code $_cp6_newsletter_prenom_protect = htmlspecialchars($_POST['cp6_n_1_prenom']); $_cp6_newsletter_prenom_statut = "OK"; } else { $_cp6_newsletter_prenom_statut = "VIDE"; } if(!empty($_POST['cp6_n_1_email'])) { //Je protège contre l'injection de code $_cp6_newsletter_email_protect = htmlspecialchars($_POST['cp6_n_1_email']); // Je vérifie si l'adresse email est valide if(filter_var($_cp6_newsletter_email_protect, FILTER_VALIDATE_EMAIL)) { //Email valide $_cp6_newsletter_email_statut = "OK"; } } else { $_cp6_newsletter_email_statut = "VIDE"; } ?> <div class = "cp6_n_1_newsletter_echange"> <?php // Je vais procéder ainsi // Etape 1 => je génère une entrée dans ma table newsletter // Etape 2 => je communique un email à mon nouvel abonné // Etape 3 => J'informe mon nouvel abonné qu'il doit regarder dans sa boite email // Etape 4 => Le futur abonné a cliqué sur le lien, traitement de celui ci afin d'acter son abonnement if($_cp6_newsletter_prenom_statut == "OK" AND $_cp6_newsletter_email_statut == "OK") { // Etape 1 - Je complète la table newsletter dans ma base // Connexion à la base de données try { $acces_bdd = new PDO('mysql:host=adresse;dbname=nom;charset=utf8', 'nom','mdp', array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION) ); } catch (Exception $e) { die('Erreur : ' . $e->getMessage()); } // J'insère mes données dans la table newsletter $rep=$acces_bdd->prepare('INSERT INTO newsletter(cp6_news_prenom,cp6_news_email) VALUES (:cp6_news_prenom,:cp6_news_email)'); $rep->execute(array( 'cp6_news_prenom' => $_cp6_newsletter_prenom_protect, 'cp6_news_email' => $_cp6_newsletter_email_protect )); // Etape 2 - Je communique un email à mon nouvel abonné. //Création de passage à la ligne $passage_ligne = "\n"; //Création de l'entête $headers = 'From: "Titre"<adresse@youpi.com">'.$passage_ligne; $headers.= 'Reply-To: ' .$_cp6_newsletter_email_protect.$passage_ligne; $headers.= 'MIME-Version: 1.0' .$passage_ligne;; $headers.= 'Content-Type: multipart/alternative; charset="iso-8859-1"'.$passage_ligne; //Création du message $message_txt ='Bonjour '.$_cp6_newsletter_prenom_protect.', J\'ai bien reçu ta demande d\' inscription à ma newsletter et je t\'en remercie. Il semblerait que ta boite mail n\'accepte pas les contenus interactifs. Aucun problème! Il existe une solution pour tout! Afin de finaliser ton inscription, copie/colle (sans le modifier) ce lien dans ton navigateur: LIEN A très bientôt parmis nous '.$_cp6_newsletter_prenom_protect.', BOU59000' ; $message_html = '<html> <head> <title>TITRE</title> </head> <body> <strong> TITRE - Inscription à la Newsletter </strong></br></br></br> Bonjour '.$_cp6_newsletter_prenom_protect.', </br></br> J\'ai bien reçu ta demande d\' inscription à ma newsletter et je t\'en remercie. </br></br> Afin de finaliser ton inscription, clique sur le lien ci-dessous: </br></br> LIEN A très bientôt parmis nous '.$_cp6_newsletter_prenom_protect.',</br></br> BOU59000 </body> </html>'; // Etape 3 - J'informe mon futur abonné qu'il doit regarder dans sa boite email echo 'Bonjour '.$_cp6_newsletter_prenom_protect.'</br>'; echo 'Tout d\'abord merci pour ta demande d\'inscription à ma newsletter.</br>'; echo 'Je t\'ai envoyé un e-mail suite à celle-ci. </br>'; echo 'Cet mail contient un lien qui te permet d\'activer ton inscription. </br>' ; echo 'BOU59000' ; echo '</br></br></br> Si tu ne vois pas mon email, il a peut-être été classé dans tes spams... </br>' ; echo 'Pense à regarder de ce côté là. </br>' ; echo 'Si tu ne le trouves vraiment pas, tu peux me contacter <a href = "index.php?page=5"> via le formulaire de contact</a>. </br>' ; } ?> </div> <!-- cp6_n_1_newsletter_echange --> <?php } // ------------------------------------------------------------------------------------------------ // VALIDATION DU COMPTE UTILISATEUR // ------------------------------------------------------------------------------------------------ // SUPPRIME - // Je ne dispose pas du prénom et/ ou de l'email else { ?> <div class = "cp6_n_1"> <form id="cp6_n_1_newsletter" method="post" action="index.php?page=6"> <p class="strong"> Pour t'inscrire à ma newsletter c'est par ici... </p> <p class="centrer"> Reste informé(e) des nouveautés avant tout le monde et tout celà en moins de 2min! </p> <table> <tr> <td><label> Ton prénom: </label></td> <td><input type ="text" name="cp6_n_1_prenom" placeholder="Inscris ton prénom ici"/></br></td> </tr> <tr> <td><label> Ton e-mail: </label></td> <td><input type ="email" name="cp6_n_1_email" placeholder="Pour vous répondre"/></br></td> </tr> </table> <p> <input class="cp6_n_1_envoyer" type="submit" value="Envoyer"/> </p> </div> </form> </div> <!-- cp6_n_1 --> <?php } ?> </div> <!-- cp6_n_0 --> </article>
Partager