Salut à tous, j'ai trouvé un générateur de formulaire assez efficace sur la toile, notamment en ce qui concerne les controles de saisies, mais le seul souci c'est lorsque celà arrive par mail, les caractères accentués, apostrophes... ne sont pas traités
Je vous mets ci-dessous le code utilisé. J'imagine que c'est pas évident en vous mettant tout ce pâté et je comprendrais que vous ne puissiez pas m'aider. Mais c'est juste au cas où ça se joue à un détail évident (qui ne l'est pas pour moi vu que ce n'est pas mon domaine du tout). Par avance merci.
Voici ma page contact :
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 <?php // Couleur du texte des champs si erreur saisie utilisateur $color_font_warn="#FF0000"; // Couleur de fond des champs si erreur saisie utilisateur $color_form_warn="#FFCC66"; // Ne rien modifier ci-dessous si vous nêtes pas certain de ce que vous faites ! $list['f_7']=array("Choix option 1","Choix option 2"); if(isset($_POST['submit'])){ $erreur=""; // Nettoyage des entrées while(list($var,$val)=each($_POST)){ if(!is_array($val)){ $$var=strip_tags($val); }else{ while(list($arvar,$arval)=each($val)){ $$var[$arvar]=strip_tags($arval); } } } // Formatage des entrées $f_1=trim(ucwords(eregi_replace("[^a-zA-Z0-9éèàäö\ -]", "", $f_1))); $f_2=trim(ucwords(eregi_replace("[^a-zA-Z0-9éèàäö\ -]", "", $f_2))); $f_3=trim(ucwords(eregi_replace("[^a-zA-Z0-9éèàäö\ -]", "", $f_3))); $f_4=trim(ucwords(eregi_replace("[^a-zA-Z0-9éèàäö\ -]", "", $f_4))); $f_5=strip_tags(trim($f_5)); $f_6=trim(eregi_replace("[^0-9\ +]", "", $f_6)); // Verification des champs if(strlen($f_1)<2){ $erreur.="<li><span class='txterror'>Le champ « Nom » est vide ou incomplet.</span>"; $errf_1=1; } if(strlen($f_5)<2){ $erreur.="<li><span class='txterror'>Le champ « E-Mail » est vide ou incomplet.</span>"; $errf_5=1; }else{ if(!ereg('^[-!#$%&\'*+\./0-9=?A-Z^_`a-z{|}~]+'. '@'. '[-!#$%&\'*+\/0-9=?A-Z^_`a-z{|}~]+\.'. '[-!#$%&\'*+\./0-9=?A-Z^_`a-z{|}~]+$', $f_5)){ $erreur.="<li><span class='txterror'>La syntaxe de votre adresse e-mail n'est pas correcte.</span>"; $errf_5=1; } } if(strlen($f_6)<2){ $erreur.="<li><span class='txterror'>Le champ « Téléphone » est vide ou incomplet.</span>"; $errf_6=1; } if($f_7==""){ $erreur.="<li><span class='txterror'>Le champ « Je » n'a pas été défini.</span>"; $errf_7=1; } if(strlen($f_8)<2){ $erreur.="<li><span class='txterror'>Le champ « Votre demande » est vide ou incomplet.</span>"; $errf_8=1; } if($erreur==""){ // Création du message $titre="Message de votre site"; $tete="From:Site@monsite.fr/pages/contact.php\n"; $corps.="Nom : ".$f_1."\n"; $corps.="Prenom : ".$f_2."\n"; $corps.="Entreprise : ".$f_3."\n"; $corps.="Localisation : ".$f_4."\n"; $corps.="E-Mail : ".$f_5."\n"; $corps.="Téléphone : ".$f_6."\n"; $corps.="Je : ".$list['f_7'][$f_7]."\n"; $corps.="Votre demande : ".$f_8."\n"; if(mail("monmail@fai.fr", $titre, stripslashes($corps), $tete)){ $ok_mail="true"; }else{ $erreur.="<li><span class='txterror'>Une erreur est survenue lors de l'envoi du message, veuillez refaire une tentative.</span>"; } } } ?>
Cordialement.
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 <? if($ok_mail=="true"){ ?> <table width='100%' border='0' cellspacing='1' cellpadding='1'> <tr><td><span class='txtform'>Le message ci-dessous nous a bien été transmis, et nous vous en remercions.</span></td></tr> <tr><td> </td></tr> <tr><td><tt><?echo nl2br(stripslashes($corps));?></tt></td></tr> <tr><td> </td></tr> <tr><td><span class='txtform'>Nous allons y donner suite dans les meilleurs délais.<br>A bientôt.</span></td></tr> </table> <? }else{ ?> <div class="formulaire"><form action='<? echo $PHP_SELF ?>' method='post' name='Form'> <table width='100%' border='0' cellspacing='3' cellpadding='3'> <tr> <td align='right' width='11%'><span class='txtform'>Nom :</span></td><td width="24%"><input type='text' style='width:200 <?if($errf_1==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name='f_1' value='<?echo stripslashes($f_1);?>' size='24' border='0'></td> <td width="36%" rowspan="2"><table border='0' cellspacing='0' cellpadding='0'> <? for($id=0;$id<count($list['f_7']);$id++){ if($id==$f_7){$ct="checked";} print("<tr><td><input ".$ct." type='radio' name='f_7' value=".$id." border='0'></td><td><span class='txtform'>".$list[f_7][$id]."</span></td></tr>"); unset($ct); }?> </table></td> <td width="29%" rowspan="7"><table><? if($erreur){ ?><tr> <td colspan='4' bgcolor='red'><span class='txterror'><font color='white'><b> </b></font></span><span style="font-family: Verdana, Arial, Helvetica, Geneva, Swiss, SunSans-Regular; font-size: 11px;"><font color='white'><b>V</b></font></span><span class='txterror'><font color='white'><b>otre message n'a pas été transmis</b></font></span></td></tr><tr><td colspan='4'><ul><?echo$erreur?></ul></td></tr><?}?></table></td> </tr> <tr><td align='right' width='11%'><span class='txtform'>Prenom :</span></td><td><input type='text' style='width:200 <?if($errf_2==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name='f_2' value='<?echo stripslashes($f_2);?>' size='24' border='0'></td> </tr> <tr><td align='right' width='11%'><span class='txtform'>Entreprise :</span></td><td><input type='text' style='width:200 <?if($errf_3==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name='f_3' value='<?echo stripslashes($f_3);?>' size='24' border='0'></td> <td rowspan="5"><span class='txtform'>Votre demande :</span><br /><textarea style='width:280 <?if($errf_8==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name='f_8' rows='6' cols='40'><?echo$f_8?></textarea></td> </tr> <tr><td align='right' width='11%'><span class='txtform'>Localisation :</span></td><td><input type='text' style='width:200 <?if($errf_4==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name='f_4' value='<?echo stripslashes($f_4);?>' size='24' border='0'></td> </tr> <tr><td align='right' width='11%'><span class='txtform'>E-Mail :</span></td><td><input type='text' style='width:200 <?if($errf_5==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name='f_5' value='<?echo stripslashes($f_5);?>' size='24' border='0'></td> </tr> <tr><td align='right' width='11%'><span class='txtform'>Téléphone :</span></td><td><input type='text' style='width:200 <?if($errf_6==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name='f_6' value='<?echo stripslashes($f_6);?>' size='24' border='0'></td> </tr> <tr><td align='right' width='11%'></td><td> </td> </tr> <tr valign="top"><td align='right' width='11%'></td><td valign="top" align="right" colspan="2"> <input type='submit' name='submit' value='Envoyer' border='0'><img src="../images/spacer.gif" width="40" height="1" /><br /> </td> <td align="right"> </td> </tr> </table> </form></div> <? } ?>
Partager