Page 1 sur 1

Formulaire OK mais pas d'envoie par mail !

Posté : 20 mai 2011, 16:40
par Nul_en_php
Bonjour à tous,

Voici le code de mon formulaire, tout est nickel sauf que je ne reçois rien dans ma boite e-mail !! Il y a quelque chose que je pige pas !!
Et là je ne vous cache pas que je désespère ! #-o

Merci d'avance de votre aide

Code php de ma page
<?php
if ( !empty($_POST['xcivil']) && !empty($_POST['xnom']) && !empty($_POST['xprenom'])
        && !empty($_POST['xville']) && !empty($_POST['xcp']) && !empty($_POST['xmail']) )
{ // tout est rempli on expédie
$to = "[email protected]"; // remplacer par votre adresse mail
$expediteur = ""; // expéditeur pas défini !
/* D'autres en-têtes : errors, From cc's, bcc's, etc */
$headers = "From:".$expediteur."\r\n";
$headers .= "X-Sender: \n"; // <= a remplir
$headers .= "X-Mailer: \n"; // mailer <= a remplir
$headers .= "X-Priority: 1\n"; // Message urgent! <= est ce utile ?
$headers .= "Return-Path: \n"; // chemin de retour pour les erreurs <= a remplir
$headers .= "Content-Type: text/html; charset=iso-8859-1\n"; // Type MIME

/**
 * Permet la 'sécurisation des données, a partir de la premiere version
 * @param mixed $item
 * @param int $key
 */
function securMail (&$item, $key){
    $item = addslashes(strip_tags($item));
}
// Pour plus d'info sur la fonction array_walk => http://www.php.net/array_walk
array_walk($_POST, 'securMail');
//syntaxe heredoc parce que c'est plus lisible ainsi, plus d'info ? => la doc <img src="./images/smilies/icon_wink.gif" alt=";)" title="Wink" />
//le formatage est limité mais c'est pour l'exemple a toi de faire mieux <img src="./images/smilies/icon_wink.gif" alt=";)" title="Wink" />
$texte = <<<CorpsEmail
<html>
    <head>
        <title>${_POST['xnom']}</title>
    </head>
    <body>
    civilit&eacute; : ${_POST['xcivil']}<br />
    Nom             : ${_POST['xnom']}<br />
    Prénom          : ${_POST['xprenom']}<br />
    CP           : ${_POST['xcp']}<br />
	Ville           : ${_POST['xville']}<br />
    Tel Fixe           : ${_POST['xtelfixe']}<br />
    Tel Portable         : ${_POST['xtelport']}<br />
	EMail :         : ${_POST['xmail']}<br />
	Profession Madame         : ${_POST['xprof_mme']}<br />
    Profession Monsieur         : ${_POST['xprof_mr']}<br />
    Avez-vous déjà utilisé un traitement d eau         : ${_POST['xquestion1']}<br />
    Si oui, qu en avez vous pensé        : ${_POST['xmessage1']}<br />
	Depuis combien de temps envisagez-vous l achat d un traitement d eau: ${_POST['xquestion2']}<br />
	Vous disposez : ${_POST['xquestion3']}<br />
	Nombre d adultes résidants : ${_POST['xadultes']}<br />
	Ages : ${_POST['xages']}<br />
	Nombre d enfants résidants : ${_POST['xenfants']}<br />
	Ages : ${_POST['xages1']}<br />
	Consommation habituelle : ${_POST['xquestion4']}<br />	
	Nombre de points d eau : ${_POST['xpt_eau']}<br />	
	Consommation d eau par an m3 € : ${_POST['xconso']}<br />
	Eau chaude sanitaire m3 € : ${_POST['xchaude']}<br />
	Vous êtez-vous déjà renseignés sur les traitements d eau : ${_POST['xquestion5']}<br />	
	Si oui, par quel biais : ${_POST['xquestion6']}<br />	
	Quel(s) type(s) de projet a le plus retenu votre attention : ${_POST['xquestion7']}<br />
	Qu aimeriez-vous trouver de plus chez vous que vous n avez pas trouvé chez nos confrères : ${_POST['xquestion8']}<br />	
	Qu attendez vous d un bon professionnel du traitement d eau : ${_POST['xquestion9']}<br />
	Pour vous quels sont les qualités d un bon traitement d eau : ${_POST['xquestion10']}<br />		
	Recevoir gratuitement une bandelette Test pour quantifier le calcaire présent à mon domicile : ${_POST['xquestion11']}<br />	
    </body>
</html>
CorpsEmail;

// ??? votre hébergeur accepte-t'il la fonction PHP mail ???
$ret = mail ($to, $_POST['xnom'], $texte, $headers);// @ pour éviter affichage message d'erreur du serveur
if ($ret === false ){
    $message = 'Erreur d\'envoi du mail il faut vérifier les paramètres de configuration du serveur smtp';
}
else {
    $message = 'l\'envoi c\'est bien passé';
}
} // fin if checksum
else $message = 'Merci de remplir tout les champs. ';

?>
<html lang="fr">
    <head>
        <meta charset="utf-8">
        <meta http-equiv="Content-type" content="text/html;charset=UTF-8" />
        <title>Formulaire Système-eco+</title>
    </head>
    <body>
        <h1>Formulaire d'envoie de mail</h1>
        <?php
            if (!empty($message)) echo '<p>'.$message.'</p>';
        ?>
        <form action="" method="post">
            <label for="xcivil">Civilit&eacute;</label><select name="xcivil">
                <option value="Melle">Mademoiselle</option>
                <option value="Mme">Madame</option>
                <option value="Mr">Monsieur</option>
            </select>
            <br>
<br />
            <label for="xnom">Nom : </label><input type="text" name="xnom" />
            <br>
