Formulaire avec reception par mail
Résolu
Crere
Messages postés
7
Date d'inscription
Statut
Membre
Dernière intervention
-
Crere Messages postés 7 Date d'inscription Statut Membre Dernière intervention -
Crere Messages postés 7 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai dû créer un site pour un petit hotel dans lequel il y a un formulaire. J'utilise "<form method="post" action="mailto:renaudclaus@hotmail.com" enctype="text/plain">" pour recevoir les informations par email, cependant, lorsque que je clique sur envoyer, j'ai deux fenêtres qui s'affichent (notemment outlook).
Je sais qu'il est possible de créer un script php permettant d'éviter ce genre d'apparation et de ne plus passer par outlook. Mais je ne m'y connais pas du tout en php. J'ai lu plusieur tutos et posts d'autres personnes ayant le même probleme mais je n'y comprend rien. Pourriez vous m'aider?
J'ai dû créer un site pour un petit hotel dans lequel il y a un formulaire. J'utilise "<form method="post" action="mailto:renaudclaus@hotmail.com" enctype="text/plain">" pour recevoir les informations par email, cependant, lorsque que je clique sur envoyer, j'ai deux fenêtres qui s'affichent (notemment outlook).
Je sais qu'il est possible de créer un script php permettant d'éviter ce genre d'apparation et de ne plus passer par outlook. Mais je ne m'y connais pas du tout en php. J'ai lu plusieur tutos et posts d'autres personnes ayant le même probleme mais je n'y comprend rien. Pourriez vous m'aider?
A voir également:
- Formulaire avec reception par mail
- Whatsapp formulaire opposition - Guide
- Accusé de reception gmail - Guide
- Serveur de reception mail - Guide
- Problème de réception tv pas de signal aujourd' hui - Guide
- Formulaire de réclamation facebook - Guide
10 réponses
Un truc du genre :
Avec dans contact.php
A peu près un truc dans ce genre là ;)
<?php session_start(); ?> <?php /*Récupération des variables du formulaire*/ $nom = $_POST['nom']; $prenom = $_POST['prenom']; $email = $_POST['email']; $adresse = $_POST['adresse']; $cp = $_POST['cp']; $ville = $_POST['ville']; $tel = $_POST['tel']; $message = $_POST['message']; /*Mise en forme des variables*/ if(!isset($prenom) OR $prenom == "") $prenom = "Aucun prénom n'a été renseigné"; if(!isset($email) OR $email == "") $email = "Aucun email n'a été renseigné"; if(!isset($adresse) OR $adresse == "") $adresse = "Aucune adresse n'a été renseignée"; if(!isset($cp) OR $cp == "") $cp = "Aucun code postal n'a été renseigné"; if(!isset($ville) OR $ville == "") $ville = "Aucune ville n'a été renseignée"; /*Mise en forme de l'email*/ $msg = "<p>Vous venez de recevoir un message depuis le formulaire du site : https://www.pagesjaunes.fr/ <br /> Voici les informations : <br /> Nom : $nom <br /> Prénom : $prenom <br /> Email : $email <br /> Adresse : $adresse <br /> Code postal : $cp <br /> Ville : $ville <br /> Téléphone : $tel <br /> Message : $message</p>"; /*Mise en forme des header*/ $mail = $_POST['email']; $prenom_mail = $_POST['prenom']; if(isset($mail)) $header = "From: \"$nom $prenom_mail\" <$mail>\r\n"; else $header = "From: \"$nom $prenom_mail\" <contact@monsite.fr>\r\n"; $header .= "MIME-Version: 1.0\r\n"; $header .= "Content-type: text/html; charset=iso-8859-1\r\n"; $header .= "To: \"Mon Site\" <contact@monsite.fr>\r\n"; $subject = "Contact depuis le site https://www.pagesjaunes.fr/"; /*Envoi du mail*/ if(mail("contact@monsite.fr", $subject, $msg, $header)) $_SESSION['err'] = "Votre message a bien été envoyé. Nous vous en remercions et vous répondrons dans les meilleurs délais."; else $_SESSION['err'] = "Suite a une erreur, votre message n'a pas été envoyé. Merci de renouveller l'opération."; header('Location: contact.php'); ?>
Avec dans contact.php
<form action="email.php" method="post" name="corpForm" id="corpForm" ">
A peu près un truc dans ce genre là ;)
Changes l'action du formulaire sur "sendmail.php" (par exemple).
Dans le fichier "sendmail.php", mets ce script :
Dans le fichier "sendmail.php", mets ce script :
<?php $stripslashes = false; if($stripslashes == true) { $_POST = array_map('stripslashes',$_POST); } $to = 'reception@example.com'; $subject = 'Contacte depuis le site'; $headers = 'X-Mailer: PHP/' . phpversion(); $message = ''; foreach($_POST as $k => $v) { $message .= $k.' : '.$v."\n"; } if(mail($to,$subject,$message,$headers)) { header('Location : remerciements.html'); } else { echo 'Erreur lors de l\'envoie du mail.<br/>Vous pouvez nous contacter à <a href="mailto:'.$to.'">cette adresse</a>'; }Sur "$stripslashes = false;", remplace "false" par "true" si tu vois des antislashes "\".
Problème résolu à moitié :
j'ai suivi ton script, avion-f16, et il marche bien, je reçois le mail à mon addresse sans passer par outlook. Cependant, je suis redirigé vers un page blanche qui n'est autre que la page sendmail.php. Hors, j'aimerais être redirigé vers une page html de confirmation (que j'ai déja crée). Comment faire?
j'ai suivi ton script, avion-f16, et il marche bien, je reçois le mail à mon addresse sans passer par outlook. Cependant, je suis redirigé vers un page blanche qui n'est autre que la page sendmail.php. Hors, j'aimerais être redirigé vers une page html de confirmation (que j'ai déja crée). Comment faire?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
je crois avoir resolu le probleme tout seul, vous me dites si c'est bon ou pas?
j'ai inclu le language html dans la page sendmail.php, ce qui fait que le mail est bien envoyé et la page sendmail est devenue la page de confirmation. Est-ce correcte?
j'ai inclu le language html dans la page sendmail.php, ce qui fait que le mail est bien envoyé et la page sendmail est devenue la page de confirmation. Est-ce correcte?
Normalement ça devrait fonctionner grâce à la ligne "header('Location : remerciements.html');".
Aucune erreur s'affiche ?
Aucune erreur s'affiche ?
Non aucun, mais est que le fait d'avoir inclu le script dans une page htm renomée au format php est un souci?
car ainsi, quant les gens clique sur envoyer, ils sont redirigés vers sendmail.php qui est devenur la page de confirmation.
car ainsi, quant les gens clique sur envoyer, ils sont redirigés vers sendmail.php qui est devenur la page de confirmation.