Problème de formulaire de contact.php

Fermé
stephaneeti Messages postés 1 Date d'inscription lundi 16 novembre 2009 Statut Membre Dernière intervention 16 novembre 2009 - 16 nov. 2009 à 12:08
Tsunami Chups Messages postés 224 Date d'inscription dimanche 25 janvier 2009 Statut Membre Dernière intervention 21 juillet 2010 - 16 nov. 2009 à 12:37
Bonjour,


Voila, après des semaines de recherches, je ne trouve pas de solution, c'est pourquoi je viens vers vous.
Après avoir créé mon formulaire de contact et la fonction d'envoi en php, je n'arrive pas à recevoir de mail. Pourtant, lorsque je fais le test directement en ligne, mon code me dit que le message à bien été envoyé...

Je vous colle mon code :

//Première partie du code en haut de la page en Php

<?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 !
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=strip_tags(trim($f_2));
$f_3=trim(ucwords(eregi_replace("[^a-zA-Z0-9éèàäö\ -]", "", $f_3)));
// Verification des champs
if(strlen($f_1)<2){
$erreur.="<li><span class='txterror'>Le champ « Votre Nom : » est vide ou incomplet.</span>";
$errf_1=1;
}
if(strlen($f_2)<2){
$erreur.="<li><span class='txterror'>Le champ « Votre adresse Mail : » est vide ou incomplet.</span>";
$errf_2=1;
}else{
if(!ereg('^[-!#$%&\'*+\./0-9=?A-Z^_`a-z{|}~]+'.
'@'.
'[-!#$%&\'*+\/0-9=?A-Z^_`a-z{|}~]+\.'.
'[-!#$%&\'*+\./0-9=?A-Z^_`a-z{|}~]+$',
$f_2)){
$erreur.="<li><span class='txterror'>La syntaxe de votre adresse e-mail n'est pas correcte.</span>";
$errf_2=1;
}
}
if(strlen($f_4)<2){
$erreur.="<li><span class='txterror'>Le champ « Message : » est vide ou incomplet.</span>";
$errf_4=1;
}
if($erreur==""){
// Création du message
$titre="Message de votre site";
$corps.="Votre Nom : : ".$f_1."\n";
$corps.="Votre adresse Mail : : ".$f_2."\n";
$corps.="Objet du message : : ".$f_3."\n";
$corps.="Message : : ".$f_4."\n";
if(mail("monmail@mail.com", $titre, stripslashes($corps), $tete)){ //ici mon mail... ?
$ok_mail="true";
}else{
$erreur.="<li><span class='txterror'>Une erreur est survenue lors de l'envoi du message, veuillez refaire une tentative.</span>";
}
}
}
?>

//Le formulaire avec des classe Css qui sont Okay.

<? 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><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 <span class='etoile'>*</span> sont obligatoires</span><BR /><BR /></td></tr>

<tr><td align='right' width='30%'><span class='txtform'>Votre Nom :<span class='etoile'>*</span> </span></td><td><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></tr>

<tr><td align='right' width='30%'><span class='txtform'>Votre adresse Mail :<span class='etoile'>*</span></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'>Objet du message :</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'>Message :<span class='etoile'>*</span></span></td><td><textarea style='width:360 <?if($errf_4==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name='f_4' rows='6' cols='40'><?echo$f_4?></textarea>  </td></tr>

<tr><td align='right' width='30%'></td><td><input type='submit' name='submit' value='Envoyer' border='0'></td></tr>

</table>
</form>
<? } ?>

//Le retour, si le mail à bien été envoyé...

<?php
if( $mailSent === true ) // si le message a bien été envoyé, on affiche le récapitulatif
{
?>
<p id="success">Votre message a bien été envoyé.</p>
<p><strong>Courriel pour la réponse :</strong><br /><?php echo( $from ); ?></p>
<p><strong>Objet :</strong><br /><?php echo( $object ); ?></p>
<p><strong>Message :</strong><br /><?php echo( nl2br( htmlspecialchars( $message ) ) ); ?></p>
<?php
}
else // le formulaire est affiché pour la première fois ou le formulaire a été soumis mais contenait des erreurs
{
if( count( $errors ) !== 0 )
{
echo( "\t\t<ul>\n" );
foreach( $errors as $error )
{
echo( "\t\t\t<li>$error</li>\n" );
}
echo( "\t\t</ul>\n" );
}

}
?>

Voilà le code, je ne comprend pas pourquoi il ne fonctionne pas sous Safari et Firefox....

Merci d'avance pour votre aide ! :D

3 réponses

Tsunami Chups Messages postés 224 Date d'inscription dimanche 25 janvier 2009 Statut Membre Dernière intervention 21 juillet 2010 12
16 nov. 2009 à 12:25
tu essaye de ton localhost ou d'un serveur online ?
0
Pilow Messages postés 400 Date d'inscription vendredi 2 octobre 2009 Statut Membre Dernière intervention 23 décembre 2009 71
16 nov. 2009 à 12:28
Si ton site est chez un hébergeur, renseigne toi pour voir s'ils acceptent l'envoi de mail ou non.

Certains hébergeur le bloque.
0
Tsunami Chups Messages postés 224 Date d'inscription dimanche 25 janvier 2009 Statut Membre Dernière intervention 21 juillet 2010 12
16 nov. 2009 à 12:37
Oui et d'autre comme free en utilise une autre fonction
si tu es en ligne essaye de faire un phpinfo()
0