Posez votre question Signaler

Envoyer page HTML via Formulaire [Résolu]

mattioouu 16Messages postés 5 juin 2009Date d'inscription - Dernière réponse le 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
Lire la suite 

Envoyer page HTML via Formulaire »

15 réponses
Réponse
+0
moins plus
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
Ajouter un commentaire
Réponse
+0
moins plus
Voici mon header :

$headers .= "Content-type: text/plain; charset=iso-8859-1\r\n";
Ajouter un commentaire
Réponse
+0
moins plus
<?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.
Ajouter un commentaire
Réponse
+0
moins plus
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 ^^)
Ajouter un commentaire
Réponse
+0
moins plus
Merci, mais je fais quoi ensuite ??... Désolé j'suis un pauvre newb...
Ajouter un commentaire
Réponse
+0
moins plus
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.
Ajouter un commentaire
Réponse
+0
moins plus
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
Ajouter un commentaire
Réponse
+0
moins plus
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...
Ajouter un commentaire
Réponse
+0
moins plus
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";
	} 
	 
}
?>
Ajouter un commentaire
Réponse
+0
moins plus
Houps une petite erreur là:

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


$sujet et pas $suject
Ajouter un commentaire
Réponse
+0
moins plus
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
Ajouter un commentaire
Réponse
+0
moins plus
C'est super!! :) Je vous embête une dernière fois... pour ajouter un menu déroulant ?? :) merci
Ajouter un commentaire
Réponse
+0
moins plus
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
Ajouter un commentaire
Réponse
+0
moins plus
Ah c'est bon, j'avais oublier :

<form name="form1" id="form1" method="post" action="env_mail.php" >
Ajouter un commentaire
Réponse
+0
moins plus
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.
Ajouter un commentaire
Ce document intitulé « envoyer page HTML via Formulaire » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?