Envoyer page HTML via Formulaire

Résolu/Fermé
mattioouu
Messages postés
15
Date d'inscription
vendredi 5 juin 2009
Statut
Membre
Dernière intervention
15 juin 2009
- 5 juin 2009 à 15:28
mattioouu
Messages postés
15
Date d'inscription
vendredi 5 juin 2009
Statut
Membre
Dernière intervention
15 juin 2009
- 9 juin 2009 à 16:52
Bonjour,

Voilà... Je m'explique. J'aimerai créer un formulaire dans lequel mon client aurait juste à remplir quelques champs et en cliquant sur envoyer cela enverrais une page HMTL, donc les blanc auraient été rempli par les champs du formulaire. Pour mieux me faire comprendre voici un exemple :

Dans le Formulaire le client tape ces indications :

Nom : TARTANPION
Date d'arrivée : 10/09/2009
Date de depart : 15/09/2009
adresse Destinataire : tartanpion@web.fr

Dans la page Html envoyé au destinataire (soit : tartanpion@web.fr) :

Madame, Monsieur TARTANPION,

Nous avons le plaisir de vous confirmer votre réservation du 10/09/2009 au 15/09/2009.

Etc... Etc...

Tout cela pour une page html et non pas juste du texte car la page est composé d'une baniere et de quelques éléments graphiques.


J'espère mettre bien fait comprendre et qu'un super héro aura l'obligence de me sauver de ce petrin!!

MErci

Mattioouu

15 réponses

Alain_42
Messages postés
5358
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
901
5 juin 2009 à 15:33
Dans la page Html envoyé au destinataire (soit : tartanpion@web.fr) :

Donc ce que tu veux envoyer c'est un mail au format HTML

vas voir du côté de la fonction mail() de php

et dans les codes du header tu as un parmaètres pour l'envoyer au format html

et il suffit de créer ta page en récupérant les données envoyées par le formulaire
0
mattioouu
Messages postés
15
Date d'inscription
vendredi 5 juin 2009
Statut
Membre
Dernière intervention
15 juin 2009

5 juin 2009 à 15:39
Voici mon header :

$headers .= "Content-type: text/plain; charset=iso-8859-1\r\n";
0
mattioouu
Messages postés
15
Date d'inscription
vendredi 5 juin 2009
Statut
Membre
Dernière intervention
15 juin 2009

5 juin 2009 à 15:43
<?php
$nom=$HTTP_POST_VARS['nom'];
$mail=$HTTP_POST_VARS['mail'];
$objet=$HTTP_POST_VARS['objet'];
$message=$HTTP_POST_VARS['message'];

/////voici la version Mine
$headers = "MIME-Version: 1.0\r\n";

//////ici on détermine le mail en format texte
$headers .= "Content-type: text/plain; charset=iso-8859-1\r\n";

////ici on détermine l'expediteur et l'adresse de réponse
$headers .= "From: test@test.com <test@test.com>\r\nReply-to : test@test.com <test@test.com>\nX-Mailer:PHP";

$subject="Demande de Reservation";
$destinataire="$mail";
$body="$message";
if (mail($destinataire,$subject,$body,$headers)) {
echo "Votre mail a été envoyé";
} else {
echo "Une erreur s'est produite";
}
?>

Que faut t'il que je change ?? ; Ensuite je suppose qu'il faut que je change mon $body= vers ma page HTML.
Comment dois je m'y prendre et surtout pour assimiler les espaces blanc de ma page au champ rempli dans mon formulaire.

Merci de votre aide.
0
jeangilles
Messages postés
816
Date d'inscription
samedi 21 juin 2008
Statut
Membre
Dernière intervention
17 juillet 2012
184
5 juin 2009 à 15:46
Pour que ce soit envoyé au formt html,il faut :

$headers .= "Content-type: text/html; charset=UTF-8\n";
(enfin le charset tu mets ce que tu veux ^^)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
mattioouu
Messages postés
15
Date d'inscription
vendredi 5 juin 2009
Statut
Membre
Dernière intervention
15 juin 2009

5 juin 2009 à 16:10
Merci, mais je fais quoi ensuite ??... Désolé j'suis un pauvre newb...
0
mattioouu
Messages postés
15
Date d'inscription
vendredi 5 juin 2009
Statut
Membre
Dernière intervention
15 juin 2009

5 juin 2009 à 16:10
Que faut t'il que je change ?? ; Ensuite je suppose qu'il faut que je change mon $body= vers ma page HTML.
Comment dois je m'y prendre et surtout pour assimiler les espaces blanc de ma page au champ rempli dans mon formulaire.
0
jeangilles
Messages postés
816
Date d'inscription
samedi 21 juin 2008
Statut
Membre
Dernière intervention
17 juillet 2012
184
5 juin 2009 à 16:17
tu veux savoir comment récupérer une page html pour l'envoyer ?
ben en faisant un
$source= file_get_contents("tapagehtml") tu récupéreras le contenu
maintenant si tu veux mettre les valeurs de ton formulaire dans ta page HTML, il vaudrait mieux que ta page soit en php, tu lui passerai les variables en get (en les mettant dans l'url) et en php tu afficherais ces variables où tu le veux

je pense pas avoir été très clair, si tas pas compris demandes XD
0
mattioouu
Messages postés
15
Date d'inscription
vendredi 5 juin 2009
Statut
Membre
Dernière intervention
15 juin 2009

5 juin 2009 à 16:41
Cela doit être très clair pour tous ceux qui gère le php... ;) Ce qui n'est pas mon cas... Malheureusement...

