Envoi d'email variable non interpreté dans textaera

Eléphant du PHP | 183 Messages

04 déc. 2010, 12:29

Bonjour,

J'ai un souci pour l'envoi d'une newsletter a mes 100 membres,

J'ai un formulaire qui me reprendre le pseudo du membre et je voudrai mettre l'ID du membre dans le textaera mais la variable n'est pas interpreté.

Le formulaire :
<form method="POST" action="?ml&act=envoi">
<?php
$sujet = $_POST['sujet'];
$messag = $_POST['messag'];
?>
<b>Sujet :</b><br>
<input type="text" name="sujet" value="<?php echo $sujet; ?>" size="60">
<textarea rows="20" name="messag" cols="50"><?php echo $messag; ?></textarea>
 <input type="submit" name="submitlettre" value="Envoyer la NewsLetter">
</form>

Le code d'envoi d'email
$messag = utf8_decode($_POST['messag']);
$infos=@mysql_query("Select * FROM utilisateurs ORDER BY id ASC ");   

while($res=@mysql_fetch_assoc($infos)) 
    { 
$destinataires = $res["email"];  
$pseudo = utf8_decode($res["pseudo"]);
$idmembre = $res["idmembre"]);
$objet = "$sujet";	
	
$message = "$messag";

	$headers .= "X-Mailer: PHP\n"; 
	$headers .= "Content-Type: text/html; charset=iso-8859-1\n"; 
        if ( mail($destinataires, $sujet, $message, $headers) )
Ce que j'ai fait c'est que je met donc la variable $idmembre dans le textaera mais dans l'email je voi "$idmembre" et j'ai pas l'ID du membre.

Merci de vos réponse
Fabien
_________
Fabien

ViPHP
xTG
ViPHP | 7331 Messages

04 déc. 2010, 14:08

Quand tu remplis le formulaire tu es du côté client, donc le PHP a déjà été interprété. Donc c'est une chaîne de caractère que tu tapes et non une variable.

Ce qu'il te faut c'est une sorte de BBCODE, un code que tu rentres dans ton message, lors du post du formulaire tu remplaceras ce code par l'id du membre.
Par exemple le code #id# qui sera retrouvé et remplacé grâce à un simple str_replace(). :)

Eléphanteau du PHP | 21 Messages

04 déc. 2010, 15:51

Salut

Pourquoi ne pas mettre l'id dans un input hidden ... ?