Bonjour tous le monde!
J'ai un soucis avec ma page contact je ne comprend pas pourquoi elle n'est pas fonctionnel, quand le membre m'envoie un message je ne reçoi rien sur ma boite email. si quelqu'un trouve mon erreur?
Merci par avance

<?php 

require_once("inc/init.inc.php");
include ('inc/header_nav.inc.php');

?>

<article id="main">
    <div class="main_content">

        <div class="boite">

    <?php 

    if(!empty($_POST)) // si $_POST n'est pas vide (= si le formulaire a été validé) : gère le cas undefined, si accès pour la première fois à la page

    {

    $_POST['email'] = 'From : '.$_POST['email']."\n"; // je rajoute des choses à mon expediteur

    $_POST['email'] .= "MIME-Version 1.0 \r\n"; // on concatène encore avec .= ; \r et \n pour les sauts de lignes

    $_POST['email'] .= "Content-type: text/html; charset=iso-8859-1 \r\n"; // permet d'écrire en html dans le mail

    $_POST['message'] = "<div class='barre dangerok'>Votre message à bien été envoyé!</br> Notre équipe vous répondra dans de bref délais</div> ";

    // on met dans le message les informations récupérées du nom, prénom, société en plus du message

    echo $_POST['message'].'<br />';

    mail('jasi.d@gmail.com','Sujet : Message OSM',$_POST['pseudo'], $_POST['message'], $_POST['email']); 

}

/*  debug($_POST); */

        if(utilisateurEstConnecte())

        {
            echo '<div id="principal_conteneur_titre">  
                    <h1>Contactez <span>Nous</span></h1>
                  </div>
                <div class="boite">
                    <div id="form-main">
                        <div id="form-div">

                        <form class="form" id="form1" action="#" method="post">
                        <p class="name">
                        <input name="name" type="text" class="validate[required,custom[onlyLetter],length[0,100]] feedback-input" placeholder="Nom" required="" id="name" />
                        </p>

                        <p class="email">
                        <input name="email" type="email" class="validate[required,custom[email]] feedback-input" id="email" placeholder="Email" required="" />
                        </p>

                      <p class="text">
                        <textarea name="text" class="validate[required,length[6,300]] feedback-input" id="comment" placeholder="Message..." required=""></textarea>
                      </p>

                      <div class="submit">
                        <input type="submit" value="ENVOYEZ" id="button-blue"/>
                        <div class="ease"></div>
                      </div>
                    </form>
                        </div>
                  </div>';
        }

            else{

                echo '<div id="principal_conteneur_titre">  
                        <h1>Contactez <span>Nous</span></h1>
                      </div>
                <div class="boite">
                    <div id="form-main">
                        <div id="form-div">

                  <form class="form" id="form1" action="#" method="post">
                  <p class="name">
                    <input name="name" type="text" class="validate[required,custom[onlyLetter],length[0,100]] feedback-input" placeholder="Nom" required="" id="name" />
                  </p>

                  <p class="email">
                    <input name="email" type="email" class="validate[required,custom[email]] feedback-input" id="email" placeholder="Email" required="" />
                  </p>

                  <p class="text">
                    <textarea name="text" class="validate[required,length[6,300]] feedback-input" id="comment" placeholder="Message..." required=""></textarea>
                  </p>

                  <div class="submit">
                    <input type="submit" value="ENVOYEZ" id="button-blue"/>
                    <div class="ease"></div>
                  </div>
                  </form>
                </div>
                </div>';

                }           
?>      

</div>

    <div class="boite">
        <iframe src="https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d2624.4118038946935!2d2.30859549999999!3d48.869425700000015!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x47e66fc4f8c37a3f%3A0xa3bd0b27e29337b7!2s16+Av.+des+Champs-%C3%89lys%C3%A9es%2C+75008+Paris-8E-Arrondissement!5e0!3m2!1sfr!2sfr!4v1439540352344" width="400" height="300" frameborder="0" style="border:0; margin-top: 30px;"  allowfullscreen></iframe>

            <h2>Service client:</h2>
                <p>01-00-00-00-00</p>
                <p>Du lundi au vendredi <br/>9h30-12h00 & 14h00-16h00</p>

    </div>

        </div>  <!-- /main_content -->
