Envoi email en php

Résolu/Fermé
guigui777 Messages postés 75 Date d'inscription mardi 27 octobre 2009 Statut Membre Dernière intervention 9 janvier 2012 - 5 janv. 2010 à 02:15
LelLex Messages postés 1628 Date d'inscription mercredi 18 février 2009 Statut Membre Dernière intervention 5 septembre 2012 - 6 janv. 2010 à 13:47
Bonjour,s'il vous plait j'ai un code php d'envoi d'email qui me casse un peut la tête. Le problème est que il réussi effectivement à envoyer les emails une fois testé sur mon hébergeur mais les parties ou j'ai mis les "echo" pour afficher des valeurs sont vides au moment de la réception.ces valeurs proviennent d'un formulaire banale apparemment sans erreur. Voici mon code source en espérant que j'ai été compréhensible.:

<?php
include("connection.php");
if (isset($_POST['nom']) AND isset($_POST['titre']) AND isset($_POST['filiere']) AND isset($_POST['message'])) // Si les variables existent
{
if ($_POST['nom'] != NULL AND $_POST['titre'] != NULL AND $_POST['filiere'] != NULL AND $_POST['message'] != NULL) // Si on a quelque chose à enregistrer
{


// On utilise les fonctions PHP mysql_real_escape_string et htmlspecialchars pour la sécurité. On stocke dabord les differentes données écrites sans les mettre à la BDD
$nom = mysql_real_escape_string(htmlspecialchars($_POST['nom']));
$titre = mysql_real_escape_string(htmlspecialchars($_POST['titre']));
$filiere = mysql_real_escape_string(htmlspecialchars($_POST['filiere']));
$message = mysql_real_escape_string(htmlspecialchars($_POST['message']));

}
}


// Maintenant on doit récupérer les 10 dernières entrées de la table

// On utilise la requête suivante pour prendre les emails,les noms des étudiants et leur filièere
$reponse = mysql_query("SELECT * FROM lettre");

// On se déconnecte de MySQL
mysql_close();

// Puis on fait une boucle pour afficher tous les résultats :
while ($donnees = mysql_fetch_array($reponse) )
{


// Fin de la boucle, le sc
// Variables

$to=$donnees['email'];
$from="From:monemail@gmail.com\r\n";
$from.="MIME-Version: 1.0\r\n";
$from.="Content-Type: text/html; charset=fr-ascii\r\n";
$sujet=$titre;
$message1="<html>  <h3><?php echo $sujet; ?> Pour la filière <?php echo $filiere; ?></h3><br>
<?php echo $message; ?><br>
Envoyer par Dr <?php echo $nom; ?><br><br><br>
Ce message est envoyé à tous ceux qui se sont inscrits au site Scienciz.<br>
Veillez ne pas répondre à ce message.<br>
Merci!</html>";


//appel de la fonction mail (envoi)
$resultat = mail($to,$sujet,$message1,$from);
}
if($resultat)
{
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="content-type">
<title></title>
</head>
<body>
<br>
<div
style="position: absolute; top: 216px; left: 275px; font-family: Arial;"><img
style="width: 202px; height: 114px;" alt="guiguiz"
title="guiguiz"
src="image/logoofficiel.jpg">Message
envoyé avec succès. <a href="professeur.php">Cliquez ici
pour revenir à votre page</a></div>
</body>
</html>

<?php
}

?>
A voir également:

5 réponses

avion-f16 Messages postés 19250 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 22 décembre 2024 4 505
5 janv. 2010 à 17:52
$message1="<html>  <h3><?php echo $sujet; ?> Pour la filière <?php echo $filiere; ?></h3><br>
<?php echo $message; ?><br>
Envoyer par Dr <?php echo $nom; ?><br><br><br>
Ce message est envoyé à tous ceux qui se sont inscrits au site Scienciz.<br>
Veillez ne pas répondre à ce message.<br>
Merci!</html>";

Biensûr, du PHP dans un echo en PHP ... tu peux être sûr qu'il ne sera pas exécuter.
Utilise la concatenation :
$message1 = '<html><h3>'.$sujet.' Pour la filière '.$filiere.'</h3><br/>'.$message.'<br/>
Envoyer par Dr '.$nom.'<br/><br/><br/>
Ce message est envoyé à tous ceux qui se sont inscrits au site Scienciz.<br>
Veillez ne pas répondre à ce message.<br>
Merci!</html>';
1
Utilisateur anonyme
5 janv. 2010 à 11:01
Avant la ligne

$resultat = mail($to,$sujet,$message1,$from);

Fais un echo de chaque variable et dis ce que ca te renvoie !
0
LelLex Messages postés 1628 Date d'inscription mercredi 18 février 2009 Statut Membre Dernière intervention 5 septembre 2012 112
5 janv. 2010 à 19:44
Tout est dit !

Néanmoins si tu veux juste des retours à la ligne, tu remplace par \n
0
guigui777 Messages postés 75 Date d'inscription mardi 27 octobre 2009 Statut Membre Dernière intervention 9 janvier 2012 8
6 janv. 2010 à 12:41
qu'est ce je suis bête merci pour la rectification
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
LelLex Messages postés 1628 Date d'inscription mercredi 18 février 2009 Statut Membre Dernière intervention 5 septembre 2012 112
6 janv. 2010 à 13:47
Si le problème est résolut, coche ! ;)
0