Déjà je le place où le $source ?? :)

Pour la suite je comprend à peu près... mais ne sais pas comment faire... Ferais-je mieux d'abandonner ??

... J'aimerai tellement y arriver...
0
Alain_42
Messages postés
5358
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
901
5 juin 2009 à 17:00
la page formulaire, celle qui sera remplie par le client:
<html>
<head>

<head>
<body>
<form name="form1" id="form1" method="post" action="env_mail.php" >
Nom:
<input type="text" name="nom" id="nom" value="" /><br />
Date d'arriv&eacute;e :
<input type="text" name="date_arr" id="date_arr" value="" /><br />
Date de depart :
<input type="text" name="date_dep" id="date_dep" value="" /><br />
Email destinataire :
<input type="text" name="email_dest" id="email_dest" value="" /><br /><br />
<input type="submit" name="envoyer" id="envoyer"value="Envoyer"  >
 
 
<form>
</body>
</html>

et le script env_mail.php:

<?php
if(isset($_POST['envoyer'])){ //le formulaire a été posté
	//on recupère les valeurs (les noms entre [] correspondent aux names= des champs du formulaire)
	$nom=$_POST['nom'];
	$date_arr=$_POST['date_arr'];
	$date_dep=$_POST['date_dep'];
	$email_dest=$_POST['email_dest'];

	//genration du mail:	
	$headers = "MIME-Version: 1.0\r\n";
	$headers .= "Content-type: text/html; charset=iso-8859-1\r\n"; // type HTML
	$headers .= "From: test@test.com <test@test.com>\r\nReply-to : test@test.com <test@test.com>\nX-Mailer:PHP"; //la tu mets ton adresse mail à toi

	$sujet=" Votre demande de reservation";  // attention pas d'accents !
	
	$corps="Madame, Monsieur $nom ,"; // une virgule pour faire bien
	$corps.="<br /><br />"; //retour à la ligne
	$corps.="Nous avons le plaisir de vous confirmer votre réservation du $date_arr au $date_dep.";
	$corps.="<br /><br />"; //retour à la ligne
	
	//etc..
	 // .= permet de concatener (empiler à la suite)
	 
	 //envoi du mail et message de conbfirmation
	 if (mail($email_dest,$suject,$corps,$headers)) {
		echo "Votre mail a &eacute;t&eacute; envoy&eacute;";
	} else {
		echo "Une erreur s'est produite";
	} 
	 
}
?>
0
Alain_42
Messages postés
5358
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
901
5 juin 2009 à 17:02
Houps une petite erreur là:

	 if (mail($email_dest,$sujet,$corps,$headers)) {


$sujet et pas $suject
0
mattioouu
Messages postés
15
Date d'inscription
vendredi 5 juin 2009
Statut
Membre
Dernière intervention
15 juin 2009

5 juin 2009 à 17:20
C'est super, je testerai ça lundi. C'est vraiment sympa d'avoir des personnes qui dépense du temps pour aider les autres.

Merci beaucoup (enfin si ça marche) :p
0
mattioouu
Messages postés
15
Date d'inscription
vendredi 5 juin 2009
Statut
Membre
Dernière intervention
15 juin 2009

8 juin 2009 à 14:43
C'est super!! :) Je vous embête une dernière fois... pour ajouter un menu déroulant ?? :) merci
0
mattioouu
Messages postés
15
Date d'inscription
vendredi 5 juin 2009
Statut
Membre
Dernière intervention
15 juin 2009

9 juin 2009 à 16:06
Pas de réponse pour les menu déroulant... J'arrive à ajouter d'autre champ text mais pas de menu... :(

Voici mon code :

<html>
<head>

<head>
<body>
Civilite :
<select name="civilite" id="civilite">
<option value="Mademoiselle">Mademoiselle</option>
<option value="Madame">Madame</option>
<option value="Monsieur">Monsieur</option>
</select><br />
Nom:
<input type="text" name="nom" id="nom" value="" /><br />
Date d'arrivée :
<input type="text" name="date_arr" id="date_arr" value="" /><br />
Date de depart :
<input type="text" name="date_dep" id="date_dep" value="" /><br />
Numero de confirmation :
<input type="text" name="numero" id="numero" value="" /><br />
Email destinataire :
<input type="text" name="email_dest" id="email_dest" value="" /><br /><br />
<input type="submit" name="envoyer" id="envoyer"value="Envoyer" >


<form>
</body>
</html>



MErci
0
mattioouu
Messages postés
15
Date d'inscription
vendredi 5 juin 2009
Statut
Membre
Dernière intervention
15 juin 2009

9 juin 2009 à 16:11
Ah c'est bon, j'avais oublier :

<form name="form1" id="form1" method="post" action="env_mail.php" >
0
mattioouu
Messages postés
15
Date d'inscription
vendredi 5 juin 2009
Statut
Membre
Dernière intervention
15 juin 2009

9 juin 2009 à 16:52
Alors tout est bon... :) Merci beaucoup...
Autre question... Comment faire pour ajouter des éléments graphique au mail, j'ai une bannière que j'aimerai mettre au dessus du texte...

J'ai vraiment besoin de votre aide.
0