Envoi variable dans un e-mail html en PHP

Fermé
diabli73 Messages postés 6 Date d'inscription vendredi 12 septembre 2008 Statut Membre Dernière intervention 20 octobre 2008 - 12 sept. 2008 à 11:26
 toto - 12 sept. 2008 à 16:36
Bonjour, je programme un site en php et j'envoie un mail pour l'inscription au format HTML. ma question est comment dans ce mail rajouter des variables PHP? (donc des données déjà récupérées de ma base) ?

En fait je fais $log = $p->getUser_login(); (pour récupérer l'identifiant du nouvel inscrit)
et après si je teste en mettant juste le log dans le message :
$message = $log;
Cela renvoi le log dans le message.

Mais si j'essaye de placer le log dans mon mail au format HTML, l'HTML s'affiche rien mais à l'endroit ou est placé $log dans le code HTML, et bien rien ne s'affiche.

Mon code exacte est :


$log = $p->getUser_login();
$to = $p_datas->getUser_parent_email();
$Sujet = "Validation de votre compte KidParent";
$kid = "inscription@kidnet.fr";



/* le type Content-type est configuré pour l'HTML */
$en_tete .= "From:". $kid ."\n";
$en_tete .= "MIME-version: 1.0\n";
$en_tete .= "Content-type: text/html; charset= iso-8859-1\n";




/*----- Enregistrement de la page HTML à envoyer dans la variable message----- */

$message = '


<html>
<head>
<title>Bienvenue à notre nouveau KidParent: </title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
body
{ font-family: verdana;
color: black;
font-size: 12px ;
text-align: justify;
background-color:#f5f5f5;}
h1
{color:#ec8310;
font-family: arial;
text-align: center;
font-size: 20px;
}

h7
{font-size:10px;}
h3{
color:#5d87c1;
font-weight: bold;
font-family: arial;
text-align: left;
font-size: 15px;
}

a
{border: none;
font-weight: bold;
text-decoration: underline; color:#4fae29;}

a img { border: none; }

a:hover
{
font-weight: bold;
text-decoration: underline; color:#4fae29; }

</style>
</head>

<body>

<div align="center">

<table width="800" border="0" bgcolor="#FFFFFF" CELLPADDING="10px">

<tr><!-- BANDEAU -->
<td colspan="3"><a href="http://www.kidnet.fr/?p=40"><img src="http://www.kidnet.fr/images/mail/bandeau_nu.gif" width="800"></a></td><!-- width="999" height="199"-->
</tr>

<tr><!-- DATE -->
<td colspan="3" align="left"><i>Orsay, le "date d\'inscription"</i></td>
</tr>

<tr><!-- TITRE -->
<td colspan="3"><div align="center"><h1>Bienvenue à notre nouveau KidParent !<br />
Vous venez de rejoindre KidNet sous l\'identifiant : <?php echo $log; ?> </h1></div></td>
</tr>

<tr><!-- Bonjour -->
<td width="150px"><div align="center"><a href="http://www.kidnet.fr"><img src="http://www.3d2plus.fr/images/imagejeu/kidnet.png" width="118"></a></div></td>
<td width="650px" align="left"><h3>COMPTE OUVERT</h3>
<p>Bonjour, Vous venez d\'ouvrir un compte KidParent dans KidNet et nous vous en remercions. Vous devez maintenant
valider votre inscription en cliquant sur le lien ci-dessous:</p>
<p><a href="">Valider_mon_compte_pour_"id"</a></p>
</td>
</tr>

<tr height="20px">
<td width="150px"></td>
<td width="500px"><div align="left"><img src="http://www.3d2plus.fr/images/imagejeu/separate.png"></div></td>
<td width="150px"></td>
</tr>

<tr><!-- INFOS COMPTE -->
<td width="150px">
</td>
<td width="650px" colspan="2" align="left" valign="top"><h3>VOS INFORMATIONS</h3>
Pour information, voici les données que vous nous avez communiquées :<br /><br />
Identifiant: <font color="#5d87c1">"id"</font><br />
Nom: <font color="#5d87c1">"nom"</font><br />
Prénom: <font color="#5d87c1">"prénom"</font><br />
Adresse: <font color="#5d87c1">"adresse"</font><br />
CP: <font color="#5d87c1">"CP"</font><br />
Ville: <font color="#5d87c1">"ville"</font></p>
</td>
</tr>

<tr height="20px">
<td width="150px"></td>
<td width="500px"><div align="left"><img src="http://www.3d2plus.fr/images/imagejeu/separate.png"></div></td>
<td width="150px"></td>
</tr>

<tr><!-- PASSWORD SECURITE -->
<td width="150px"></td>
<td width="650px" colspan="2" align="left" valign="top"><h3>CONCERNANT VOTRE MOT DE PASSE</h3>
<p>Pour des raisons de sécurité votre mot de passe ne sera jamais communiqué
par courriel. Vous pourrez le changer grâce à votre question secrète.</p>

<p>Merci de votre confiance et à bientôt sur KidNet.</p>
<br />
<p>L\'équipe de KidNet.</p>
</td>
</tr>

<tr height="20px">
<td width="150px">
<td width="500px"><div align="left"><img src="http://www.3d2plus.fr/images/imagejeu/separate.png"></div></td>
<td width="150px"></td>
</tr>

<tr><!-- FOOTER -->
<td width="150px"><div align="center"><a href="http://www.3d2plus.fr"><img src="http://www.3d2plus.fr/images/imagejeu/logo3d2plus.png" width="109" height="55"></a></div></td>
<td width="650px" colspan="2" align="left"><b>KidNet</b> est un service proposé par <b>3D2+</b> RCS Evry 499 039 188. Contact : <a href="mailto:3d2plus@3d2plus.fr">3d2plus@3d2plus.fr</a>
</td>
</tr>

</table>

</div>

</body>

</html>


';



$headers = "MIME-Version: 1.0\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\n";



/*------------------- MAIL PARENT --------------------------------*/






ini_set("track_errors",1);
if(! mail($to,$Sujet,$message, $en_tete))
{
$err_mess = "Erreur lors de l'envoi du mail: <em>". $php_errormsg ."</em>";
$mail_conf = 0;
}
else
{
$err_mess = "Votre message a été envoyé.";
$mail_conf = 1;
A voir également:

2 réponses

Bonjour

Dans ton message initial, tu rouvres une balise php <?php echo $log; ?> alors que tu es déjà à l'intérieur d'une instruction php.
il te suffit de faire
$lessage = ' tout ton très long début'. $log .'toute ta très longue suite'
1
diabli73 Messages postés 6 Date d'inscription vendredi 12 septembre 2008 Statut Membre Dernière intervention 20 octobre 2008
12 sept. 2008 à 11:44
Exemple plus simple car certains vont avoir la flemme de lire mon code, je viens de faire :

$to = $p_datas->getUser_parent_email();
$Sujet = "Validation de votre compte KidParent";
$kid = "inscription@kidnet.fr";

$test = "toto";

/* le type Content-type est configuré pour l'HTML */
$en_tete .= "From:". $kid ."\n";
$en_tete .= "MIME-version: 1.0\n";
$en_tete .= "Content-type: text/html; charset= iso-8859-1\n";




/*----- Enregistrement de la page HTML à envoyer dans la variable message----- */

$message = '


<html>

<body>

<h4>Merci <?echo $test;?></h4>


</body>

</html>


';



$headers = "MIME-Version: 1.0\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\n";



/*------------------- MAIL PARENT --------------------------------*/






ini_set("track_errors",1);
if(! mail($to,$Sujet,$message, $en_tete))
{
$err_mess = "Erreur lors de l'envoi du mail: <em>". $php_errormsg ."</em>";
$mail_conf = 0;
}
else
{
$err_mess = "Votre message a été envoyé.";
$mail_conf = 1;
}



Donc dans le mail je voudrais afficher Merci toto et il n'y a que merci qui s'affiche.

et si j'envoi juste $message = "toto" ou $message = $test;

je reçois bien un mail avec écrit toto.
0