Voir aussi
Dans la même rubrique :
Comment intégrer Snap Shots à Rapidweaver ?
Javascript : n’oubliez pas Mac OS !
Positionnement fixe... même avec Internet Explorer !
Quand JavaScript est désactivé... 2/2
Conseils pour débuter un site web
Menu dépliant pour les rubriques
Quand JavaScript est désactivé... 1/2
Contrôler l’accès d’une partie du site avec .htaccess
Proposer plusieurs styles pour votre site
Réaliser un formulaire de contact (5/4)
Réaliser un formulaire de contact (3/4)
Réaliser un formulaire de contact (2/4)
Réaliser un formulaire de contact (1/4)
Belles icônes pas chères !
Comment faire migrer son site ?
Webmasters : Comment mieux se référencer ?
La trousse du webmasterDu même auteur :
Un serveur dédié pour les nuls
Information et désinformation en santé
Stratégie Internet
Réaliser un formulaire de contact (4/4)
Soigner en ligne, un art impossible ?
Le web structuré et sa présentationMême indexation :
Technique Web
Menu de navigation sans JavaScript
Javascript : n’oubliez pas Mac OS !
Un lecteur RSS pour votre site 1/2
Réaliser un formulaire de contact (3/4)
Créer une liste de QCM
Exécuter un Javascript dans une page SPIP
Menu dépliant pour les rubriques
Un Editeur RSS pour votre site 1/2
Tri et Histogramme
Un Editeur RSS pour votre site 2/2
Comment faire migrer son site ?
Installer un script PHP pour les nuls
Page contact en PHP 3/3
Créer un forum à l’aide de phpBB
Editer plusieurs fichiers de syndication 3/3
Etablir un questionnaire statistique en ligne
Quand JavaScript est désactivé... 2/2
xhtml - 4 : Les entités
Syndication, comment s’y retrouver
Le web structuré et sa présentation
Initiation au xhtml - 1
Conseils pour débuter un site web
Editer plusieurs fichiers de syndication 1/3
Proposer plusieurs styles pour votre site
Page contact en PHP 1/3
Webmasters : Comment mieux se référencer ?
La Netiquette des forums
Réaliser un formulaire de contact (5/4)
Réaliser un formulaire de contact (2/4)
Analyser les réponses à une liste de questions
Initiation au xhtml - 2
Publication Spip : forme et typographie
Comment intégrer Snap Shots à Rapidweaver ?
Mise en place d’un forum : une décision qui doit être mûrement réfléchie
Qualité, centres d’intérêt et motivations des participants aux forums médicaux.
Initiation au xhtml - 3 : Rappel sur les pointeurs internet (URI/URL)
Page Erreur 404 en PHP
Belles icônes pas chères !
Quiz en PHP 3/3
Editer plusieurs fichiers de syndication 2/3
Astuce pour les images fréquemment utilisées
Gestion d’une rubrique... en attendant SPIP
Quiz en PHP 1/3
Utilisation de la classe easyRSS
Quand JavaScript est désactivé... 1/2
Quiz en PHP 2/3
Contrôler l’accès d’une partie du site avec .htaccess
Un lecteur RSS pour votre site 2/2
Un serveur dédié pour les nuls
MARST - Le Moteur Automatisé de Recherche en Santé au Travail
Page contact en PHP 2/3
Réaliser un formulaire de contact (1/4)
Soigner en ligne, un art impossible ?
Ecrire ce qu’on veut dans SPIP
Positionnement fixe... même avec Internet Explorer !
La syndication de contenu RSS
Lire nos fichiers de syndication
Afficher un fil RSS/Atom sur votre site 1/3
Afficher un fil RSS/Atom sur votre site 2/3
Afficher un fil RSS/Atom sur votre site 3/3
Lecteur RSS/Atom pour votre site 1/2
Lecteur RSS/Atom pour votre site 2/2
Lecture des caractères spéciaux et d’éléments d’un fil RSS/Atom
Syndication pour phpBB
Editez vos flux avec Fil_LE 1/2
Editez vos flux avec Fil_LE 2/2
Création à distance d’un fichier de syndication
Abandonnons RSS 0.91 !
Des fils RSS 1.0, RSS 2.0 et Atom 1.0 pour votre site SPIP
Accueil
Boite à Outils
Réaliser un formulaire de contact (4/4)
Vous trembliez déjà à l’idée de devoir programmer ? Rassurez vous comme beaucoup de langages le php a un ensemble de fonctions qui vous prémâchent le travail. D’ailleurs si vous le souhaitez, un autre article vous propose un formulaire en php. Revenons au notre et commençons par le début.
La fonction mail en php
Le but du traitement du formulaire est d’en récupérer les données, de les mettre en forme et de vous les envoyer par courrier éléctronique sans que votre adresse email ne soit divulguée publiquement.
La fonction mail répond à ces critères (les références sur la fonction mail sont ici), elle prend en paramètres :
$adresse : votre adresse email que vous allez inscrire uniquement dans cette page
$sujet : que vous avez fait sélectionner par les champs à boutons radio de votre formulaire.
$texte : qui est le contenu du textarea du formulaire.
$from : qui est le champ dans lequel est indiqué l’adresse de l’expéditeur.
Nous avons donc toutes les données dans des variables sauf votre email.
Commençons donc ainsi le fichier traitement.php :
<?php
$adresse="monadresse@monfai.fr";
$from="$email";
mail($adresse, $sujet,$texte, $from);
?>
Trop facile hein ? Voilà que votre formulaire vous a envoyé un bel email de contact !
Bon, maintenant faisons mieux que ça.
Un champ from avec juste l’email, cela ne respecte pas les recommandations. C’est bête de s’en contenter puisque nous avons le nom et le prénom de l’envoyeur alors étoffons le champ from de la manière suivante :
<?php
$adresse="monadresse@monfai.fr";
$from=" $nom $prenom <$email>";
mail($adresse, $sujet,$texte, $from);
?>
Déjà, c’est plus propre. Ah oui, je sais que certains d’entre vous sont des fans du html dans le mail, si si ne vous cachez pas : on vous a vu.
Le html dans ce cas il faut le préciser dans le from ET le baliser dans le texte.
$adresse="monadresse@monfai.fr";
$from= "$nom $prenom <$email\r\n">;
$from.="MIME-Version: 1.0\r\n";
$from.="Content-Type: text/html";
$texte="<html>";
$texte.="$texte";
$texte.="</html>";
mail($adresse, $sujet,$texte, $from);
ceci signifie au lecteur de mail que c’est un savant mélange de texte et de html et que le protocole est le mime en version 1 et alors là vous pouvez maintenant rajouter tous les tags html que vous souhaitez des font des size des italiques etc.
Et maintenant ? On arrête de s’amuser ?
Presque. Après avoir joué avec notre boite de crayons de couleur et tout taggué en rose avec une image de fond en gif animé (non, c’est une blague). Nous pouvons désormais nous occuper de notre visiteur qui a rempli son formulaire : il remplit, il clique et...rien. C’est quand même un peu léger vous ne trouvez pas ?
Changeons tout ça :
<?php
$adresse="votreadresse@votrefai.com";
$from="From: $prenom $nom<$email>\r\n";
$from.="Reply-To: $prenom $nom <$email>\n";
$from.="X-priority:3\n";
$texte="<html>";
$texte.="$texte";
$texte.="</html>";
$from.="MIME-Version: 1.0\r\n";
$from.="Content-Type: text/html";
if (mail($adresse,$sujet,$texte,$from))
echo("<center><font color=green><br><br><br><h2>Formulaire envoyé ! Je vous répondrais rapidement. Merci!</h2></font><br><a href=/>Cliquez ici pour revenir à l'accueil</a></center>");
else
echo("<center><font color=red><br><br><br><h2>Problème à l'envoi du mail...désolé nous ne pouvons actuellement traiter votre demande</h2></font><br>Contactez nous plus <a href="mailto:$adresse">classiquement</a>");
?>
Et voilà : on vérifie si la fonction mail avec ses paramètres a bien été exécutée et en fonction on envoie un message de confirmation...ou d’erreur !
Hack hack hack....
Eh oui les vilains hackeurs n’aiment pas nos sites : dès qu’ils le peuvent, comme les gosses qui taggent la maison juste peinte, ils defaced votre site pour vous montrer qu’ils sont "très forts"...
Gâchons leur le plaisir de défigurer notre site en évitant le cross scripting : prenez chacune de vos variables et appliquez leur la fonction htmlentities() qui transformera leurs tentatives d’intrusion de code en texte lisible et non interprétable.
Soit $texte=htmlentities($texte) ; $nom=htmlentities($nom) ; etc.
Et voilà, nous avons donc créé un formulaire, mis en forme ce formulaire, mis en place des contrôles dans celui-ci et nous venons d’achever le traitement de ce formulaire.
Il n’y a plus qu’à déposer nos deux fichiers formulaire.html et traitement.php dans le même répertoire de votre serveur web et c’est gagné.
Un dernier truc ?
Ce formulaire est autonome à une condition, dans la page formulaire.html, remplacez le action="traitement.php" par action="http://www.adressedevotresite.com/traitement.php" et lorsque la personne le validera, offline, son ordinateur tentera alors de se connecter pour vous envoyer les données. L’avantage c’est que vous pouvez alors réaliser des formulaires à distribuer ou à envoyer à des collègues et ne pas vous soucier du lieu où sera rempli le formulaire.
Alors bon formulaire et à bientôt.
Tiens : à ce propos, vous ne voudriez pas apprendre à stocker vos données dans un fichier texte ou une base mysql ?

