Précédent   Forum des professionnels en informatique > PHP > Langage > Débuter
Débuter Forum d'entraide pour débuter en PHP. Avant de poster -> Cours PHP, FAQ PHP, Outils PHP, etc.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 04/12/2010, 11h43   #1
Candidat au titre de Membre du Club
 
Inscription : août 2006
Messages : 144
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 144
Points : 11
Points : 11
Par défaut Envoi d'email variable non interpreté dans textaera

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 textarea mais la variable n'est pas interprété.

Le formulaire :
Code :
1
2
3
4
5
6
7
8
9
10
<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>

J'écris ceci dans le textarea > Bonjour $pseudo

J'appuis sur le bouton d'envoi de la newsletter
Le code d'envoi d'email
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
$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) )
Et j'obtiens dans l'email "Bonjour $pseudo"

Merci de vos réponses
Fabien
fabien14 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/12/2010, 12h29   #2
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
Heureusement encore que le code n'est pas interpreté.

Si vraiment tu veux le faire et que tu es sur de la securité de ce que tu fais, tu peux utiliser eval()
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/12/2010, 13h28   #3
Candidat au titre de Membre du Club
 
Inscription : août 2006
Messages : 144
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 144
Points : 11
Points : 11
Bonjour

Merci de ta réponse,

j'ai mis cela mais j'ai toujours pas la variable qui s'affiche

Code :
1
2
3
4
$pseudo = htmlentities(utf8_decode($res["username"]));
$messag = utf8_decode($_POST['messag']);
echo $messag;
eval( "\$messag = \"$messag\";" );
Merci de ta réponse
fabien14 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/12/2010, 14h03   #4
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
Tu vois toujours le $ ?
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/12/2010, 15h43   #5
Candidat au titre de Membre du Club
 
Inscription : août 2006
Messages : 144
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 144
Points : 11
Points : 11
Citation:
Envoyé par sabotage Voir le message
Tu vois toujours le $ ?
Bonjour,

Oui je reviens de faire l'essai

fabien14 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/12/2010, 17h07   #6
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
qu'on soit d'accord, tu obtiens quoi ?
Code :
1
2
3
echo 'avant' . $messag;
eval( "\$messag = \"$messag\";" );
echo 'apres' . $messag;
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/12/2010, 21h03   #7
Candidat au titre de Membre du Club
 
Inscription : août 2006
Messages : 144
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 144
Points : 11
Points : 11
Bonsoir,

Rien a faire j'ai toujours pas l'interprétation de la variable.

J'ai toujours $pseudo. Dans l'email que je reçoi.
fabien14 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/12/2010, 06h01   #8
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
Tu n'as pas répondu a la question.
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/12/2010, 13h08   #9
Candidat au titre de Membre du Club
 
Inscription : août 2006
Messages : 144
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 144
Points : 11
Points : 11
Bonjour,

Me revoila sur le net

Je pensai avoir répondu a la question :s

J'ai toujours $pseudo qui n'est pas interpreté

Je récapitule car j'ai peur que je me suis mal fait comprendre.

Dans un textaera j'écrit un message avec le code HTML a mes membre dans lequel je voudrez mettre des variable du type $pseudo, $id, $nomdefamille etc ...

Comme je retraite apres un POST et que je récupere le message dans la variable $messag les variable $pseudo, $id, $nomdefamille etc ... ne sont pas interpretées et cela pose probleme car je peut pas faire de mailing personnalisé.

Si vous pouvez m'éclairer
Merci de vos réponses
fabien14 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/12/2010, 00h53   #10
Modérateur
 
Avatar de Vil'Coyote
 
Développeur Web
Inscription : février 2008
Messages : 3 301
Détails du profil
Informations personnelles :
Âge : 31
Localisation : France, Marne (Champagne Ardenne)

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : février 2008
Messages : 3 301
Points : 4 479
Points : 4 479
ba tu par d'un élément html vers un traitement html donc faut t'attendre à ce que $machin soit considéré comme $machin pour ton script cela reste du texte pure.

j'vois deux solutions:
soit tes $pseudo etc sont ajouter à ton formulaire en hidden et dans ton script suivant ba tu remplace le $pseudo par la valeur reçut de ton formulaire

soit tu utilise des variable de session et tu remplace dans ton script de réception la valeur de $pseudo par celle de ta session.
Vil'Coyote est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h45.


 
 
 
 
Partenaires

Hébergement Web