J'ai un formulaire comme ceci :
Et je souhaite renvoyer tous les champs remplis au mail de destination et je connais pas trop le php.
Merci.
<?php
// Dans la ligne qui suit, indiquez l'adresse email a laquelle les messages devront etre envoyes
$email_webmaster = "jp.perget@yahoo.fr";
// === traitement des donnes du formulaire ============================================================
if (isset($_POST["envoyer"])){
// le formulaire a ete soumis
$etat = "erreur";
// erreur est la valeur par defaut. Prendra la valeur "ok" s'il n'y a pas d'erreur
// --- mise en forme des champs saisis dans le formulaire lors de sa soumission ---
if (isset($_POST["intitule_expediteur"])) {
$_POST["intitule_expediteur"]=trim(stripslashes($_POST["intitule_expediteur"]));
}
if (isset($_POST["email_expediteur"])) {
$_POST["email_expediteur"]=trim(stripslashes($_POST["email_expediteur"]));
}
if (isset($_POST["nom_expediteur"])) {
$_POST["nom_expediteur"]=trim(stripslashes($_POST["nom_expediteur"]));
}
if (isset($_POST["titre"])) {
$_POST["titre"]=trim(stripslashes($_POST["titre"]));
}
if (isset($_POST["message"])) {
$_POST["message"]=trim(stripslashes($_POST["message"]));
}
// --- test de la validit�des champs saisis ---
if(ereg("(\r|\n)", $_POST["email_expediteur"]) || ereg("(\r|\n)", $_POST["nom_expediteur"]) || ereg("(\r|\n)", $_POST["titre"])) {
// Des sauts de lignes dans les champs non autorisés -> sans doute un spammeur !
$erreur="Tentative de spam !";
}
elseif (empty($_POST["email_expediteur"])) {
// il manque l'email de l'expditeur
$erreur="Saisissez votre adresse email...";
}
// ce test est très strict, il existe des adresses valides qui risquent de pas valider
elseif (!eregi("^[0-9a-z][-_.0-9\+a-z]*@[0-9a-z][a-z0-9_-]*\.([a-z0-9_-]+\.)*[a-z]{2,}$", $_POST["email_expediteur"])){
// l'adresse e-mail n'est pas valide
$erreur="Votre adresse e-mail n'est pas valide...";
}
elseif (empty($_POST["nom_expediteur"])) {
// le nom est vide
$erreur="Merci d'indiquer votre nom";
}
elseif (empty($_POST["message"])) {
// le message est vide
$erreur="Saisissez votre demande";
}
else {
// --- tous les champs sont correctement remplis: on pourra envoyer le mail ---
$etat="ok";
}
}
else {
// --- le formulaire n'a pas ete soumis ---
$etat="attente";
}
// === fin de traitement des donnes du formulaire =======================================================
?>
<div class="post">
<?php
if ($etat!="ok"){
// si le formulaire n'a pas ete soumis, ou soumis avec une erreur
if ($etat=="erreur"){
//ou si le formulaire a été soumis avec une erreur
echo "<p><strong>".$erreur."</strong></p>";
// alors on affiche le message d'erreur
}
?>
<form method="post" accept-charset="utf-8" action="<?php echo $_SERVER["REQUEST_URI"]; ?>">
<p class="field"><label for="intitule_expediteur">Vous êtes:</label>
<input type="text" size="40" name="intitule_expediteur" id="intitule_expediteur" value="<?php
if (!empty($_POST["intitule_expediteur"])) {
//
echo htmlspecialchars($_POST["intitule_expediteur"],ENT_QUOTES);
}
?>"/>
(exemple : Monsieur)
<p class="field"><label for="email_expediteur">Votre adresse e-mail :</label>
<input type="text" size="40" name="email_expediteur" id="email_expediteur" value="<?php
if (!empty($_POST["email_expediteur"])) {
// l'adresse email de l'expéditeur a été saisie: la réafficher
echo htmlspecialchars($_POST["email_expediteur"],ENT_QUOTES);
}
?>" />
(requis)</p>
<p class="field"><label for="nom_expediteur">Votre nom :</label>
<input type="text" size="40" name="nom_expediteur" id="nom_expediteur" value="<?php
if (!empty($_POST["nom_expediteur"])) {
// l'adresse email de l'expéditeur a été saisie: la réafficher
echo htmlspecialchars($_POST["nom_expediteur"],ENT_QUOTES);
}
?>" />
(requis)</p>
<p class="field"><label for="titre">Titre du message :</label>
<input type="text" size="40" name="titre" id="titre" value="<?php
if (!empty($_POST["titre"])) {
// le titre du message a été saisi: le rafficher
echo htmlspecialchars($_POST["titre"],ENT_QUOTES);
}
?>" />
</p>
<p class="field"><label for="message">Votre message :</label>
<textarea name="message" id="message" cols="30" rows="6"><?php
if (isset($_POST["message"])) {
// le message a t saisi: le rafficher
echo htmlspecialchars($_POST["message"],ENT_QUOTES);
}
?></textarea></p>
<p><input type="submit" name="envoyer" value="Envoyer" />
</p>
</form>
<?php
}
else {
// le formulaire a ete soumis sans erreur, on envoie le mail
$entete = "From: \"{$_POST["nom_expediteur"]}\" <{$_POST["email_expediteur"]}>\n";
$entete .= "MIME-Version: 1.0\n";
$entete .= "Content-Type: text/plain; charset=\"utf-8\"\n";
$entete .= "Content-Transfer-Encoding: 8bit\n";
// Optionnel mais bien utile : garder trace de l'IP de l'expéditeur
$entete .= "X-Originating-IP: " . $_SERVER['REMOTE_ADDR'];
// Encode le sujet en BASE64
$subject = "=?utf-8?B?" . base64_encode($_POST["titre"]) . "?=";
// wrappe à 75 caractères le corp du message, afin de rester conforme avec l'usage...
// juste un bug : wordwrap ne comprends pas les caractères multi-bytes d'UTF-8
// mais en première approximation, c'est suffisant
$body = wordwrap($_POST['message'], 78);
if (@mail($email_webmaster, $subject, $body, $entete)){
// lorsque le mail aete envoye afficher un message de confirmation et proposer un lien pour revenir a l'accueil
// modifiez le lien de retour en fonction de votre url
echo "<p>Votre demande a bien été envoyée</p>";
}
else {
// s'il s'est produit une erreur lors de l'envoi du mail, on le signale et on propose de retourner au formulaire
echo "Un probleme s'est produit lors de l'envoi du message.\n";
echo "<a href=\"".$_SERVER["REQUEST_URI"]."\">Reessayez...</a>\n";
}
}
?>
Et je souhaite renvoyer tous les champs remplis au mail de destination et je connais pas trop le php.
Merci.