Bonjour à tous ! J’ai quelques soucis avec la partie traitement.php. Quelqu’un peut-il m’aider à résoudre mon problème ? Lorsque j’envoie le formulaire l’erreur suivante apparaît : "Parse error syntax error, unexpected ’<’ in/home/mon nom utilisateur/public_html/traitement.php on line 31 (tantôt c’est on line 33 ou on line 34 à chaque modification). Je ne sais pas à, quoi cela correspond ni signifie.
D’autre part, ma page formulaire et ma page traitement ont été mises dans le même dossier que mes fichiers site dans public_html, est-ce correct ?
D’avance merci pour vos réponses.
<? Et
===============================================
$adresse="…
$nom = $_POST['nom'];
$prenom = $_POST['prenom'];
$sujet= $_POST['sujet'];
$email = $_POST['email'];
===============================================
Le $_post[‘nom’] est la variable délivrer par le formulaire et qui est stocké dans la variable nom qui est envoyer par la suite par le traitement php
Bon codes a tous
je suis pas douée mais voila ce qu on m’affiche....
Notice : Undefined variable : prenom in c :\documents and settings\ac\mes documents\elonite\traitement.php on line 3
Notice : Undefined variable : nom in c :\documents and settings\ac\mes documents\elonite\traitement.php on line 3
Notice : Undefined variable : email in c :\documents and settings\ac\mes documents\elonite\traitement.php on line 3
Notice : Undefined variable : prenom in c :\documents and settings\ac\mes documents\elonite\traitement.php on line 4
Notice : Undefined variable : nom in c :\documents and settings\ac\mes documents\elonite\traitement.php on line 4
Notice : Undefined variable : email in c :\documents and settings\ac\mes documents\elonite\traitement.php on line 4
Notice : Undefined variable : sujet in c :\documents and settings\ac\mes documents\elonite\traitement.php on line 11
Warning : 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 :\documents and settings\ac\mes documents\elonite\traitement.php on line 11
Problème à l’envoi du mail...désolé nous ne pouvons actuellement traiter votre demande
Contactez nous plus classiquement
Bonjour,
J’ai aussi des problèmes pour mettre en ligne mon formulaire de contact et je voulais savoir si vous aviez résolu votre probléme ?
Cordialement.
MIMIE
bonjour à tous.
j’ai suivi ce tuto jusqu’au dernier point, et la page du traitement.php s’affiche bien, MAIS... les message n’arrivent Pas !!!!
aidez-moi SVP ???
bonjour et merci pour ce formulaire que je cherchais depuis longtemps.
j’ai tout mis en place, mon formulaire fonctionne bien, mais je reçois un courrier complètement vide, sans expéditeur ni sujet ni texte. il doit donc y avoir une erreur de syntaxe quelquepart ? ou dois-je chercher ?
voilà ce que me dit mon hébergeur :
Content-Type : text/html X-Spam-Checker-Version : SpamAssassin 3.0.6 (2005-12-07) on monhebergeur.com X-Spam-Level : ****** X-Spam-Status : No, score=6.5 required=7.0 tests=FROM_NO_LOWER,FROM_NO_USER, HTML_90_100,HTML_MESSAGE,HTML_SHORT_LENGTH,MIME_HTML_ONLY, MISSING_SUBJECT,NO_RELAYS,PRIORITY_NO_NAME autolearn=no version=3.0.6 X-Antivirus : avast ! (VPS 071129-0, 29/11/2007), Inbound message X-Antivirus-Status : Clean
or le formulaire fonctionne, me fait les correctifs et m’envoie le mail...
Bonjour,
Votre formulaire.html et traitement.php sont en place.
Lors d’une simulation, après envoi, je bascule bien vers une page de confirmation comportant un lien vers la page d’accueil. De plus, je reçois bien un mail.
Mais un mail vide.
Rien n’est précisé (nom, prénom, Renseignement, Probleme technique, Partenariat, Votre message).
Comment récupérer le contenu du mail ?
Je vous remercie pour la clarté de votre démonstration.
En fait les trois choix sélectionnables par boutons apparaissent dans le sujet du mail reçu.
Mais rien n’apparaît du contenu du message envoyé...
En espérant que quelqu’un passe par là...
Bonjour,
j’ai suivi à la lettre votre article (très bien fait) et lorsque je souhaite envoyer le mail, voici le message d’erreur qui apparait :
Parse error : syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in /var/www/vhosts/francishuster.com/httpdocs/site/traitement.php on line 2
Pourtant j’ai mis les fichiers formulaire et traitement dans le même dossier et même en mettant l’adrese complète pour le fichier traitement dans le champ "action" de la balise "form", ça m’affiche ce message d’erreur... Quelle est cette erreur ?
J’ai honte de poser encore une question après ce tuto mais.... au final l’explorer soit ouvre la page php comme tu texte (sous Firefox) soit affiche les deux phrases (IE).(
Formulaire envoyé ! Je vous répondrais rapidement. Merci ! Cliquez ici pour revenir à l’accueil ") ; else echo(" Problème à l’envoi du mail...désolé nous ne pouvons actuellement traiter votre demande
Contactez nous plus classiquement") ; ?>)
)
Merci encore pour ce tuto tout de même .
Bonjour
A la lecture des différentes pages expliquant bien dans le détail la construction des deux fichiers (html et php) moi aussi je me suis dit là c’est du "costaud".
Depuis samedi, je suis donc sur ce formulaire et si au début bien sûr rien ne marchait (car j’ai voulu faire à ma sauce au niveau présentation) mais là les 2 dernières tentatives, j’ai bien suivi à la lettre ce qui est dit et j’en arrive au même résultat.
Lorsque je renseigne mon formulaire et que je clique sur le bouton Envoyer, j’ai bien ma page traitement.php qui apparaît avec le texte (petite précision pour que cette page s’affiche, il faut que je supprime la partie mailto.....) mais je ne reçois aucun mail dans ma bal (qui est bien signalée à l’endroit prévu).
Je me suis donc rendu dans les avis des utilisateurs et là je lis dans un post que ce script est assez ancien et qu’il ne peut fonctionner.
Patatrac
Qu’en est-il exactement ?
Bonne journée et merci tout de même pour le travail réalisé.
bonjour, merci beaucoup pour ces 4 articles très clairs et pédagogiques pour la réalisation d’un formulaire contact. Ca marche en plus !! ou presque en fait j’ai un souci car je ne reçois pas les données du formulaires et je reçois cela à la place :"Content-Type : text/html X-ProXaD-SC : Score=10 X-Antivirus : avast ! (VPS 000752-1, 26/06/2007), Inbound message X-Antivirus-Status : Clean
" qu’en est il ? et que je faire pour y remédier ? merci beaucoup pour votre retour. hubert
Bonjour, j’ai étudié avec beaucoup d’intérêts votre article sur la création d’un formulaire. Je débute dans la création de site, cependant vos explications me semblaient tellement claires que je croyais la partie gagnée !!
Néanmoins je rencontre un problème et me permet de vous l’exposer :
lorsque je souhaite envoyer le formulaire, une fen^tre windows s’ouvre et me demande si je veux enregistrer le fichier traitement.php sur le disque.
D’ou vient l’erreur ?
Merci de votre aide
Dans mon mail, je recois le message de l’utilisteur en double genre s’il écrit : "salut" je reçois : "salutsalut" ou " ça va bien ?" -> "ça va bien ?ça va bien ?"
LOOOL
Oui je sais c’est marrant mais un peu dommage, tant que les user ne le voient pas ça va...
Bonjour,
J’ai un pb. Je veux que le background demon mail soit d’une certaine couleur mais je n’y parviens pas. De plus lorsque je place les balises html, elles s’inscrivent sur le mail reçu. Avez vous la solution ?
bonjour, merci beaucoup pour ce beau boulot, pour une fois je comprends et j’arrive à quelque chose !!! J’ai néanmoins un souci de taille : je n’arrive pas à recevoir les infos du champ texte. J’y arrive seulement si j’enlève les 2 lignes comprenant $texte=""; alors je reçois du texte qui n'est pas mis en forme, pas très lisible. D'où peut venir le souci ? Merci encore ! Ci-dessous le code, avec quelques petites modifications que j'y ai apporté : <? $adresse="monadresse@free.fr"; $from="From: $nomprenom $entreprise<$email>\r\n"; $from.="Reply-To: $prenom $nom <$email>\n"; $from.="X-priority:3\n"; $texte=""; $texte.="$texte"; $texte.="" ; $from.="MIME-Version : 1.0\r\n" ; $from.="Content-Type : text/html" ; if (mail($adresse,$sujet,$texte,$from)) echo("
Bonjour, tout d’abord merci pour ce tutoriel, ça m’a appris à mieux me familiariser avec le PHP. J’avais un peu de mal avec cette façon de faire (en appelant un autre fichier) donc j’ai fouiné un peu et j’ai réussi à intégrer le code php directement dans la page de formulaire. 9a marche pas mal, je reçois le mail mais le souci c’est que je n’ai pas le contenu du champs (ce qui somme toute est le but de ce formulaire). Pourriez-vous me dire à quel moment mon code a une erreur ?
merci
<?php
$headers ='From: "mailing list"<textfield>'."n";
$headers .='Content-Type: text/plain; charset="iso-8859-1"'."n";
$headers .='Content-Transfer-Encoding: 8bit';
if(mail('zecocoblog@yahoo.fr','nouvel abonné','textfield',$headers))
{
//Message envoyé
}
?>
Super ce tutoriel !!! Mais j’ai quand m^me un souci. voilà j’ai donc fait un formulaire mais lorsque j’essaye d’envoyer ce dernier une page s’ouvre et m’indique cela : " 404 not found 12f Not FOUND The requested URL/messagesent.asp was not found on this server."
Que signifie cela ? J’ai certaiment du faire une erreur de script ? Ma page est elle introuvable ? Dois je ecrire les script en ASp ? Si oui où puis-je trouver ces script car je suis un néophite ? Merci de bien vouloir me repondre c tres important c pour mon travail.
Super ce tutoriel !!! Mais j’ai quand m^me un souci. voilà j’ai donc fait un formulaire mais lorsque j’essaye d’envoyer ce dernier une page s’ouvre et m’indique cela : " 404 not found 12f Not FOUND The requested URL/messagesent.asp was not found on this server."
Que signifie cela ? J’ai certaiment du faire une erreur de script ? Ma page est elle introuvable ? Dois je ecrire les script en ASp ? Si oui où puis-je trouver ces script car je suis un néophite ? Merci de bien vouloir me repondre c tres important c pour mon travail.
Super ce tutoriel !!! Mais j’ai quand m^me un souci. voilà j’ai donc fait un formulaire mais lorsque j’essaye d’envoyer ce dernier une page s’ouvre et m’indique cela : " 404 not found 12f Not FOUND The requested URL/messagesent.asp was not found on this server."
Que signifie cela ? J’ai certaiment du faire une erreur de script ? Ma page est elle introuvable ? Dois je ecrire les script en ASp ? Si oui où puis-je trouver ces script car je suis un néophite ? Merci de bien vouloir me repondre c tres important c pour mon travail.
Bonjour,
C’est bien le premier site sur lequel je vois un sujet traité aussi clairement à la fois très Pro et Sympa. J’avais des problèmes avec mes formulaires, non pas avec la création du formulaire, mais avec son exploitation. Autrement dit avec l’envoi et la réception du Mail qui ne fonctionnait pas toujours correctement selon la configuration de l’expéditeur. Conclusion la méthode n’était pas fiable. J’ai trouvé beaucoup de sources, mais qui revenaient au même que ce que j’avais fait. Bien souvent même en beaucoup plus compliqué et encore moins fiable. J’ai découvert votre site et là je souhaite approfondire. Malheureusement je bute sur une erreur. N’étant pas un spécialiste du php j’aimerais trouver de l’aide. Que ce soit avec la petite formule "Trop facile hein ?" ou avec le code complet ou que je pense complet, Le site me renvoi ce message d’erreur
Parse error : parse error in /www.............../test.php on line 4 Soit : $adresse=monmailzzz.fr ; Ou bien : Parse error : parse error in /www.............../traitement.php on line 19 Soit : classiquement
Je pense avoir un pb dans le code php pourrais-je le recevoir complet ? J’aimerais trouver une solution par cette méthode qui me semble pourtant bien saine..
Cordialement PH
Bonjour,
Si vous trouvez un parse error ligne "x" il faut relire le script et vérifier qu’il ne manque pas de " ;" à la fin des fonctions ni de guillemets non échappés (par un salsh "/") /’ /" dans le texte.
Allez courage !
Bonjour,
Merci pour votre prompte réponse. Mais avant de vous questionner j’avais déjà regardé le "forum". Je m’étais bien aperçu ne pas être le seul dans ce cas ! J’avais donc regardé du coté < ;> et <"> je n’ai rien trouvé ! Mais comme j’ai pas mal de problème à l’affichage du code même dans l’article, j’ai mis mon code en cause. C’est pourquoi je vous demandais s’il n’était pas possible de recevoir ce code complet. Pour faire simple, j’ai rentré ce code :
// test.php
<?php
$adresse="monadresse@xxxx.net";
$from="$email";
mail ($adresse, $sujet, $texte, $from) ;
?>
J’ai toujours la même erreur !!!! Parse error : parse error in /www/homes/h/...../public_html/test.php on line 4
Sans conviction j’ai tenté ceci // test.php
<?php
Même punition.....
$adresse=/"monadresse@xxxx.net/";
$from=/"$email/";
mail ($adresse, $sujet, $texte, $from) ;
?>
Pourtant TROP FACILE mais SOS ...
Il faut que je trouve un bon manuel de PHP
Cordialement PH
Bonjour,
Oula, il a vieilli aussi ce script
Aujourd’hui on récupère les variables différemment en les déclarant spécifiquement :
$adresse=$_POST["adresse"] ;
$from= etc.
ET en leur assignant également un "filtrage" pour les amis du XSS (cross scripting) :
cela fait donc :
$adresse=htmlentities($_POST["adresse"]) ;
Pour votre problème, ces considérations de sécurité étant faites :
ligne 1
<?php
ligne 2 $adresse = monadress@bla.net;
ligne 3 $from = $email;
ligne 4 mail($adresse, $sujet, $texte, $from);
ligne 5 ?>
nous sommes donc bien d’accord que la ligne 4 c’est "mail etc.", ok ? Il y a donc là dedans des guillemets ou slash ou ; en trop.
Pour $adresse c’est bon, sinon ça aurait planté au dessus.
Pour $from : pareil
reste $sujet ou $texte : quel en est le contenu et comment le protéger (voir les fonctions addslashes sur fr.php.net) : allez c’est presque fini !
Bonjour Merci encore pour votre disponibilité. Dans l’entre-temps j’avais avancé. Je suis parvenu à supprimer toutes les erreurs. Par contre j’avais presque le même problème qu’avec ma solution HTML/Java. Sauf que là au moins s’était systématique ! Plus fiable dans l’erreur !!!! Dommage ce n’était pas ce que je recherchais. Mon mail est bien envoyé, enfin presque, comme lorsque cela ne marchait pas avec mon system. CAD il y a bien l’entête mais le texte n’est pas transmis. ( tout ce qu’il y a dans la "textarea"
Enfin cela ne fait pas 60 printemps, que je suis têtu pour rien je persévère....
J’avance doucement mais "peut être" sûrement... Maintenant ça marche ouffff ! Enfin presque. Car la mise en forme "c’est pas ça". Les "return" se sont perdu en route Bon je vais essayer de trouver mais si vous pouvez me mettre sur le chemin je veux bien. PH
bonjour, je sais que je suis tres matinal, parce que je prefere travailler la nuit ; voilà j’ai entâmé la page de contacte de mon premier site web ; et comme je suis un double zero zerozero en php, j’ai cherché des tut, le votre m’a particulièrement attaché ; alors je l’ai suivi à pas de tortue ! seulement voilà , j’ai beau essayé de me faire envoyé un ptit email sympa ; mais en vein, je me suis dis peut etre que je devais installer le easyphp, j sais je suis p etre tebé mais bon, excusez mon mépris des choses ! j’ai retransféré le racine de mon site dans le www. maintenant j’execute ma page contacte.html à partir du web local ! et quand je clique sur envoyer !!!!???
regardez ce que j’ai comme message sur feuille blanche :
Notice : Undefined variable : email in c :\program files\easyphp1-8\www\site web gitra\site web\pages\traitement.php on line 3
Notice : Undefined variable : objet in c :\program files\easyphp1-8\www\site web gitra\site web\pages\traitement.php on line 4
Notice : Undefined variable : message in c :\program files\easyphp1-8\www\site web gitra\site web\pages\traitement.php on line 4
Warning : 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\easyphp1-8\www\site web gitra\site web\pages\traitement.php on line 4merci ; de m’eclaircir la voie ; et acceptez monsieur tous mes sincères salutation.
Bonsoir,
Il faudrait nous donner le code complet (sauf l’adresse email) du fichier traitement php. Pour pouvoir voir les lignes désignées en erreur.
Oula, il a vieilli aussi ce script
Aujourd’hui on récupère les variables différemment en les déclarant spécifiquement : $adresse=$_POST["adresse"] ;
C’est ce que l’on appel REGISTER_GLOBALS OFF Mais beaucoup d’hebergeurs sont en ON, et donc, que tu securises ton script avec un $_POST ne sert à rien si tu as un REGISTER_GLOBALS ON
cela fait donc :
$adresse=htmlentities($_POST["adresse"]) ;
mouais if (mail(gugussducondu.net,$sujet,$texte,$from)) meme pas besoin de htmlentittie, addslash
Sinon ce script est plus à jour, il y a plusieurs erreurs en fonction de la config de l’hebergeur comme chez ovh par exemple.
A revoir en entier !
bonjour à vous, tout d’abord bravo pour ce tuto, très clair et très pédagogue. Malgrè vos efforts, j’ai de petites problèmes : l’envoie de mon amil fonctionne mais le code html n’est pas interprété, voici le bout de code :
"$recipient = "mariec-ent.fr" ;
$msg=’

'; $msg.="Nom:\t$nom\nPrénom:\t$prenom\nSociété:\t$societe\nTel:\t$tel\nE-Mail:\t$mail\nMessage:\t$mess\n\n"; $msg.="
" ;$subject = "Demande de renseignement" ;
mail($recipient, $subject, $msg) ;" ................................................. deuxième question, j’ai donc intégré une photo, celle ci sera t’elle directement envoyé avec, ou faut il procédé d’une autre manière ?
voili voila
bonne continuation !
Tout dabord merci infiniement pou ce tutoriel.
Je rencontre un souci lors de la reception du mail apres la validation du formulaire.
Le mail est viege. Avez vous une idée d’ou cela peut il provenir ?
Un grand merci
bonjour,
je rencontre un souci avec la reception des email, en effet ces derniers sont vides !
Auriez vous uen idée ?
merci
j’ai un formulaire ecrit en php sur mon site. Une fois validé par le visiteur, un mail contenant les données du formulaire m’est envoyé sur mon adresse perso. Le problème est que le code fonctionne sous IE mais pas sous firefox ou safari (je tourne sous macos X 10,4,7) et je ne vois pas pourquoi : Sous IE tout fonctionne pour firefox et safari, un mail est envoyé mais les données du formulaire n’y figurent pas. Pouvez vous m’aider ?????
Voici le code du formulaire et du mail sortant
le code du mail :
<?
$MailTo = "glimm@mac.com";
$MailSubject = "Formulaire RDV";
$MailBody = "Formulaire de reponse:\n";
$MailBody .= "Nom médecin : ".$_POST['med']."\n";
$MailBody .= "Date1 : ".$_POST['date1']."\n";
$MailBody .= "Entre H1 : ".$_POST['entre1']."\n";
$MailBody .= "Et H1 : ".$_POST['et1']."\n";
$MailBody .= "Date2 : ".$_POST['date2']."\n";
$MailBody .= "Entre H2 : ".$_POST['entre2']."\n";
$MailBody .= "Et H2 : ".$_POST['et2']."\n";
$MailBody .= "Date3 : ".$_POST['date3']."\n";
$MailBody .= "Entre H3 : ".$_POST['entre3']."\n";
$MailBody .= "Et H3 : ".$_POST['et3']."\n";
$MailBody .= "Nom : ".$_POST['nom']."\n";
$MailBody .= "Prenom : ".$_POST['prenom']."\n";
$MailBody .= "Date de naissance : ".$_POST['naissance']."\n";
$MailBody .= "Téléphone : ".$_POST['phone']."\n";
$MailBody .= "Adresse Email : ".$_POST['email']."\n";
$MailBody .= "----------- Commentaires -----------";
$MailBody .= stripslashes($_POST['commentaires']);
$MailBody .= "------------------------------------";
if (!mail($MailTo, $MailSubject, $MailBody)) echo "impossible d'envoyer l'email";
?>
bonjour,
en html c’est avec
<input type="file">
le champ et pour le téléchargement de fichier via php je vous renvoie sur ce lien (ATTENTION A LA SECURITE !).
Voici un code corrigé et testé qui fonctionne également chez Free.fr :
<?php
error_reporting(0); // On n'affiche pas les horribles erreurs PHP, sauf pour dépunaiser
$from="From : $prenom $nom <$email>\r\n" ;
$from.="Reply-To : $prenom $nom <$email>\n";
$from.="X-priority:3\n";
$texte="$texte" ;
$from.="MIME-Version : 1.0\r\n";
$from.="Content-type : text/html ; charset=iso-8859-1\r\n" ;
$sujet=stripslashes($sujet) ;
$texte=stripslashes($texte) ;
$from=stripslashes($from) ;
if (mail("banasnieres@free.fr",$sujet,$texte,$from)) // veuillez indiquer le destinataire du formulaire
echo("<p>Formulaire envoyé. Merci.</p>");
else echo("<p>Problème lors de l'envoi du message.</p>") ;
?>
stripslashes vire les \ avant les apostrophes (certains serveurs en rajoutent à l’envi)
<?php
$adresse="mijo@marques-en-ligne.fr";
$from=" $code $adresse $paiement <$email\r\n">;
j'ai essayé
$from=" From:$code $adresse $paiement <$email\r\n">;
le problème est le même.
Où ai-je péché?
merci de votre aide
Bonjour,
pour les péchés je dirais IIS comme serveur 
sinon comme erreur je miserai sur :
$from=" From :$code $adresse $paiement <$email\r\n"> ;
<code>
pour lequel je mettrais plutôt:
<code>
$from=" From :$code $adresse $paiement <$email>\r\n" ;
c’est à dire la fermeture de tag dans le echo et les retour à la ligne après cette fermeture.
Allez en paix mon fils, et installez Apache plutôt 
bonjour, un grand merci pour vos explication qui ont le merite d’etre claire et qui de plus sont traitée avec de l’humour. Voila mon problème, je suis occuper de développer un site et celui-ci contient un formulaire de contact asser complexe, que j’ai récupérer et adapter a mes besoins. Bref... j’ai suivi vos explications quant à d’une part effectuer une verification sur les champs rempli et d’autre part fais un fichier php pour l’envoi du mail, malheureusement ca ne fonctionne pas. je suis débutant en programmation. et j’aimerais vos conseil afin de voir ou j’ai fais des erreurs. ce qui me permettra dans tirer des lecons.
voici l’adresse temporaire de mon site. http://membres.lycos.fr/degreefolivier/
et voici la partie de code du fichier PHP
<?php
$adresse="olivier.de.greef@gmail.com";
$from="From: $form_demandeur_nom<$email>\r\n";
$from.="Reply-To: $form_demandeur_nom <$email>\n";
$from.="X-priority:3\n";
$texte="<span class="base64" title='IjsNCiR0ZXh0ZS49IiR0ZXh0ZSI7DQokdGV4dGUuPSI=' ></span>";
$from.="MIME-Version: 1.0\r\n";
$from.="Content-Type: text/html";
if (mail($form_demandeur_nom,$form_demandeur_adresse,$form_demandeur_codepost,$form_demandeur_commune,$form_demandeur_email ))
echo("<center><font color=green><br><br><br><h2>Formulaire envoyé ! Je vous répondrais rapidement. Merci!</h2></font><br><a href= http://membres.lycos.fr/degreefolivier/>Cliquez ici pour revenir à l'accueil</a></center>");
?>
sauriez vous me guider dans mes erreurs
Grand merci d’avance
Bonjour,
sur la page indiquée : http://membres.lycos.fr/degreefolivier/offre.htm le formulaire est envoyé même si les champs ne sont pas remplis donc l’erreur vient déjà de là : problème javascript !
Il faut procéder champ par champ, courage.
Bonjour,
bravo pour votre site, mais le language html, c’est un peux du chinois pour moi... Voilà mon problème, j’ai un site, un formulaire, mais au moment de l’envoi je tombe sur un erreur 404...et je ne comprend pas pourquoi ca ne passe pas... qui peux m’aider ? y’a que ca qui ne fonctionne pas !!! arggg... merci d’avance pour votre aide...
salut Teddy,
euh..ton formulaire là
il n’a rien à voir avec celui proposé sur ce site hein 
Bon, ton formulaire, regarde dans le code :
<form action="/.mail" method="POST">
Tu as mis ça dans ton formulaire et tu as une erreur 404 ce qui signifie que la page appelée par le formulaire n’est pas bonne.
En effet, /.mail signifie le fichier invisible (".") et "/" signifie à la racine : je ne pense pas que ce soit l’effet voulu.
"./mail" signifierai le fichier mail du répertoire courant. Il est étonnant qu’il n’ait pas d’extension : php, cgi, asp ou autre.
Allez au boulot : débugguer c’est 99% du travail 
Je suis désolé mais je ne comprend pas tes explications ...comme je le disais, les " et les . c’est un peux du chinois, j’ai fait mon site sur frontpage, en essayant de récupérer à gauche, à droite des éléments pour m’en sortir... car j’ai appris tout seul à faire mon site web...peux-tu m’expliquer plus simplement ?
si tu veux voir un peu plus mon site : www.diamoonanimation.com
Bonjour,
Bravo pour votre site et vos explications qui sont sérieuse, précises et en plus humouristiques. Voila mon problème : Je souhaiterais recevoir par mail l’adresse mail d’un visiteur qui souhaite s’inscrire à une des newsletters du site. Que dois je faire pour que le bouton envoyer fonctionne correctement ?
je vous remercie d’avoir expliquer le code avec beaucoup de sérieux et de le détailler ainsi.
merci bien
Bonjour,
parceque le but n’était pas de faire le meilleur du top du top du javascript ou du php en les mettant en concurrence (ben oui le javascript se fait aussi côté serveur) mais plutôt de montrer les capacités basiques de ces langages pour permettre au lecteur d’y toucher un peu et d’aller ensuite plus loin.
ça s’appelle un didacticiel et d’ailleurs sur ce même site Alain Sichel a fait un formulaire contact clef en main uniquement en php pour ceux qui veulent du monolangage prêt à l’emploi.
Sinon merci pour la suggestion 
bonjour voila j’ai realiser grace a votre tuto un formulaire de contact tout fonctionne a part un truc je reçois le mail mais dans le mail il n’y a rien du tout !!!
pas une données c’est une page blanche
voila merci de m’aider a+
Bonjour,
Voilà j’ai réalisé ce formulaire