Formulaire PHP - Bonne reception du e-mail mais sans le contenu (vide)
adriendk
Messages postés5Date d'inscriptionsamedi 27 février 2010StatutMembreDernière intervention17 octobre 2010
-
27 févr. 2010 à 15:49
gibozsec
Messages postés318Date d'inscriptionmardi 27 mai 2003StatutMembreDernière intervention11 mars 2010
-
1 mars 2010 à 18:16
Bonjour, alors j'ai un gros probème ca fait une semaine que je cherche l'erreur de mon formulaire dont la reception du mail est VIDE. Cela dis je reçois bien l'e-mail mais sans son contenu.
gibozsec
Messages postés318Date d'inscriptionmardi 27 mai 2003StatutMembreDernière intervention11 mars 2010 28 févr. 2010 à 10:27
Bonjour,
Au temps pour moi, j'avais lu rapidement le code et j'avais pas vu le problème avec ta variable texte.
Voilà ce que fait ton code :
$texte="<html>"; //La variable $texte contient seulement "<html>"
$texte.="$texte"; //Tu ajoutes de nouveau la variable $texte, elle contient donc maintenant "<html><html>"
$texte.="</html>"; //Tu ferme la balise, la variable contient maintenant "<html><html></html>"
En gros à aucun moment tu ne met de message dans ton mail, normal donc qu'il soit vide.
D'où vient le texte que tu veux mettre dans ton message ?
adriendk
Messages postés5Date d'inscriptionsamedi 27 février 2010StatutMembreDernière intervention17 octobre 2010 1 mars 2010 à 13:05
Désolé je ne comprend pas vraiment tout ce que tu me dis... Je débute :s
Le texte vient de l'utilisateur qui souhaite m'envoyer un message par l'intermédiaire de mon site web.
Le message reste vide, ainsi que le sujet et l'email de la personne.
gibozsec
Messages postés318Date d'inscriptionmardi 27 mai 2003StatutMembreDernière intervention11 mars 2010 1 mars 2010 à 18:16
Bonjour,
Je vais essayer d'expliquer plus clairement et avec plus de détails.
Tout d'abord tu dois récupérer les valeurs à utiliser pour l'envoi du mail (le destinataire, le message, ...).
Pour cela, si ça vient d'un formulaire, c'est soit envoyé en POST soit en GET. La différence entre POST et GET c'est que les données en POST sont envoyée avec l'entête HTTP de la requête alors que celle en GET sont transmises dans l'url. Comme je ne sais pas comment tu les récupères je vais supposer que c'est en POST.
Pour récupérer un paramètre passé en post voilà ce que tu dois faire :
Ici tu utilisais $_POST["$nom"] hors $nom ne contenait rien donc c'est comme si tu essayais d'accéder à $_POST[''], donc la valeur est null. Cette remarque vaut pour les autres champs.
N'oublie pas de récupérer également le corps du message (le texte que tu veux mettre dans le mail).
Une fois que tu as tout ça, tu prépares tes variables utiles à l'envoi (tu le fais déjà mais avec des erreurs).
Lorsque tu écris un code ressemblant à <?php $variable = "blabla"; ?> alors la variable $variable contient "blabla" et tout ce qu'elle contenait avant est écrasé (perdu). Si tu veux ajouter du texte à une variable tu dois utiliser l'opérateur "point" comme ceci :
<?php
$variable = "du texte";
$variable .= " et encore du texte";
?>
A la fin de ce code, ta variable vaut "du texte et encore du texte" (ça te sera utile pour ton $from par exemple.
Enfin, tu envois le mail, ça tu sais faire.
J'espère n'avoir raté aucune de tes erreurs cette fois (j'ai tendance à lire un peu vite) et t'avoir aidé.