Variables dans des newsletter PhP
Résolu
chlm
Messages postés
11
Date d'inscription
Statut
Membre
Dernière intervention
-
chlm Messages postés 11 Date d'inscription Statut Membre Dernière intervention -
chlm Messages postés 11 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'aimerais afficher dans un email que j'envoie automatiquement aux personnes s'inscrivant sur mon site un mail dans le quel je leur rappel leur mot de passe et nom de compte, mais je n'y arrive pas :/
Le problème doit venir du fait que mon message est dans une variable, mais comment puis-je faire autrement sinon?
Mon bout de code concerné:
<?php
ini_set("SMTP","smtp.wanadoo.fr");
$headers ='From: "Nom_admin"<admin@monsite.fr>'."\n";
$headers .='Reply-To: adresse_de_reponse@fai.fr'."\n";
$headers .='Content-Type: text/html; charset="iso-8859-1"'."\n";
$headers .='Content-Transfer-Encoding: 8bit';
$message =
'<html><head><title>Newsletter</title>
</head>
<body>
<h2>Bienvenue sur "Nom_du_site",</h> <br /><br />
<h1> Merci de vous êtres inscrits.<br /><br />
Rappel de vos identifiants:<br />
echo "Nom: $nom"; <br /> <= partie concernée
echo "Mot de passe $mdp"; <br /><br /> <= partie concernée
Bonne journée/soirée à vous.<br /></h1>
</body>
</html>'; //fin du message
if(mail('ch.89@hotmail.fr', 'Sujet', $message, $headers))
{
echo 'Le message a été envoyé';
}
else
{
echo 'Le message n\'a pu être envoyé';
}
?>
Je suis un débutant, donc merci d'être clair si possible.
J'attends avec impatience vos réponses.
J'aimerais afficher dans un email que j'envoie automatiquement aux personnes s'inscrivant sur mon site un mail dans le quel je leur rappel leur mot de passe et nom de compte, mais je n'y arrive pas :/
Le problème doit venir du fait que mon message est dans une variable, mais comment puis-je faire autrement sinon?
Mon bout de code concerné:
<?php
ini_set("SMTP","smtp.wanadoo.fr");
$headers ='From: "Nom_admin"<admin@monsite.fr>'."\n";
$headers .='Reply-To: adresse_de_reponse@fai.fr'."\n";
$headers .='Content-Type: text/html; charset="iso-8859-1"'."\n";
$headers .='Content-Transfer-Encoding: 8bit';
$message =
'<html><head><title>Newsletter</title>
</head>
<body>
<h2>Bienvenue sur "Nom_du_site",</h> <br /><br />
<h1> Merci de vous êtres inscrits.<br /><br />
Rappel de vos identifiants:<br />
echo "Nom: $nom"; <br /> <= partie concernée
echo "Mot de passe $mdp"; <br /><br /> <= partie concernée
Bonne journée/soirée à vous.<br /></h1>
</body>
</html>'; //fin du message
if(mail('ch.89@hotmail.fr', 'Sujet', $message, $headers))
{
echo 'Le message a été envoyé';
}
else
{
echo 'Le message n\'a pu être envoyé';
}
?>
Je suis un débutant, donc merci d'être clair si possible.
J'attends avec impatience vos réponses.
A voir également:
- Variables dans des newsletter PhP
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Retour à la ligne php ✓ - Forum PHP
- Retour a la ligne avec Echo comment faire ? - Forum Webmastering
- Alert php - Forum PHP
5 réponses
Salut
je vois que tu insère la variable $nom dans ton mail mais, elle sort d'où cette variable ? elle est rempli a quel moment ? (pareil pour $mdp)
je vois que tu insère la variable $nom dans ton mail mais, elle sort d'où cette variable ? elle est rempli a quel moment ? (pareil pour $mdp)
Salut!
Voici un code que j'utilise pour mon site:
Voila,tu adaptes par rapport à tes variables.Le script fonctionne par la saisie de l'email de l'utilisateur c'est-à-dire que si l'utilisateur oubli son mot de passe,il saisie son email afin que son mot de passe lui soit envoyé!
Attention:cette méthode marche avec un mot de passe non haché dans ta base,si tes mots de passe sont hachés alors il te faut un autre script pour permettre la modification du mot de passe.
Dans un premier temps,teste ce script!
Voici un code que j'utilise pour mon site:
<?php require_once('scriptphp/connexion.php'); $verifmail="!^[a-zA-Z0-9._-]+@[a-zA-Z0-9._-]{2,}\.[a-zA-Z]{2,4}$!"; if (isset($_POST['email'])){ $mail = mysql_real_escape_string($_POST['email']); // mise en variable de l'email // requete sur la table user(on récupère les infos de la personne) mysql_select_db($database, $db); $verif_query=sprintf("SELECT nom,motpasse FROM user WHERE email_user='$mail' "); // requête sur la table user $verif = mysql_query($verif_query, $db) or die(mysql_error()); $row_verif = mysql_fetch_assoc($verif); $user = mysql_num_rows($verif); if ($user) { // On test s'il y a un utilisateur correspondant // déclaration des variables $nom = $row_verif['Nom_user']; // Son nom $mdp = $row_verif['password']; // Son Prénom // si OK alors on on envoi le mail $headers ='From: "Equipe "<equipe@site.com>'."\n"; $headers .='Content-Type: text/html; charset="iso-8859-1"'."\n"; $headers .='Content-Transfer-Encoding: 8bit'; $sujet='Rappel de vos identifiants'; $message ='<html> <head> <title>Vos identifiants</title> <style type="text/css"> #conteneur { width: 100%; height:100%; } #header { height: 27px; background-color: #6B52FC; width:404px; font-family: "Trebuchet MS"; font-size: 18.9px; color:#FFFFFF; } #centre { background-color:#FFFFFF; height:200px; width:400px; border: 2px solid #6B52FC; } #pied { height: 25px; background-color:#6B52FC; width:404px; text-align: center; color:#FFFFFF; } </style> </head> <body> <div id="conteneur"> <br><br> <div id="header"> <p><b>VOS IDENTIFIANTS</b></p> </div> <div id="centre"> <br> <p> <font size="2"> Bonjour "<span class="donnee"><font color="#0000FF" size="2"> '.$nom.'</font></span>" .</font></p> <br> <p> Ci-dessous vos identifiants</p> <br> <ul> <li><font color="#FF0000"><b>NOM</font></b>: <strong>'.$nom.'</strong> </li><br /> <li><font color="#FF0000"><b>MOT DE PASSE</font></b>: <strong>'.$mdp.'</strong> </li><br /> </ul> </div> <div id="pied"> Site.com </div> <br><br> <font color="#C0C0C0" size="2">Ce mail est issu d\'un envoi automatique,prière de ne pas y répondre svp.</font> <br> <p><b> L\'équipe site</b></p> </div> </body> </html>'; if(mail($mail, $sujet, $message, $headers)) { header("Location: mdpoubli.php?erreur=ok"); } else { header("Location: mdpoubli.php?erreur=non"); } } else if(!preg_match($verifmail,$_POST['email'])) { header("Location: mdpoubli.php?erreur=bademail"); } else { //redirection("index.php?erreur=login"); header("Location: mdpoubli.php?erreur=erreur"); } } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>- : : : SITE: : : - </title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <style type="text/css"> body { font-family:Verdana, Arial, Helvetica, sans-serif; font-size: 0.8em; margin: 0; padding: 0; height:100%; } #conteneur { width: 100%; height:100%; } #header { height: 87px; background-color:#FFFFFF; } #centre { background-color: #3399FF; height:485px; } #pied { height: 30px; background-color: #99CC99; } p {margin: 0;} </style> </head> <body> <div id="header"> <table width="100%" border="0" cellspacing="0"> <tr> <td align="left"><img src="images/logotitre.gif" alt="logo" /></td> <td align="right"></td> </tr> </table> </div> <div id="centre"> <br /><br /><br /><br /><br /><br /> <table align="center"> <form action="" method="post" name="connect"> <p align="center" class="title"> <?php if(isset($_GET['erreur']) && ($_GET['erreur'] == "erreur")) { // Affiche l'erreur ?> <strong class="erreur"><font color="#FF0000">Email non reconnu dans la base!</font></strong> <?php } ?> <?php if(isset($_GET['erreur']) && ($_GET['erreur'] == "ok")) { // Affiche l'erreur ?> <strong class="reussite"><font color="#00FF00">Email envoyé avec succès! </font>!</strong> <?php } ?> <?php if(isset($_GET['erreur']) && ($_GET['erreur'] == "non")) { // Affiche l'erreur ?> <strong class="erreur"><font color="#FF0000">Le message n'a pu être envoyé</font></strong> <?php } ?> <?php if(isset($_GET['erreur']) && ($_GET['erreur'] == "bademail")) { // Affiche l'erreur ?> <strong class="erreur"><font color="#FF0000">Format d'Email non valide!</font></strong> <?php } ?> </p> <table width="300" border="0" align="center" cellpadding="10" cellspacing="5" bgcolor="#eeeeee" class="tableaux"> <tr> <td width="50%""><div align="left">Votre E-mail</div></td> <td width="50%"><input name="email" type="text" id="email"></td> </tr> <tr> <td height="44" colspan="2"><div align="center"> <input type="submit" name="Submit" value="Valider"> </div> </td> </tr> </table> </form> </table> </div> <div id="pied"> </div> </body> </html>
Voila,tu adaptes par rapport à tes variables.Le script fonctionne par la saisie de l'email de l'utilisateur c'est-à-dire que si l'utilisateur oubli son mot de passe,il saisie son email afin que son mot de passe lui soit envoyé!
Attention:cette méthode marche avec un mot de passe non haché dans ta base,si tes mots de passe sont hachés alors il te faut un autre script pour permettre la modification du mot de passe.
Dans un premier temps,teste ce script!
$mdp et $nom sont des variables initialisés plutôt dans le début du code... elles contiennent toute deux des chaines des caractères, mais le problèmes c'est que je ne vois pas le moyen de faire ressortir ce quel contiennent dans le mail que j'envoie.
Merci d'avance
Merci d'avance
Oui mais la on ne les vois pas s'initialiser sur cette page, tu n'a pas mis tous le code ? c'est une page differente ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Rebonjour, merci de votre aide, en feuilletant les centaines d'articles sur les forum du site j'ai réussi à trouver une aide, en fait le problème venait de concaténation ^^ comme en 1ere année de faculté on ne voit que le java j'essaye de concaténé avec "+" alors qu'en php c'est "."
Je donne la partie corrigé si quelqu'un plus tard a le même problème:
<?php
ini_set("SMTP","smtp.wanadoo.fr");
$headers ='From: "Nom_admin"<admin@monsite.fr>'."\n";
$headers .='Reply-To: adresse_de_reponse@fai.fr'."\n";
$headers .='Content-Type: text/html; charset="iso-8859-1"'."\n";
$headers .='Content-Transfer-Encoding: 8bit';
$message1 =
'<html><head><title>Newsletter</title>
</head>
<body>
<h2>Bienvenue sur "Nom_du_site",</h> <br /><br />
<h1> Rappel de vos identifiants: <br />
Nom de compte : ' . $nom . '<br />
Mot de passe : ' . $mdp . '<br /><br />
Merci de vous êtres inscrits.<br /><br />
"Nom du site" vous souhaite une bonne journée/soirée!<br />
</body>
</html>';
if(mail($mail, 'Sujet', $message1 , $headers))
{
echo 'Le message a été envoyé';
}
else
{
echo 'Le message n\'a pu être envoyé';
}
?>
Voila merci de votre aide a++
Je donne la partie corrigé si quelqu'un plus tard a le même problème:
<?php
ini_set("SMTP","smtp.wanadoo.fr");
$headers ='From: "Nom_admin"<admin@monsite.fr>'."\n";
$headers .='Reply-To: adresse_de_reponse@fai.fr'."\n";
$headers .='Content-Type: text/html; charset="iso-8859-1"'."\n";
$headers .='Content-Transfer-Encoding: 8bit';
$message1 =
'<html><head><title>Newsletter</title>
</head>
<body>
<h2>Bienvenue sur "Nom_du_site",</h> <br /><br />
<h1> Rappel de vos identifiants: <br />
Nom de compte : ' . $nom . '<br />
Mot de passe : ' . $mdp . '<br /><br />
Merci de vous êtres inscrits.<br /><br />
"Nom du site" vous souhaite une bonne journée/soirée!<br />
</body>
</html>';
if(mail($mail, 'Sujet', $message1 , $headers))
{
echo 'Le message a été envoyé';
}
else
{
echo 'Le message n\'a pu être envoyé';
}
?>
Voila merci de votre aide a++