Page contact php

Par Priceless Hair, il y a 10 ans


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

betaWeb, il y a 10 ans

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 ?

Huggy, il y a 10 ans

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

Priceless Hair, il y a 10 ans

hello ca me fait une erreur de syntax :-/

Priceless Hair, il y a 10 ans

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

Priceless Hair, il y a 10 ans

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>
Huggy, il y a 10 ans

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']

Priceless Hair, il y a 10 ans

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']); }
Huggy, il y a 10 ans

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

Huggy, il y a 10 ans

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
Priceless Hair, il y a 10 ans

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

Huggy, il y a 10 ans

t'as bien mis

mail('jasi.d@gmail.com','Sujet : Message OSM', $_POST['text'], $header);
Priceless Hair, il y a 10 ans

@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)

Huggy, il y a 10 ans

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

Priceless Hair, il y a 10 ans
<?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

Huggy, il y a 10 ans

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

mail('jasi.d@gmail.com','Sujet : Message OSM', $_POST['message'], $header);
Priceless Hair, il y a 10 ans

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

Huggy, il y a 10 ans

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

Huggy, il y a 10 ans

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

Priceless Hair, il y a 10 ans

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

Priceless Hair, il y a 10 ans

ok merci infiniment @huggy pour ton aide! 1000 merci