problème de formatage de données d'un email

Petit nouveau ! | 2 Messages

12 sept. 2008, 16:30

Bonjour à tous,

Je suis en train de faire un petit formulaire qui sera renvoyé par email.
J'arrive bien à envoyer le formulaire et à recevoir les données par contre je n'arrive pas à mettre en forme le données de celui-ci :( . je reçois correctement les données du formulaire mais le code html n'est pas interprété. Que me faut-il modifier ?

voici mon code.
// debut de recuperation des donnees
$ztext1 = $_POST['ztext1'];
$ztext2 = $_POST['ztext2'];
$rad1 = $_POST['rad1'];
$rad2 = $_POST['rad2'];
$rad3 = $_POST['rad3'];
$rad4 = $_POST['rad4'];
$rad5 = $_POST['rad5'];
$rad6 = $_POST['rad6'];
$rad7 = $_POST['rad7'];
$rad8 = $_POST['rad8'];
$rad9 = $_POST['rad9'];
$rad10 = $_POST['rad10'];
$remarque = $_POST['remarque'];
// Fin de recuperation des donnees

$destinataire="[email protected]"; // Destinataire 
$sujet ="Formulaire de satisfaction qualité"; // Sujet du mail

$contenu.="<html><body><font size=2 face=arial>Bonjour,<br><br>";
$contenu.="<b>Societe</b> : $ztext1 <br><br>";
$contenu.="<b>Nom</b> : $ztext2 <br><br>";
$contenu.="<b>Accessibilite joignabilité</b> : $rad1 <br><br>";
$contenu.="<b>Proximite présence</b> : $rad2 <br><br>";
$contenu.="<b>Frequence</b> : $rad3 <br><br>";
$contenu.="<b>Appréhension</b> : $rad4 <br><br>";
$contenu.="<b>Delai</b> : $rad5 <br><br>";
$contenu.="<b>Qualite</b> : $rad6 <br><br>";
$contenu.="<b>considere 1</b> : $rad7 <br>";
$contenu.="<b>considere 2</b> : $rad8 <br>";
$contenu.="<b>considere 1</b> : $rad9 <br>";
$contenu.="<b>relation commerciale</b> : $rad10 <br>";
$contenu.="<b>autres remarques</b> : $remarque <br>";
$contenu.="<br><br>A bientot.<br><br>";
$contenu.="</body></html>";
$headers.= "From: $ztext1 $ztext2";

mail ($destinataire,$sujet,$contenu,$headers);

echo 'merci votre formulaire a bien été envoyé';
Merci à vous tous

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

12 sept. 2008, 16:37

Modération :
albtr, afin d'améliorer la lisibilité de ton message,
pense à utiliser les balises [code] ou [php] (selon le langage utilisé).

Elles sont disponibles au-dessus de la zone de saisie de ton message
lorsque tu postes un nouveau message.

Des indications sont disponibles sur la manière de mettre en forme vos messages dans la FAQ


NB : Je l'ai fait pour toi. ;)

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

12 sept. 2008, 16:39

Où définis-tu l'entête de ton mail (la variable $headers) ? ;)

C'est dans cette variable que tu indiques - notamment - le format (TXT ou HTMl) de ton mail.

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

12 sept. 2008, 16:42

Par ailleurs...
mail ($destinataire,$sujet,$contenu,$headers);
echo 'merci votre formulaire a bien été envoyé'; 
est fonctionnellement incorrect.
Le message de confirmation s'affichera même si l'envoi de mail a échoué.

Mieux vaut :
if (mail($destinataire,$sujet,$contenu,$headers))
   echo 'Merci, votre formulaire a bien été envoyé.';
   else
   echo 'Envoi planté.'; 

Petit nouveau ! | 2 Messages

12 sept. 2008, 17:16

Merci Albat pour tout ses petits conseils, je vais regarder tout ça de prêt ce weekend-end :)

(Désolé pour le code php dans le sujet)