silv1
vendredi 2 mai 2008 à 17:35
Bonjour! Merci kioob et marcb pour vos réponses... Alors en fait je viens de changer complètement mon formulaire de contact. J'ai trouvé un script php qui fonctionne à merveille et je n'ai donc plus de problème de formulaire bloqué
Par contre j'aimerai bien retrouver une fonctionnalité que j'avais sur mon ancien formulaire, à savoir le stockage des infos recueillies sur un fichier txt.
Sur mon autre formulaire j'utilisais ces lignes de code
CODE
$datedujour = date('d/m/y/H:i:s');
$filename="./admin/monfichier.txt";
$fl=fopen($filename,"a+");
fwrite($fl,"''$f_2'|'$f_3'|'$f_4'|'$f_5'|'$f_6'|'$f_2'|\n\r");
fclose($fl);
Mais vu que le nouveau formulaire est entièrement en php, je me demande ou placer ce code... J'ai essayé pleins de fois mais à chaque fois ça bug.
Je vous indique donc le code du nouveau formulaire:
avant la balise <html>
CODE
<?php
$color_font_warn="#FF0000";
$color_form_warn="#FFCC66";
$list['f_1']=array("M","Mlle","Mme");
$list['f_7']=array("choix1","choix2","choix3");
if(isset($_POST['submit'])){
$erreur="";
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);
}
}
}
$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));
if(!$f_1){
$erreur.="<li><span class='txterror'>Le champ « Civilité » requiert au moins une sélection.</span>";
$errf_1=1;
}
if(strlen($f_2)<2){
$erreur.="<li><span class='txterror'>Le champ « Nom » est vide ou incomplet.</span>";
$errf_2=1;
}
if(strlen($f_3)<2){
$erreur.="<li><span class='txterror'>Le champ « Prénom » est vide ou incomplet.</span>";
$errf_3=1;
}
if(strlen($f_4)<2){
$erreur.="<li><span class='txterror'>Le champ « Département » est vide ou incomplet.</span>";
$errf_4=1;
}
if(strlen($f_5)<2){
$erreur.="<li><span class='txterror'>Le champ « Adresse 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éphonne » est vide ou incomplet.</span>";
$errf_6=1;
}
if($erreur==""){
// Création du message
$titre="Message de votre site";
$tete="From:Site\n";
for($id=0; $id<count($list['f_1']); $id++){
if($f_1[$id]==1){
$corps.="Civilité : ".$list['f_1'][$id]."\n";
}
}
$corps.="Nom : ".$f_2."\n";
$corps.="Prénom : ".$f_3."\n";
$corps.="Département : ".$f_4."\n";
$corps.="Adresse e-mail : ".$f_5."\n";
$corps.="Téléphonne : ".$f_6."\n";
for($id=0; $id<count($list['f_7']); $id++){
if($f_7[$id]==1){
$corps.="Vous souhaitez: : ".$list['f_7'][$id]."\n";
}
}
$corps.="Remarques ou questions éventuelles : ".$f_8."\n";
if(mail("monmail", $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>";
}
}
}
?>
Entre les balises <body> et </body>
CODE
<? 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{ ?>
<form action='<? echo $PHP_SELF ?>' method='post' name='Form'>
<table width='100%' border='0' cellspacing='1' cellpadding='1'>
<? if($erreur){ ?><tr><td colspan='2' bgcolor='red'><span class='txterror'><font color='white'><b> ERREUR, votre message n'a pas été transmis</b></font></span></td></tr><tr><td colspan='2'><ul><?echo$erreur?></ul></td></tr><?}?>
<tr><td colspan='2'><span class='txterror'>Les champs marqué d'un * sont obligatoires</span></td></tr>
<tr><td align='right' width='30%'><span class='txtform'>Civilité* :</span></td><td>
<table border='0' cellspacing='0' cellpadding='0'>
<? for($id=0;$id<count($list['f_1']);$id++){
if($f_1[$id]==1){$ct="checked";}
print("<tr><td><input ".$ct." type='checkbox' name='f_1[$id]' value='1' border='0'></td><td><span class='txtform'>".$list[f_1][$id]."</span></td></tr>");
unset($ct);
}?>
</table>
</td></tr>
<tr><td align='right' width='30%'><span class='txtform'>Nom* :</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='30%'><span class='txtform'>Prénom* :</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></tr>
<tr><td align='right' width='30%'><span class='txtform'>Département* :</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='30%'><span class='txtform'>Adresse 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='30%'><span class='txtform'>Téléphonne* :</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='30%'><span class='txtform'>Vous souhaitez: :</span></td><td>
<table border='0' cellspacing='0' cellpadding='0'>
<? for($id=0;$id<count($list['f_7']);$id++){
if($f_7[$id]==1){$ct="checked";}
print("<tr><td><input ".$ct." type='checkbox' name='f_7[$id]' value='1' border='0'></td><td><span class='txtform'>".$list[f_7][$id]."</span></td></tr>");
unset($ct);
}?>
</table>
</td></tr>
<tr><td align='right' width='30%'><span class='txtform'>Remarques ou questions éventuelles :</span></td><td><textarea style='width:360 <?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='30%'></td><td><input type='submit' name='submit' value='Envoyer' border='0'></td></tr>
</table>
</form>
<? } ?>
Voilà donc le nouveau formulaire! Ma question est donc la suivante: selon vous ou dois-je placer les lignes de code permettant d'écrire les infos sur le fichier txt ?
Merci d'avance
Silv1