Dicton du 15 Novembre:
Á la saint Léopold, couvre les épaules.

Télécharger
Noter:

Formulaire de contact en PHP

Description

Un formulaire de contact est une chose utile pour votre site internet, ce petit script vous permettra d'en ajouter un facilement à votre site web.

Reste à vous de le styliser comme vous le souhaite grâce à HTML.

Code source (PHP)

<?php
/* Page: contact.php */
$VotreAdresseMail="votreemail@votresite.tld";//mettez ici votre adresse mail
if(isset($_POST['envoyer'])) { // si le bouton "Envoyer" est appuyé
//on vérifie que le champ mail est correctement rempli
if(empty($_POST['mail'])) {
echo "Le champ mail est vide";
} else {
//on vérifie que l'adresse est correcte
if(!preg_match("#^[a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+.[a-zA-Z]{2,6}$#",$_POST['mail'])){
echo "L'adresse mail entrée est incorrecte";
}else{
//on vérifie que le champ sujet est correctement rempli
if(empty($_POST['sujet'])) {
echo "Le champ sujet est vide";
}else{
//on vérifie que le champ sujet est correctement rempli
if(empty($_POST['message'])) {
echo "Le champ message est vide";
}else{
//tout est correctement renseigné, on envoi le mail
//on renseigne les entêtes de la fonction mail de PHP
$Entetes = "MIME-Version: 1.0\r\n";
$Entetes .= "Content-type: text/html; charset=iso-8859-1\r\n";
$Entetes .= "From: Nom de votre site <".$_POST['mail'].">\r\n";//de préférence une adresse avec le même domaine de là où, vous utilisez ce code, cela permet un envoie quasi certain jusqu'au destinataire
$Entetes .= "Reply-To: Nom de votre site <".$_POST['mail'].">\r\n";
//on sécurise les champs
$Mail=htmlentities($_POST['mail'],ENT_QUOTES,"ISO-8859-1"); //ENT_QUOTES Convertit les guillemets doubles et les guillemets simples, en entitès HTML, ISO-8859-1 est la norme pour les langues occidentales
$Sujet=htmlentities($_POST['sujet'],ENT_QUOTES,"ISO-8859-1");
$Message=htmlentities($_POST['message'],ENT_QUOTES,"ISO-8859-1");
//en fin, on envoi le mail
if(mail($VotreAdresseMail,utf8_encode($Sujet),nl2br($Message),$Entetes)) { //la fonction nl2br permet de conserver les sauts de ligne et la fonction urf8_encore de conserver les accents dans le titre
echo "Le mail à été envoyé avec succès !";
} else {
echo "Une erreur est survenue, le mail n'a pas été envoyé";
}
}
}
}
}
}
?>


Partie HTML du formulaire de contact:

Code source (HTML)

<!--
Les balises <form> sert à dire que c'est un formulaire
on lui demande de faire fonctionner la page contact.php
une fois le bouton "Envoyer" cliqué on lui dit également que c'est un formulaire de type "POST"
Les balises <input> sont les champs de formulaire
type="text" sera du texte
la balise <textarea> sert à dire qu'il faut afficher un champ de texte rectangulaire (les sauts de ligne sont possibles) au contraire des champ input text
Vous remarquerez que l'ont ne renseigne pas le type (type="") pour la balise textarea
cols="nombre de colone horizontale" rows="nombre de colone verticales"
type="submit" sera un bouton pour valider le formulaire
name="nom de l'input" sert à le reconnaitre une fois le bouton submit cliqué, pour le code PHPcontact.php
-->
<form action="contact.php" method="post">
Mail: <input type="text" name="mail" value="" />
<br />
Sujet: <input type="text" name="sujet" value="" />
<br />
Message: <textarea name="message" cols="40" rows="20"></textarea>
<br />
<input type="submit" name="envoyer" value="Envoyer" />
</form>

Commentaires

Génial!!! tout fonctionne parfaitement!!!

Merci beaucoup!!

Page contact en UTF-8

Code source (PHP)

$Entetes = "MIME-Version: 1.0\r\n";
$Entetes .= "Content-type: text/html; charset=UTF-8\r\n";
$Entetes .= "From: Nom de votre site <".$_POST['mail'].">\r\n";
$Entetes .= "Reply-To: Nom de votre site <".$_POST['mail'].">\r\n";
//on sécurise les champs
$Mail=htmlentities($_POST['mail'],ENT_QUOTES,"UTF-8");
$Sujet=htmlentities($_POST['sujet'],ENT_QUOTES,"UTF-8");
$Message=htmlentities($_POST['message'],ENT_QUOTES,"UTF-8");
//en fin, on envoi le mail
if(mail($VotreAdresseMail,$Sujet,nl2br($Message),$Entetes)) {
echo "Le mail à été envoyé avec succès !";
} else {
echo "Une erreur est survenue, le mail n'a pas été envoyé";
}

salut!! merci pour le tuto

Ajouter un commentaire

Pseudo/Nom *
Email *
Message *
La balise [code]Votre code...[/code] peut être utilisée


ATTENTION! Ce formulaire est exclusivement réservé aux commentaires
Pour toutes demandes d'aide, veuillez ajouter votre demande sur le forum svp

Captcha * deux - 1 =

Les champs marqués d'un * sont obligatoires.

Retour à la liste des scripts

Flag Counter