Formulaire de contact

Designer -  
 caro -
Bonjour je suis actuellement entrain de crée un formulaire pour mon site.

J'ai réussi a trouver sa.

<form action="envoi.php" method="post" enctype="application/x-www-form-urlencoded" name="formulaire">

<div class="contact_title">
<div class="custom_title">Formulaire</div>
</div>

<div class="contact_form_item">
<div class="contact_form_title">Nom :</div>
<div class="contact_form_input_bg">
<div class="contact_form_bg"><input id="form_name" name="nom" type="text" class="is_required" /></div>
</div>
<div class="contact_form_required">( * Obligatoire )</div>
</div>

<div class="contact_form_item">
<div class="contact_form_title">Prénom :</div>
<div class="contact_form_input_bg">
<div class="contact_form_bg"><input id="form_name" name="nom" type="text" class="is_required" /></div>
</div>
<div class="contact_form_required">( * Obligatoire )</div>
</div>

<div class="contact_form_item">
<div class="contact_form_title">Email :</div>
<div class="contact_form_input_bg">
<div class="contact_form_bg"><input id="form_email" name="mail" type="text" class="vemail is_required"/></div>
</div>
<div class="contact_form_required">( * Obligatoire )</div>
</div>

<div class="contact_form_item">
<div class="contact_form_title">Sujet :</div>
<div class="contact_form_input_bg">
<div class="contact_form_bg"><input id="form_subject" name="objet" type="text" class="is_required"/></div>
</div>
<div class="contact_form_required">( * Obligatoire )</div>
</div>

<div class="contact_form_item" style="height:130px;">
<div class="contact_form_title">Votre message :</div>
<div class="contact_form_textarea_input_bg">
<div class="contact_form_message_bg"><textarea id="form_message" name="message" class="is_required" rows="0" cols="0"></textarea></div>
</div>
<div class="contact_form_required">( * Obligatoire )</div>
</div>

<div style="padding-left:28px;">
<div class="contact_form_submit" style="width:40px;">
<input type="submit" name="Submit" value="" id="mySend" style="width:76px; height:24px; margin:0; cursor:pointer; padding:0; left:0;" />
</div>
</div>

</form>




Tout fonctionne nickel j'aimerais juste, quand je reçoi mon email savoir d où il provient.
Cordialement..

2 réponses

weetabix40 Messages postés 9583 Date d'inscription   Statut Contributeur Dernière intervention   1 724
 
Partie HTML :
<form id="contact" method="post" action="sendmail.php">
	<div id="content">
    <fieldset><legend>Vos coordonnées</legend>
		<div><label for="nom">Nom :</label></div>
        <div><input name="nom" type="text" id="nom" tabindex="1" size="40" />
        </div>
		<div><label for="email">Email :</label></div>
        <div><input name="email" type="text" id="email" tabindex="2" size="40" />
        </div>
	</fieldset>
    </div>

	<div id="content">
    <fieldset><legend>Votre message</legend>
		<div><label for="objet">Objet :</label></div>
        <div>
          <input name="objet" type="text" id="objet" tabindex="3" value="OBLET A MODIFIER" size="40" />
        </div>
	<div><label for="message">Message :</label></div>
        <div><textarea id="message" name="message" tabindex="4" cols="60" rows="8"></textarea>
        </div>
	</fieldset>
    </div>

	<div id="content" style="text-align:center;"><input type="submit" name="envoi" value="Envoyer le formulaire" /></div>
</form>


