voila le code:
celui-ci ne s'affiche pas pourtant il est dans le code source de la feuilleCode:
1
2
3
4
5
6
7
8
9 if ($flag==0) { ?> <script type="text/javascript"> <!-- alert("<?php echo $msgerror;?>"); --> </script><?php }
Version imprimable
voila le code:
celui-ci ne s'affiche pas pourtant il est dans le code source de la feuilleCode:
1
2
3
4
5
6
7
8
9 if ($flag==0) { ?> <script type="text/javascript"> <!-- alert("<?php echo $msgerror;?>"); --> </script><?php }
javascript n'est pas activé ...
ie<5!
en fait j'ai un formulaire de saisi dans lequel après validation si erreurs il y a je voudrais afficher un message clair sur l'origine de la ou les erreurs je procède donc ainsi:
le message d'alerte ne s'affiche pas alors qu'il est présent dans le code source.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
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 if (!empty($_POST['bouton'])) { $msgerror=""; $flag=1; if (isset($_POST['captcha'])) { if($_POST['captcha']!=$_SESSION['code']) { } else { $flag=0; $msgerror=$msgerror."Le code anti-robot saisi n'est pas correct \n"; } } if (!empty($_POST['nom'])) { $tabchamp['nom']=1; $nom=$_POST['nom']; } else { $msgerror=$msgerror."Le champ nom est vide \n"; $flag=0; $tabchamp['nom']=0; } if (!empty($_POST['prenom'])) { $tabchamp['prenom']=1; $prenom=$_POST['prenom']; } else { $flag=0; $msgerror=$msgerror."Le champ prenom est vide \n"; $tabchamp['prenom']=0; } if (!empty($_POST['adresse'])) { $tabchamp['adresse']=1; $adresse=$_POST['adresse']; } else { $flag=0; $msgerror=$msgerror."Le champ adresse est vide \n"; $tabchamp['adresse']=0; } if (!empty($_POST['code_postal'])) { $tabchamp['code_postal']=1; $code_postal=$_POST['code_postal']; } else { $flag=0; $msgerror=$msgerror."Le champ code postal est vide \n"; $tabchamp['code_postal']=0; } if (!empty($_POST['ville'])) { $tabchamp['ville']=1; $ville=$_POST['ville']; } else { $flag=0; $msgerror=$msgerror."Le champ ville est vide \n"; $tabchamp['ville']=0; } if (!empty($_POST['tel'])) { if(is_int($_POST['tel'])) { $tabchamp['tel']=1; $tel=$_POST['tel']; } else { $tabchamp['tel']=0; $msgerror=$msgerror."Le numero de telephone saisi n'est pas de type numérique \n"; } } else { $flag=0; $msgerror=$msgerror."Le champ telephone est vide \n"; $tabchamp['tel']=0; } if (!empty($_POST['commentaire'])) { $tabchamp['commentaire']=1; $commentaire=$_POST['commentaire']; } else { $flag=0; $msgerror=$msgerror."Le champ commentaire est vide \n"; $tabchamp['commentaire']=0; } if (!empty($_POST['email'])) { $email=$_POST['email']; $regex_mail = '/^[-+.\w]{1,64}@[-.\w]{1,64}\.[-.\w]{2,6}$/i'; /* On vérifie que le format de l'e-mail est correct */ if (!preg_match($regex_mail, $email)) { $msgerror =$msgerror.'L adresse mail n est pas valide'; $tabchamp['email']=0; } else { $tabchamp['email']=1; $flag=0; } } else { $flag=0; $msgerror=$msgerror."Le champ email est vide \n"; $tabchamp['email']=0; } if (!empty($_POST['ville'])) { $tabchamp['ville']=1; $ville=$_POST['ville']; } else { $flag=0; $msgerror=$msgerror."Le champ vile est vide \n"; $tabchamp['ville']=0; } if (!empty($_POST['cuis']) || !empty($_POST['sdb']) || !empty($_POST['ag'])) { $tabchamp['type']=1; $type=""; if (!empty($_POST['cuis'])) { $type="Cuisine."; } if (!empty($_POST['sdb'])) { $type=$type."Salle de bains."; } if (!empty($_POST['ag'])) { $type=$type."Agencements."; } } else { $flag=0; $msgerror=$msgerror."Le type de projet n'est pas specifie \n"; $tabchamp['type']=0; } if ($flag==0) { echo "<SCRIPT LANGUAGE=\"JavaScript\"> <!-- alert('".$msgerror."'); // --> </SCRIPT>"; } else { include ('mail.php'); } }
si je remplace la partie en rouge par:
Le message d'alerte s'affiche bien.Code:
1
2
3
4
5 echo "<SCRIPT LANGUAGE=\"JavaScript\"> <!-- alert('Veuillez renseigner tout les champs'); // --> </SCRIPT>";
Je ne vois pas où est l'erreur.
Merci de votre aide
essaye de tout mettre sur une ligne problème de ligne !!!!!!
et puis tes messages comportent de ' ... il faut les échapper !!Code:
1
2 echo "<SCRIPT LANGUAGE=\"JavaScript\"><!-- alert('".$msgerror."'); --></SCRIPT>";
toujours pas
je réitère :
Citation:
et puis tes messages comportent des ' ... il faut les échapper !!
J'avais lu ton message en entier et j'ai tout fais mais...
toujours pas
et dans le source il affiche quoi ?
donne nous le code généré ...
ça ne serait pas le \n qui fouttrait la merde?Code:
1
2
3
4
5
6
7
8
9 <SCRIPT LANGUAGE="JavaScript"><!-- alert('Le code anti-robot saisi n est pas correct Le champ adresse est vide Le champ code postal est vide Le champ ville est vide Le champ telephone est vide Le champ email est vide Le champ ville est vide Le type de projet n est pas specifie '); --></SCRIPT>
voici ce qui fonctionne ...il te faut donc faire :Code:
1
2
3
4
5 <SCRIPT type='text/javascript' > <!-- alert('Le code anti-robot saisi n est pas correct \n Le champ adresse est vide \n champ code postal est vide \nLe champ ville est vide \n Le champ telephone est vide \n Le champ email est vide \n Le champ ville est vide \n Le type de projet n est pas specifie'); --> </SCRIPT>
Mais attention dans ta concaténation de mserror il te faut :Code:
1
2
3
4
5 echo "<script type='text/javascript' >"."\n"; echo"<!--"."\n"; echo $msgerror . "\n"; echo "-->"; echo "</script>";
1) echapper le apostrophes "n\'existe pas"
2) echapper les \n = > \\n
oui merci jb :oops: mon index a encore battu le pouce à la course :(
[edit]corrigé dans le code précédent [\edit]