Intégrer une donnée mysql dans un mailing php [Résolu]

Messages postés
17
Date d'inscription
vendredi 9 mai 2008
Dernière intervention
30 décembre 2010
- - Dernière réponse : graig083
Messages postés
17
Date d'inscription
vendredi 9 mai 2008
Dernière intervention
30 décembre 2010
- 30 déc. 2010 à 16:39
Bonjour à tous,
Je souhaite envoyer un mailing tout simple aux adhérents de mon asso. Les adresses mails sont enregistrées dans une base de données mysql et l'envoi du mailing se fait sous la forme d'un PHP.
Cela fonctionne très bien avec un texte standard, mais pour personnaliser le mailing j'aimerais intégrer le prénom des adhérents dans le corps du mail (les prénoms sont aussi stockés dans la base de données).

Voici le code de mon PHP :

$db = mysql_connect('xxx', 'xxxx', 'xxx');
mysql_select_db('xxx',$db);
$sql = 'SELECT * FROM xxx';
$req = mysql_query($sql) or die('Erreur SQL !
'.$sql.'
'.mysql_error());

$headers ='From: "xxx"<xxx>'."\n";
$headers .='Content-Type: text/html; charset="iso-8859-1"'."\n";
$headers .='Content-Transfer-Encoding: 8bit';

$message ='
<html>
<head>
<style type="text/css">
... je vous passe les détails ...
</style>
</head>

... ici le corps du mail dans lequel je voudrais intégrer le prénom ...

</html>';

while($row=mysql_fetch_array($req))
{
if(mail($row["email"], "sujet du mail", $message, $headers))
{
echo 'Le message a été envoyé à '.$row['email'].' ! ';
}
else
{
echo 'Le message n\'a pu être envoyé';
}
}
?>

J'ai essayé plusieurs combinaisons mais sans succès...
Par avance merci beaucoup de votre aide !
Graig
Afficher la suite 

Votre réponse

2 réponses

Meilleure réponse
Messages postés
128
Date d'inscription
lundi 21 avril 2008
Dernière intervention
6 mai 2011
3
Merci
Bonjour

Tu peux mettre des chaines temporaires dans $message que tu remplace ensuite pas les valeurs du nom et prénom de la personne :

$message ='
<html>
<head>
<style type="text/css">
... je vous passe les détails ...
</style>
</head>

@@@PRENOM@@@ @@@NOM@@@  ... ici le corps du mail dans lequel je voudrais intégrer le prénom ...

</html>';

while($row=mysql_fetch_array($req))
{
 $message = str_replace("@@@NOM@@@",$row['nom'],$message); 
$message = str_replace("@@@PRENOM@@@",$row['prenom'],$message); 
if(mail($row["email"], "sujet du mail", $message, $headers))
{
echo 'Le message a été envoyé à '.$row['email'].' ! ';
}
else
{
echo 'Le message n\'a pu être envoyé';
}
}
?>



J'ai supposé que les champs dans ta base se nommé "nom" et "prenom".

Merci cs_ludwig59 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 97 internautes ce mois-ci

Commenter la réponse de cs_ludwig59
Messages postés
17
Date d'inscription
vendredi 9 mai 2008
Dernière intervention
30 décembre 2010
0
Merci
Génial ! Je ne connaissais pas cette technique, ça marche parfaitement.
Mille merci et excellentes fêtes de fin d'année à tous.
Commenter la réponse de graig083

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.