Script formulaire qui n'envois pas le message

Résolu/Fermé
spirit63 - 1 févr. 2011 à 20:43
 spirit63 - 2 févr. 2011 à 13:50
Bonsoir à tous

J'ai un soucis avec mon formulaire de demande de devis, il n'envoie pas le message.
Je vous mets le code mais.... très long :-)


<?php
// Couleur du texte des champs si erreur saisie utilisateur
$color_font_warn="white";
// Couleur de fond des champs si erreur saisie utilisateur
$color_form_warn="#656565";
// Ne rien modifier ci-dessous si vous n'êtes pas certain de ce que vous faites !
$list['f_10']=array("Sélectionnez","Maison"," Appartement"," Immeuble");
$list['f_11']=array("Sélectionnez","bois"," béton"," granito"," pierre"," métallique"," autre...");
$list['f_13']=array("Sélectionnez","tournant"," balancé"," double quart tournant");
$list['f_14']=array("oui"," non");
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(eregi_replace("[^0-9+]", "", $f_4));
	$f_5=trim(ucwords(eregi_replace("[^a-zA-Z0-9éèàäö\ -]", "", $f_5)));
	$f_6=trim(eregi_replace("[^0-9\ +]", "", $f_6));
	$f_7=trim(eregi_replace("[^0-9\ +]", "", $f_7));
	$f_8=strip_tags(trim($f_8));
	$f_12=trim(ucwords(eregi_replace("[^a-zA-Z0-9éèàäö\ -]", "", $f_12)));
	$f_15=trim(ucwords(eregi_replace("[^a-zA-Z0-9éèàäö\ -]", "", $f_15)));
	$f_16=trim(ucwords(eregi_replace("[^a-zA-Z0-9éèàäö\ -]", "", $f_16)));
	// 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_2)<2){
		$erreur.="<li><span class='txterror'>Le champ « Prénom » est vide ou incomplet.</span>";
		$errf_2=1;
	}
	if(strlen($f_4)<2){
		$erreur.="<li><span class='txterror'>Le champ « Code postal » est vide ou incomplet.</span>";
		$errf_4=1;
	}
	if(strlen($f_5)<2){
		$erreur.="<li><span class='txterror'>Le champ « Ville - Dept » est vide ou incomplet.</span>";
		$errf_5=1;
	}
	if(strlen($f_8)<2){
		$erreur.="<li><span class='txterror'>Le champ « Adresse Email » est vide ou incomplet.</span>";
		$errf_8=1;
	}else{
		if(!ereg('^[-!#$%&\'*+\./0-9=?A-Z^_'a-z{|}~]+'.
		'@'.
		'[-!#$%&\'*+\/0-9=?A-Z^_'a-z{|}~]+\.'.
		'[-!#$%&\'*+\./0-9=?A-Z^_'a-z{|}~]+$',
		$f_8)){
			$erreur.="<li><span class='txterror'>La syntaxe de votre adresse e-mail n'est pas correcte.</span>";
			$errf_8=1;
		}
	}
	if($f_10==0){
		$erreur.="<li><span class='txterror'>Le champ « Type » n'a pas été défini.</span>";
		$errf_10=1;
	}
	if($f_11==0){
		$erreur.="<li><span class='txterror'>Le champ « Escaliers » n'a pas été défini.</span>";
		$errf_11=1;
	}
	if($f_13==0){
		$erreur.="<li><span class='txterror'>Le champ « Escalier » n'a pas été défini.</span>";
		$errf_13=1;
	}
	if(!$f_14){
		$erreur.="<li><span class='txterror'>Le champ « Palier » requiert au moins une sélection.</span>";
		$errf_14=1;
	}
	if(strlen($f_16)<2){
		$erreur.="<li><span class='txterror'>Le champ « Nombre de marches » est vide ou incomplet.</span>";
		$errf_16=1;
	}
	if($erreur==""){
		// Création du message
		$titre="Demande de renseignement";
		$tete="From:tisserand.v@live\n";
		$corps.="Nom : ".$f_1."\n";
		$corps.="Prénom : ".$f_2."\n";
		$corps.="Adresse : ".$f_3."\n";
		$corps.="Code postal : ".$f_4."\n";
		$corps.="Ville - Dept : ".$f_5."\n";
		$corps.="Téléphone domicile : ".$f_6."\n";
		$corps.="Téléphone mobile : ".$f_7."\n";
		$corps.="Adresse Email : ".$f_8."\n";
		$corps.="Votre message : ".$f_9."\n";
		$corps.="Type : ".$list['f_10'][$f_10]."\n";
		$corps.="Escalier actuel : ".$list['f_11'][$f_11]."\n";
		$corps.="Si autre matière : ".$f_12."\n";
		$corps.="Escalier : ".$list['f_13'][$f_13]."\n";
		for($id=0; $id<count($list['f_14']); $id++){
			if($f_14[$id]==1){
				$corps.="Palier : ".$list['f_14'][$id]."\n";
			}
		}
		$corps.="Age escalier : ".$f_15."\n";
		$corps.="Nombre de marches : ".$f_16."\n";
		if(mail("tisserand.v@live.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>";
		}
	}
}
?>