Partie PHP :
<?php
	/* CONFIGURATION */
	// destinataire est votre adresse mail. Pour envoyer à plusieurs à la fois, séparez-les par une virgule
	$destinataire = 'nom@domaine.com';

	// copie ? (envoie une copie au visiteur)
	$copie = 'oui'; // 'oui' ou 'non'

	// Messages de confirmation du mail
	$message_envoye = "<h1>Votre message nous est bien parvenu !</h1>";
	$message_non_envoye = "<h1>L'envoi du mail a échoué, veuillez réessayer SVP.</h1>";

	// Messages d'erreur du formulaire
	$message_erreur_formulaire = "Vous devez d'abord <a href=\"contact.html\">envoyer le formulaire</a>.";
	$message_formulaire_invalide = "Vérifiez que tous les champs soient bien remplis et que l'email soit sans erreur.";
	/* FIN DE LA CONFIGURATION */


	// on teste si le formulaire a été soumis
	if (!isset($_POST['envoi']))
	{
		// formulaire non envoyé
		echo '<p>'.$message_erreur_formulaire.'</p>'."\n";
	}
	else
	{
		/*
		 * cette fonction sert à nettoyer et enregistrer un texte
		 */
		function Rec($text)
		{
			$text = trim($text); // delete white spaces after & before text
			if (1 === get_magic_quotes_gpc())
			{
				$stripslashes = create_function('$txt', 'return stripslashes($txt);');
			}
			else
			{
				$stripslashes = create_function('$txt', 'return $txt;');
			}

			// magic quotes ?
			$text = $stripslashes($text);
			$text = htmlspecialchars($text, ENT_QUOTES); // converts to string with " and ' as well
			$text = nl2br($text);
			return $text;
		};

		/*
		 * Cette fonction sert à vérifier la syntaxe d'un email
		 */
		function IsEmail($email)
		{
			$pattern = "^([a-z0-9_]|\\-|\\.)+@(([a-z0-9_]|\\-)+\\.)+[a-z]{2,7}$";
			return (eregi($pattern,$email)) ? true : false;
		};

		// formulaire envoyé, on récupère tous les champs.
		$nom     = (isset($_POST['nom']))     ? Rec($_POST['nom'])     : '';
		$email   = (isset($_POST['email']))   ? Rec($_POST['email'])   : '';
		$objet   = (isset($_POST['objet']))   ? Rec($_POST['objet'])   : '';
		$message = (isset($_POST['message'])) ? Rec($_POST['message']) : '';

		// On va vérifier les variables et l'email ...
		$email = (IsEmail($email)) ? $email : ''; // soit l'email est vide si erroné, soit il vaut l'email entré

		if (($nom != '') && ($email != '') && ($objet != '') && ($message != ''))
		{
			// les 4 variables sont remplies, on génère puis envoie le mail
			$headers = 'From: '.$nom.' <'.$email.'>' . "\r\n";

			// envoyer une copie au visiteur ?
			if ($copie == 'oui')
			{
				$cible = $destinataire.','.$email;
			}
			else
			{
				$cible = $destinataire;
			};

			// Remplacement de certains caractères spéciaux
			$message = str_replace("&#039;","'",$message);
			$message = str_replace("&#8217;","'",$message);
			$message = str_replace("&quot;",'"',$message);
			$message = str_replace('<br>','',$message);
			$message = str_replace('<br />','',$message);
			$message = str_replace("<","<",$message);
			$message = str_replace(">",">",$message);
			$message = str_replace("&amp;","&",$message);

			// Envoi du mail
			if (mail($cible, $objet, $message, $headers))
			{
				echo '<p>'.$message_envoye.'</p>'."\n";
			}
			else
			{
				echo '<p>'.$message_non_envoye.'</p>'."\n";
			};
		}
		else
		{
			// une des 3 variables (ou plus) est vide ...
			echo '<p>'.$message_formulaire_invalide.' <a href="contact.html">Retour au formulaire</a></p>'."\n";
		};
	}; // fin du if (!isset($_POST['envoi']))
?>


Cordialement,
Weet
0
caro
 
moi j'ai un code un peu différent mais plus léger a mon gout!

ATTENTION: ce code ne marche qu'en ligne en locale l'envoie de mail te mettre une erreur:
(
Warning: mail() [function.mail]: Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in C:\Program Files (x86)\EasyPHP5.3.0\www\Nouveau dossier\mail.php on line 48
Le mail à bien était envoyé )

partie html:

<div class="texteform">
<form name="contact" method="post" action="mail.php">
<table border="0">
<tr>
<td>Nom et Prénom (*)</td>
<td>
<input type="text" name="nom"/></td>
</tr>
<tr>
<td>E-mail (*)</td>
<td>
<input type="text" name="email"/></td>
</tr>
<tr>
<td>Entrez votre message (*)</td>
<td><textarea name="message" cols="70" rows="10"></textarea></td>
</tr>

</table>
<br />

<input type ="submit" value="Envoyer"/>
<input type="reset" value=" Annuler "/>
</form>
<br/>

(*) les champs marqués sont obligatoires.
</div>


partie php:

<?php
if (isset($_POST) && isset($_POST['nom']) && isset($_POST['email'])&& isset($_POST['message']))
{
extract ($_POST);
//vérifier si la variable n'est pas vide
if(! empty ($nom) && !empty ($email)&& !empty ($message))
{
//fonction mail
$message= str_replace("\'","'",$message);
$destinataire="ton e-mail@gmail.com";
$sujet="Formulaire de contact";
$mes="Une demande est arrivée\n
Nom: $nom \n
E-mail : $email \n
Message: $message";
$entete="from: $nom \n
Reply-to: $email";
mail($destinataire, $sujet, $mes,$entete);

echo "Le mail à bien était envoyé";
}
//si les champs ne sont pas remplis

else
{


echo "Vous n'avez pas rempli tous les champs, votre mail ne pourra pas être envoyé si tous les champs ne sont pas rempli.";
}
}

?>


je suis ouverte à toute suggestion si quelqu'un à une meilleur idée. Pour le moment je cherche a inclure une checkbox mais je n'arrive pas a la faire prendre en compte dans le mail reçut!!! voilà...
j'ai oublié de te préciser que cette façon te permet de renvoyer des mails directement depuis ta boite mail le répondre et transfert marchent...
0