Envoi d'un email par un formulaire de contact

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Envoi d'un email par un formulaire de contact

par nic563 » 24 juil. 2007, 17:00

Super, tout fonctionne parfaitement grâce à vos précieux conseils !


Encore un tout grand merci !!!

par béka » 24 juil. 2007, 15:44

Le problème doit venir de là :

Code : Tout sélectionner

$texte="<html>"; $texte.="$texte"; $texte.="</html>";

par Ryle » 24 juil. 2007, 15:43

Tu as quelques soucis dans le choix du nom de tes variables selon moi... :)
$texte ="<html>"; // tu définies une valeur à $texte
$texte.="$texte"; // tu complète $texte avec la valeur que tu lui a données ci dessus
$texte.="</html>"; // tu compète encore $texte
Au final, $texte ici est égal à "<html><html></html>" :)

Pour éviter cela, utilise les variables super globales pour récupérer les données de ton formulaire. Tu n'auras du coup pas non plus à te soucier de savoir si la directive register globals est active ou pas :)
$texte ="<html>"; 
$texte.= $_POST['texte'];
$texte.="</html>";
A noter qu'il manque les balises body pour que le code html soit correct :)

Envoi d'un email par un formulaire de contact

par nic563 » 24 juil. 2007, 12:27

Bonjour à tous,

Je rencontre un problème avec l'envoi d'un mail par l'intermédiaire d'un formulaire de contact sur mon site. Quand je reçois l'email, il est entièrement vide comme si mon code php n'allait pas rechercher les informations encodées dans le formulaire.

Voici le lien vers mon formulaire de contact: http://www.nic563.be/contact.html

Et voici le code PHP présent dans mon fichier "traitement.php":

Code : Tout sélectionner

<?php $adresse="[email protected]"; $from="From: $nom<$email>\r\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&eacute; ! Je vous r&eacute;pondrai rapidement. Merci!</h2></font><br><a href=/>Cliquez ici pour revenir &agrave; l'accueil</a></center>"); else echo("<center><font color=red><br><br><br><h2>Probl&egrave;me &agrave; l'envoi du mail...d&eacute;sol&eacute; nous ne pouvons actuellement traiter votre demande</h2></font><br>Contactez nous plus <a href=\"mailto:$adresse\">classiquement</a>"); ?>
Merci d'avance à ceux qui pourront m'aider.

Nic