Problème de formulaire de contact.php
stephaneeti
Messages postés
1
Date d'inscription
Statut
Membre
Dernière intervention
-
Tsunami Chups Messages postés 224 Date d'inscription Statut Membre Dernière intervention -
Tsunami Chups Messages postés 224 Date d'inscription Statut Membre Dernière intervention -
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
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
A voir également:
- Problème de formulaire de contact.php
- Whatsapp formulaire opposition - Guide
- Formulaire de réclamation facebook - Guide
- Formulaire de reclamation instagram - Guide
- Confirmer le nouvel envoi du formulaire err_cache_miss ✓ - Forum Access
- Problème envoi formulaire - Forum Webmastering