Titre: Formulaire contact
Posté par: softarg le le 13-12-2010 a 09:30:32
J'ai mis en place sur un site un formulaire CONTACT.
J'ai un fichier parametres.php où j'ai intégré le courriel où les mails de contact doivent mettre envoyés.
Voici sont contenu :
<?php // Tableau contenant les adresses e-mail de contact $Tab_e_mail = Array('xxxxx@orange.fr','xxxxx@gmail.com'); ?>
Je reçois très bien les mails sur l'adresse orange mais pas du tout sur l'adresse gmail.
Quelqu'un peut-il m'aider. Merci d'avance.
Softarg |
Titre: Re:Formulaire contact
Posté par: ToToMaStEr le le 22-12-2010 a 11:47:28
Bonjour,
Ce problème apparait il uniquement avec gmail ou avez vous ce problème avec d'autres fournisseurs? |
Titre: Re:Formulaire contact
Posté par: MarvinLeRouge le le 22-12-2010 a 13:50:22
Bonjour,
As-tu essayé en mettant uniquement l'adresse gmail dans ton tableau (histoire de tester s'il n'y a pas une erreur sur l'utilisation du tableau) ? |
Titre: Re:Formulaire contact
Posté par: softarg le le 22-12-2010 a 15:37:08
bonjour, et merci de ton intérêt. le problème s'est résolu par lui même. Maintenant ca marche et pourtant je n'ai rien changé de plus.
Par contre j'aimerai bien être aidée maintenant sur un autre problème. Dans la partie message, les accents ou tout autre lettre hors norme n'apparaissent pas normalement dans l'e-mail envoyé. Des caractères bizarres se mettent à la place des lettres accentués. Je cherche de partout, j'essaye pleins de solutions mais je n'y arrive pas.
Alors voici les codes :
1er fichier : parametres.php
<?php // Tableau contenant les adresses e-mail de contact $Tab_e_mail = Array('xxxxxx@gmail.com'); ?>
2eme fichier: contact.php
<?php //Include des parametres include 'parametres/parametres.php'; //recup variable formulaire if(!isset($_POST['objet']) && !isset($_POST['message']) && !isset($_POST['mail'])){// si les variables n'existent pas echo $msgmail; ?>
<form action="index.php?pages=contact" method="post"> <table width="auto" align="center"> <tr> <td width="229"> <h6>Objet<font color="#FFFF00"> *</font></h6></td> <td width="auto"><input type="text" name="objet" id="objet" size="40px" /> </td> </tr> <tr> <td width="229"> <h6>Votre adresse e-mail<font color="#FFFF00"> *</font></h6></td> <td> <input type="text" name="mail" id="mail" size="40px" /> </td> </tr> <tr> <td width="229" valign="top"> <h6>Message<font color="#FFFF00"> *</font></h6></td> <td> <br /> <textarea name="message" cols="30" rows="10"></textarea></td> </tr> <tr> <td width="229"> </td> <td > <center><input type="submit" name="valider" id="valider" value="Envoyer"/></center> </td> </tr> </table> </form>
<?php } elseif($_POST['objet']!='' && $_POST['message']!='' && $_POST['mail']!=''){ // si les variables existent et sont remplies if(eregi("^[a-zA-Z0-9]+[._a-zA-Z0-9-]*@[a-zA-Z0-9]+[_a-zA-Z0-9-]*\.[a-zA-Z]{2,}$",$_POST['mail'])){ //j'envoi le mail à mon mail qui est défini dans parametre.php avec les variables
$headers = 'From: ' . $_POST['mail'];// pour que soonlinex n'apparaîsse pas for($i=0;$i < count($Tab_e_mail);$i++){// je vais chercher l'adresse de réception de mail dans paramètre mail($Tab_e_mail[$i],$_POST['objet'],$_POST['mail'] . ' ' . $_POST['message'],$headers); }
//le mail a été bien envoyé $msgmail = '<br/>'; $msgmail = $msgmail . '<center><font color=\'#ffffff\'>Message bien reçu.<br />Je vous contacterai dans les plus brefs délais.<br />Merci</font>'; $msgmail = $msgmail . '<br/>'; $msgmail = $msgmail . '<br/><a href="index.php?pages=accueil">Retour à l\'accueil</a></center>'; $msgmail = $msgmail . '<br/>'; echo $msgmail; }else{ //l'adresse e-mail n'est pas valide donc msg d'erreur $msgmail = '<br/>'; $msgmail = $msgmail . '<center><font color=\'#FFFF00\'>L\'adresse e-mail n\'est pas valide.<br />Veuillez recommencer.</font>'; $msgmail = $msgmail . '<br/>'; $msgmail = $msgmail . '<br/><a href="index.php?pages=contact">Retour à la page de contact</a></center>'; $msgmail = $msgmail . '<br/>'; echo $msgmail; } } else{ //gestion des erreurs de remplissage de formulaire $erreur= ''; //objet absent if ($_POST['objet']==''){ $erreur= 'objet'; }
//mail absent if ($_POST['mail']==''){ if($erreur==''){ $erreur= $erreur . 'mail'; }elseif($_POST['message']!=''){ $erreur= $erreur . ' et mail'; }else{ $erreur= $erreur . ', mail'; }
}
//message absent if ($_POST['message']==''){ if ($erreur==''){ $erreur= $erreur . 'message'; } else{ $erreur= $erreur . ' et message'; }
} //affichage du message d'erreur + formulaire de mail $msgmail = '<br/>'; $msgmail = $msgmail . '<center><font color=\'#FFFF00\'>Vous n\'avez pas rempli le(s) champ(s) suivant : ' . $erreur . '.</font>'; $msgmail = $msgmail . '<br/>'; $msgmail = $msgmail . '<br/><a href="index.php?pages=contact">Retour à la page de contact</a></center>'; $msgmail = $msgmail . '<br/>'; echo $msgmail;
} ?>
Merci de ton aide.
Softard |
Titre: Re:Formulaire contact
Posté par: MarvinLeRouge le le 23-12-2010 a 13:03:25
Alors ça, c'est connu : tu ne respectes pas ta chaîne d'encodage : tu dois utiliser le même encodage (utf-8 par exemple) d'un bout à l'autre de ta chaîne de production, en le déclarant dans chaque fichier, et en enregistrant effectivement le fichier à ce format. Je te conseille cet article sur Alsacreations (http://www.alsacreations.com/astuce/lire/69-declarer-encodage-des-caracteres.html) |
Forum-webmaster | Actionné par YaBB SE
© 2001-2003, YaBB SE Dev Team. Tous droits réservés.
|