</article> <!-- /main -->

<?php

include("inc/footer.inc.php")

?>

20 réponses


Huggy
Réponse acceptée

de même, il manque ':' dans la version Mime
regarde les exemples sur la doc

Priceless Hair
Auteur
Réponse acceptée

c'était bien ça! c'est bon tout est fonctionnel ! Merci infiniment de ton aide c'est très gentil de ta part ! mille merci

Salut,

if (mail('jasi.d@gmail.com','Sujet : Message OSM',$_POST['pseudo'], $_POST['message'], $_POST['email'])) {
    echo "Message envoyé avec succès";
else {
    echo "Erreur lors de l'envoi du message";
}

Tu as regardé le log d'erreurs PHP ?

Bonjour PricelessHair,
tu ne respectes pas l'ordre des arguments

mail($to, $subject, $message, $headers);

il y a $_POST["pseudo'] en trop
essaye ceci

mail('jasi.d@gmail.com','Sujet : Message OSM', $_POST['message'], $_POST['email']);

pense aussi à couper les messages à 70 caractères en insérant un \r\n

hello ca me fait une erreur de syntax :-/

@huggy je n'est pas de champs objet dans mon formulaire de contact.
J'essaie ton script :-)

bonne nouvelle! deja je reçoi un ladresse sur la boite email mais a la place du msg entré par le membre je recois ca:

<div class='barre dangerok'>Votre message à bien été envoyé!</br> Notre équipe vous répondra dans de bref délais</div>

L'utilisateur saisit son message dans un Textarea dont le nom est 'text' (pas judicieux !!!)
tu dois donc le récupérer dans la variable $_POST['text']

je l'ai récupéré

if(!empty($_POST)) // si $_POST n'est pas vide (= si le formulaire a été validé) : gère le cas undefined, si accès pour la première fois à la page

    {

    $email = 'From : '.$_POST['email']."\n"; // je rajoute des choses à mon expediteur

    $email= "MIME-Version 1.0 \r\n"; // on concatène encore avec .= ; \r et \n pour les sauts de lignes

    $email= "Content-type: text/html; charset=iso-8859-1 \r\n"; // permet d'écrire en html dans le mail

    $_POST['message'] = "<div class='barre dangerok'>Votre message à bien été envoyé!</br> Notre équipe vous répondra dans de bref délais</div> ";

    // on met dans le message les informations récupérées du nom, prénom, société en plus du message

    echo $_POST['message'].'<br />';

    mail('jasi.d@gmail.com','Sujet : Message OSM', $_POST['text'], $_POST['email']);
}

Si ça marche, reste plus qu'a vérifier les accents et les sauts de ligne

Remplace $_POST['email'] par simplement $header car là on comprend rien !!!
et mets l'adresse email de l'utilisateur dans le champ From, cela permettra de lui répondre.

$header = 'From : '.$_POST['email']."\r\n"; // je rajoute des choses à mon expediteur
$header .= "MIME-Version 1.0 \r\n"; // on concatène encore avec .= ; \r et \n pour les sauts de lignes
$header .= "Content-type: text/html; charset=iso-8859-1 \r\n"; // permet d'écrire en html dans le mail

Toujours pas je reçois que l'adresse mail du membre dans mes messages rien d'autre

t'as bien mis

   mail('jasi.d@gmail.com','Sujet : Message OSM', $_POST['text'], $header);

@Huggy oui et je recçoi ça :
MIME-Version 1.0
Content-type: text/html; charset=iso-8859-1

(je ne recois pas le message du membre)

tu as un décalage dans tes paramètres
poste nous ton code

<?php 

require_once("inc/init.inc.php");
include ('inc/header_nav.inc.php');

?>

<article id="main">
    <div class="main_content">

        <div class="boite">

    <?php 

    if(!empty($_POST)) // si $_POST n'est pas vide (= si le formulaire a été validé) : gère le cas undefined, si accès pour la première fois à la page

    {

    $header = 'From : '.$_POST['email']."\r\n"; // je rajoute des choses à mon expediteur
    $header .= "MIME-Version 1.0 \r\n"; // on concatène encore avec .= ; \r et \n pour les sauts de lignes
    $header .= "Content-type: text/html; charset=iso-8859-1 \r\n"; // permet d'écrire en html dans le mail

     mail('jasi.d@gmail.com','Sujet : Message OSM', $_POST['text'], $header);
}

/*  debug($_POST); */

        if(utilisateurEstConnecte())

        {
            echo '<div id="principal_conteneur_titre">  
                    <h1>Contactez <span>Nous</span></h1>
                  </div>
                <div class="boite">
                    <div id="form-main">
                        <div id="form-div">

                        <form class="form" id="form1" action="#" method="post">
                        <p class="name">
                        <input name="name" type="text" class="validate[required,custom[onlyLetter],length[0,100]] feedback-input" placeholder="Nom" required="" id="name" />
                        </p>

                        <p class="email">
                        <input name="email" type="email" class="validate[required,custom[email]] feedback-input" id="email" placeholder="Email" required="" />
                        </p>

                      <p class="text">
                        <textarea name="message" class="validate[required,length[6,300]] feedback-input" id="comment" placeholder="Message..." required=""></textarea>
                      </p>

                      <div class="submit">
                        <input type="submit" value="ENVOYEZ" id="button-blue"/>
                        <div class="ease"></div>
                      </div>
                    </form>
                        </div>
                  </div>';
        }

            else{

                echo '<div id="principal_conteneur_titre">  
                        <h1>Contactez <span>Nous</span></h1>
                      </div>
                <div class="boite">
                    <div id="form-main">
                        <div id="form-div">

                  <form class="form" id="form1" action="#" method="post">
                  <p class="name">
                    <input name="name" type="text" class="validate[required,custom[onlyLetter],length[0,100]] feedback-input" placeholder="Nom" required="" id="name" />
                  </p>

                  <p class="email">
                    <input name="email" type="email" class="validate[required,custom[email]] feedback-input" id="email" placeholder="Email" required="" />
                  </p>

                  <p class="text">
                    <textarea name="message" class="validate[required,length[6,300]] feedback-input" id="comment" placeholder="Message..." required=""></textarea>
                  </p>

                  <div class="submit">
                    <input type="submit" value="ENVOYEZ" id="button-blue"/>
                    <div class="ease"></div>
                  </div>
                  </form>
                </div>
                </div>';

                }           
?>      

</div>

    <div class="boite">
        <iframe src="https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d2624.4118038946935!2d2.30859549999999!3d48.869425700000015!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x47e66fc4f8c37a3f%3A0xa3bd0b27e29337b7!2s16+Av.+des+Champs-%C3%89lys%C3%A9es%2C+75008+Paris-8E-Arrondissement!5e0!3m2!1sfr!2sfr!4v1439540352344" width="400" height="300" frameborder="0" style="border:0; margin-top: 30px;"  allowfullscreen></iframe>

            <h2>Service client:</h2>
                <p>01-00-00-00-00</p>
                <p>Du lundi au vendredi <br/>9h30-12h00 & 14h00-16h00</p>

    </div>

        </div>  <!-- /main_content -->
</article> <!-- /main -->

<?php

include("inc/footer.inc.php")

?>

Merci

tu as renommé ton textarea en 'message' c'est bien :)
du coup

mail('jasi.d@gmail.com','Sujet : Message OSM', $_POST['message'], $header);

merci @huggy mais ça ne fonctionne toujours pas; je reçois uniquement ça :
MIME-Version 1.0
Content-type: text/html; charset=iso-8859-1

C'est un problème dans le header du mail
retire l'espace entre From et :

ok merci infiniment @huggy pour ton aide! 1000 merci