<br />
            <label for="xprenom">Prenom : </label><input type="text" name="xprenom" />
            <br>
<br />
            <label for="xcp">CP : </label><input type="text" name="xcp" />
            <br>
            <br />
  <label for="xville">Ville : </label><input type="text" name="xville" />
  <br>
<br />
            <label for="xtelfixe">Tel. fixe : </label><input type="text" name="xtelfixe" />
            <br>
            <br />
          <label for="xtelport">Tel. Portable : </label><input type="text" name="xtelport" />
          <br>
          <br />
            <label for="xmail">E-mail</label> 
            : 
            <input type="text" name="xmail" />
            <br>
            <br />
<label for="xprof_mme">Profession Madame</label> 
: 
<input type="text" name="xprof_mme" />
<br>
<br />
            <label for="xprof_mr">Profession Monsieur</label> 
            : 
            <input type="text" name="xprof_mr" />
            <br>
            <br />
<label for="xquestion1">Avez-vous déjà utilisé un traitement d'eau ? </label><select name="xquestionl">
                <option value="oui">Oui</option>
                <option value="non">Non</option>
            </select>
<br>
<br />
          <label for="xmessage1">Si oui, qu\'en avez-vous pensé ?
</label><textarea name="xmessage1"></textarea>
<br>
<br />
            <label for="xquestion2">Depuis combien de temps envisagez-vous l'achat d\'un traitement d'eau ? </label><input type="text" name="xquestion2" />
            <br>
            <br />
          <label for="xquestion3">Vous disposez : </label><select name="xquestion3">
<option value="maison_neuve">Maison neuve (-2 ans)</option>
                <option value="maison_ancienne">Maison ancienne</option>
                <option value="appartement">Appartement</option>
            </select>
          <br>
          <br />
            <label for="xadultes">Nombre d'adultes rédisants : </label><input type="text" name="xadultes" />
              <label for="xages"><br>
            Ages : </label>
             <input type="text" name="xages" />
            <br>
             <br />
             <label for="xenfants">Nombre d'enfants rédisants : </label><input type="text" name="xenfants" />
             <br />
             <label for="xages3">Ages</label>
             <input type="text" name="xages1" />
             <br>
             <br />
            <label for="xquestion4">Consommation habituelle :</label> 
            <select name="xquestion4">
                <option value="bouteille">Bouteilles d'eau</option>
                <option value="eau">Eau du robinet</option>
                <option value="soda">Sodas</option>
                <option value="carafe">carafe</option>
            </select>
            <br>
            <br />
                <label for="xpt_eau">Nombre de points d'eau : </label><input type="text" name="xpt-eau" />
                <br>
                <br />
                <label for="xconso">Consommation d\'eau/an (m3/€) : </label><input type="text" name="xconso" />
                <br>
                <br />
                <label for="xchaude">Eau chaude sanitaire (m3/€) : </label><input type="text" name="xchaude" />
                <br>
                <br />    
                <label for="xquestion5">Vous êtez-vous déjà renseignés sur les traitements d'eau ? </label><select name="xquestion5">
                <option value="oui1">Oui</option>
                <option value="non1">Non</option>
            </select>
                <br>
            <br />   
                <label for="xquestion6">Si oui, par quel biais ? </label><select name="xquestion6">
                <option value="foires">Foires</option>
                <option value="grandesurface">Grandes surfaces</option>
                <option value="magasins">Magasins spécialisés</option>
                <option value="autres">Autres</option>
            </select>
                <br>
            <br />
                <label for="xquestion7">Quel(s) type(s) de projet a le plus retenu votre attention ? </label><input type="text" name="xquestion7" />
                <br>
                <br />    
          <label for="xquestion8">Qu\'aimeriez-vous trouver de plus chez vous que vous n'avez pas trouvé chez nos confrères ? </label><input type="text" name="xquestion8" />
          <br>
          <br />  
            <label for="xquestion9">Qu\'attendez vous d\'un bon professionnel du traitement d\'eau ? </label><select name="xquestion9">
                <option value="service">Service après vente</option>
                <option value="num">Numéro Hotline</option>
              <option value="piece">Pièces détachées</option>
              <option value="mag">Magasin de proximité spécialisé</option>
            </select>
            <br>
            <br />
            <label for="xquestion10">Pour vous quels sont les qualités d'un bon traitement d\'eau ? </label><select name="xquestion10">
              <option value="conso">Consommation réduite</option>
              <option value="facilité">Facilité d'entretien</option>
              <option value="longue">Longue durée de grantie</option>
              <option value="Silencieux">Silencieux</option>
				<option value="Résultat flagrant">Résultat flagrant</option>
                <option value="Faible">Faible coût d'utilisation</option>
                <option value="Bon">Bon rapport qualité/prix</option>
            </select>
            <br>
            <br />
                <label for="xquestion11">Recevoir gratuitement une bandelette Test pour quantifier le calcaire présent à mon domicile : </label><select name="xquestion11">
                <option value="oui3">Oui</option>
                <option value="non3">Non</option>
            </select>
                <br>
            <br />
          <input type="submit" name="submit" value="Envoyer" />
        </form>
    </body>
</html>

Re: Formulaire OK mais pas d'envoie par mail !

Posté : 20 mai 2011, 19:50
par ouckileou
Salut,

ton code est mal indente on a du mal a s'y retrouver. De plus on va avoir du mal a t'aider juste en lisant ce gros pave. Est-ce que tu as verifie que tu arrives bien dans ta fonction qui envoie l'email ?

Si tu testes ce code (un envoi d'email tout seul sans rien d'autre) ca fonctionne ?
mail('[email protected]', 'Mon Sujet', 'Mon message');