affichage:

<? if($ok_mail=="true"){ ?>

	<table width='100%' border='0' cellspacing='1' cellpadding='1'>
		<tr><td><span class="textetra"><br>Le message ci-dessous nous a bien été transmis, et nous vous en remercions.<br><br></span></td></tr>
		<tr><td>&nbsp;</td></tr>
		<tr><td class="texte"><tt><font face="Arial" size="2"><?echo nl2br(stripslashes($corps));?></font></tt></td></tr>
		<tr><td>&nbsp;</td></tr>
		<tr><td><span class="textetra"><br>Nous allons y donner suite dans les meilleurs délais.<br>A bientôt.<br><br></span></td></tr>
	</table>
<? }else{ ?>
<form action='<? echo $PHP_SELF ?>' method='post' name='Form'>
<table width='670' border='0' cellspacing='1' cellpadding='3' align='left'>
<? if($erreur){ ?><tr><td colspan='2' bgcolor='red'><span class='txterror'><font color='white'><b>&nbsp;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>&nbsp;</td></tr>
<tr><td colspan='6' align='left'><span class="textetra">Besoin d'une information ?<br> Merci de remplir le formulaire ci-dessous, nous prendrons contact avec vous dans les meilleurs delais.<br><br></span></td></tr>
<tr><td align='right' width='30%'><span class="texte">Nom* :</span></td><td><input type='text'style='width:150 <?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 align='right' width='30%'><span class="texte">Prénom* :</span></td><td><input type='text' style='width:150 <?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="texte">Adresse :</span></td><td><input type='text' style='width:250 <?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 align='right' width='30%'><span class="texte">Code postal* :</span></td><td><input type='text' style='width:150 <?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="texte">Ville - Dept* :</span></td><td><input type='text' style='width:150 <?if($errf_5==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name='f_5' value='<?echo stripslashes($f_5);?>'<?echo$f_5?></td></tr>
<tr><td align='right' width='30%'><span class="texte">Téléphone domicile :</span></td><td><input type='text' style='width:150 <?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>
<td align='right' width='30%'><span class="texte">Téléphone mobile :</span></td><td><input type='text' style='width:150 <?if($errf_7==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name='f_7' value='<?echo stripslashes($f_7);?>' size='24' border='0'></td></tr>
<tr><td align='right' width='30%'><span class="texte">Adresse Email* :</span></td><td><input type='text' style='width:150 <?if($errf_8==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name='f_8' value='<?echo stripslashes($f_8);?>' size='24' border='0'></td></tr>
<tr><td align='right' width='30%'><span class='txtform'>Votre message :</span></td><td><textarea style='width:250 <?if($errf_9==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name='f_9' rows='6' cols='40'><?echo$f_9?></textarea><br><span class="texte_bas">Les champs marqué d'un * sont obligatoires<br><br></span></td></tr>
<tr><td align='right' width='30%'><span class='txtform'>Type* :</span></td><td><select style='width:200 <?if($errf_10==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name='f_10' size='1'>
<? for($id=0;$id<count($list['f_10']);$id++){
if($id==$f_10){$ct="selected";}
print("<option ".$ct." value=".$id.">".$list['f_10'][$id]."</option>");
unset($ct);
}?>
</select></td></tr>
<tr><td align='right' width='30%'><span class='txtform'>Escalier actuel* :</span></td><td><select style='width:200 <?if($errf_11==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name='f_11' size='1'>
<? for($id=0;$id<count($list['f_11']);$id++){
if($id==$f_11){$ct="selected";}
print("<option ".$ct." value=".$id.">".$list['f_11'][$id]."</option>");
unset($ct);
}?>
</select></td></tr>
<tr><td align='right' width='30%'><span class='txtform'>Si autre matière :</span></td><td><input type='text' style='width:200 <?if($errf_12==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name='f_12' value='<?echo stripslashes($f_12);?>' size='24' border='0'></td></tr>
<tr><td align='right' width='30%'><span class='txtform'>Escalier* :</span></td><td><select style='width:200 <?if($errf_13==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name='f_13' size='1'>
<? for($id=0;$id<count($list['f_13']);$id++){
if($id==$f_13){$ct="selected";}
print("<option ".$ct." value=".$id.">".$list['f_13'][$id]."</option>");
unset($ct);
}?>
</select></td></tr>
<tr><td align='right' width='30%'><span class='txtform'>Palier* :</span></td><td>
<table border='0' cellspacing='0' cellpadding='0'>
<? for($id=0;$id<count($list['f_14']);$id++){
if($f_14[$id]==1){$ct="checked";}
print("<tr><td><input ".$ct." type='checkbox' name='f_14[$id]' value='1' border='0'></td><td><span class='txtform'>".$list[f_14][$id]."</span></td></tr>");
unset($ct);
}?>


J'ai créé le formulaire via "ge-net" le formulaire de contact fonctionne très bien (et moins lourd lol) mais celui-ci ne veut rien savoir.
J'ai tout regardé à la loupe mais je n'ai pas trouvé d'où ça provenait.
Alors si quelqu'un pouvait m'aider ?????

Merci d'avance pour votre aide

3 réponses

Apparemment mon cas cette fois ci est... désespéré :-)
Personne n'a d'idée ?
0
Bonjour,

Apparemment, ce sont les "menus déroulant" et "case à cocher" qui pose problème.

Les "menus déroulants" ne faisaient pas appel a la fonction
 value='<?echo stripslashes($f_*);?>

Cependant j'ai enfin après quelques heures a revoir le code, j'ai résolu ce problème !

MAIS.... je n'arrive pas à rentrer cette fonction pour la fonction 'checkbox'. Si vous pouviez m'aider, car j'ai tenté plusieurs code mais ce n'est pas bon, l'email est bien envoyé mais ce champs n'est pas pris en compte.

<tr><td align='right' width='30%'><span class='txtform'>Palier* :</span></td><td>
<table border='0' cellspacing='0' cellpadding='0'>
<? for($id=0;$id<count($list['f_14']);$id++){
if($f_14[$id]==1){$ct="checked";}
print("<tr><td><input ".$ct." type='checkbox' name='f_14[$id]' value='1' border='0'></td><td><span class='txtform'>".$list[f_14][$id]."</span></td></tr>");
unset($ct);
}?>
</table>
</td></tr>


Merci d'avance pour votre aide
0
J'ai réussi !

<tr><td align='right' width='30%'><span class='txtform'>Palier* :</span></td><td><select name='f_14' value='<?echo stripslashes($f_14);?>'>
<table border='0' cellspacing='0' cellpadding='0'>
<? for($id=0;$id<count($list['f_14']);$id++){
if($f_14[$id]==1){$ct="checked";}
print("<tr><td><input ".$ct." type='checkbox' name='f_14[$id]' value='1' border='0'></td><td><span class='txtform'>".$list[f_14][$id]."</span></td></tr>");
unset($ct);
}?>
</table>
</td></tr>


Je post la soluce pour ceux qui ont le même soucis avec le formulaire de ge-net.
0
petite correction :
<tr><td align='right' width='30%'><span class='txtform'>Palier* :</span></td><td><?echo stripslashes($f_14);?>
<table border='0' cellspacing='0' cellpadding='0'>
<? for($id=0;$id<count($list['f_14']);$id++){
if($f_14[$id]==1){$ct="checked";}
print("<tr><td><input ".$ct." type='checkbox' name='f_14[$id]' value='1' border='0'></td><td><span class='txtform'>".$list[f_14][$id]."</span></td></tr>");
unset($ct);
}?>
</table>
</td></tr>


Sorry
0