Envoi d'un email par un formulaire de contact

Petit nouveau ! | 6 Messages

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
Modifié en dernier par nic563 le 24 juil. 2007, 17:02, modifié 1 fois.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

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 :)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Mammouth du PHP | 536 Messages

24 juil. 2007, 15:44

Le problème doit venir de là :

Code : Tout sélectionner

$texte="<html>"; $texte.="$texte"; $texte.="</html>";
Un prof désespéré à son élève :
- Et maintenant, dessinez-moi un cercle au tableau... Voila... Alors qu'est-ce que c'est?
- Ben un cercle ?
- Non, c'est votre note, sortez !!

Petit nouveau ! | 6 Messages

24 juil. 2007, 17:00

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


Encore un tout grand merci !!!