Inclure du PHP dans un mail en html

Inclure du PHP dans un mail en html - PHP - Programmation

Marsh Posté le 08-08-2012 à 19:06:08    

Bonjour,
alors je voudrais savoir comment inclure du php dans un mail en html ?
Par exemple, je voudrais récapitulez les informations du client qui s'est inscrit sur mon site, soit son e-mail et son mot de passe. Et justement c'est la que je bloque. Par exemple, il m'est impossible de mettre ==> <?php echo ["mail"]; ?>.
En espérant avoir été claire, merci d'avance de votre aide.

Reply

Marsh Posté le 08-08-2012 à 19:06:08   

Reply

Marsh Posté le 08-08-2012 à 20:39:10    

C'est exactement la même chose que dans une page html. A savoir des <?php echo $variable; ?>
 
Par contre une chose inquiétante c'est que tu souhaites envoyer son password à un membre de ton site, ça sous-entend qu'il est stocké en clair dans ta base de données, et je ne peux que te conseiller ne pas faire cela, c'est une très mauvaise conception.

Reply

Marsh Posté le 09-08-2012 à 01:05:17    

Merci d'avoir répondu.
 
Tu as surement raison, mais c'était de toute manière, juste pour récapitulé les données qu'il m'avait envoyé, et pour qu'il puisse conserver l'e-mail en cas de perte de mot de passe. Mais je vais surement hacher le mot de passe et permettre aux membres de changé le mot de passe en cas d'oubli. C'est encore très peu clair car je viens juste d'apprendre le php.  
Mais par contre, j'ai dêja essayer sous la forme <?php echo $variable; ?> mais ca ne fonctionne pas. Voici le code :  
// To
$to = $_POST["e-mail"];
 
// Subject
$subject = " Bienvenue ";
 
// clé aléatoire de limite
$boundary = md5(uniqid(microtime(), TRUE));
 
// Headers
$headers = 'From: "(l'e-mail de mon site) " <mail@server.com>'."\r\n";
$headers .= 'Mime-Version: 1.0'."\r\n";
$headers .= 'Content-Type: multipart/mixed;boundary='.$boundary."\r\n";
$headers .= "\r\n";
 
// Message
$msg = 'Texte affiché par des clients mail ne supportant pas le type MIME.'."\r\n\r\n";
 
// Message HTML
$msg .= '--'.$boundary."\r\n";
$msg .= 'Content-type: text/html; charset=utf-8'."\r\n\r\n";
$msg .= " (C'est donc la que je dois écrire mon code, mais je ne peux pas afficher, ou récapitulez le pseudo du membre, donc je ne peux pas écrire de PHP ) ."\r\n";
// Fin
$msg .= '--'.$boundary."\r\n";
 
// Function mail()
mail($to, $subject, $msg, $headers);

Message cité 1 fois
Message édité par fuji60 le 09-08-2012 à 01:35:38
Reply

Marsh Posté le 09-08-2012 à 09:44:55    

fuji60 a écrit :

Merci d'avoir répondu.
 
...
$msg .= " (C'est donc la que je dois écrire mon code, mais je ne peux pas afficher, ou récapitulez le pseudo du membre, donc je ne peux pas écrire de PHP ) ."\r\n";
// Fin
$msg .= '--'.$boundary."\r\n";
 
// Function mail()
mail($to, $subject, $msg, $headers);
...


 
Normal car tu es déjà en PHP. :o
Il ne faut pas confondre, tu n'est n'es pas dans une page HTML avec des appels à php dedans cf :
 

Citation :


<html>
<head>blabla</head>
<body>
<?php echo $maVariable; ?>
</body>
</html>


 
Ta page est déjà en PHP donc il faut faire dans le cas du dessus :

Citation :


$str = "<html>
<head>blabla</head>
<body>";
$str .= $maVariable;
$str .= "</body>
</html>";
echo $str;


 
edit : c'est un exemple, cette méthode est old-school, il faut mieux passer par des moteurs de templates comme XTemplate où tu écris à part ton php et ton html et dans le html tu utilises des balises spéciales que tu rempliras via le moteur de template dans ton code php. :jap:
 
et pour ton cas à toi :
 

Citation :


$msg .= "Nom utilisateur : ".$username."\r\nMot de passe :".$motdepasse."\r\n";



Message édité par FranceDenBas le 09-08-2012 à 09:46:06

---------------
"Il a inventé le bougisme : je bouge donc je suis" :sol: - Dupont-Aignan à propos de Son Altesse Sérénissime Sarkal 1er. Merci Handsome Devil et Meriadeck.
Reply

Marsh Posté le 09-08-2012 à 14:20:07    

Problème résolu.
Mais c'était en fait une erreur de ma part. Je devais juste déclarer les variables. Et ensuite, fermer les guillements avant d'écrire la variable déclaré, et ensuite réouvrir les guillements pour écrire la suite du message.
Merci quand même !  ;)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed