Envoi email après validation d'avatar
Résolu
Forumeur
-
Forumeur -
Forumeur -
Bonjour,
Je souhaite envoyer un email à l'utilisateur après validation de l'avatar dans mon espace membre. Mais je ne sais pas comment récupérer l'adresse email correspondante.
Voici la page de validation de l'avatar :
Merci de votre aide !
Je souhaite envoyer un email à l'utilisateur après validation de l'avatar dans mon espace membre. Mais je ne sais pas comment récupérer l'adresse email correspondante.
Voici la page de validation de l'avatar :
<form action="avatars.php" method="post">
<?php
$query = "SELECT * FROM 1_validavatar ORDER BY id";
$result = mysql_query($query);
$email = mysql_real_escape_string($_POST['email']);
$avatar_defaut = 'avatars/defaut.jpg';
$i=1;
$type='';
$ref='';
while($info = mysql_fetch_array($result)){
if($type!=$info["pseudo"]){
$type = $info["pseudo"];
$type2 = $info["url_avatar"];
$ref=1;
}else{
$ref++;
}
$id = $info["id"];
$validation = $info["validation"];
$true = 'true';
$false = 'false';
echo $id.' - '.$type.' - <img src="../member_area/'.$type2.'" alt="'.$type.'" /> - '.$validation.'
<input type="hidden" value="'.$id.'" name="id" id="id"/>
<input type="radio" name="supp" value="supp">Supprimer
<input type="radio" name="valid" value="valid">Valider
<input type="submit" value="OK" id="ok" name="ok"/><br/>';
}
?>
</form>
<?php
if (isset($_POST["supp"])){
$id=$_POST["id"];
$query="UPDATE 1_inscrits SET avatar='$avatar_defaut', id='$id' WHERE id='$id'";
if (mysql_query($query)) {
echo' <script type="text/javascript">
alert("Mise à jour effectuée avec succès !");
setTimeout("window.location=\'\'",1000);
</script>';
} else {
echo '<br/><span>Erreur de mise à jour:</span>';
}
// Envoi de l'email à l'inscription
$mail = "$email"; // Déclaration de l'adresse de destination.
if (!preg_match('#^[\w.-]+@[\w.-]+\.[a-zA-Z]{2,6}$#',$mail) || preg_match_all("#hotmail|live|msn#",$mail,$out)) // On filtre les serveurs qui rencontrent des bogues.
{
$passage_ligne = "\r\n";
}
else
{
$passage_ligne = "\n";
}
// Déclaration des messages au format texte et au format HTML.
$message_txt = "Bonjour $username, votre image a été supprimée";
$message_html = "<html><head></head><body><b>Bonjour $username</b>, Votre image a été supprimée.</body></html>";
// Création de la boundary
$boundary = "-----=".md5(rand());
// Définition du sujet.
$sujet = "Votre image pour le site \"$titresite\"";
// Création du header de l'e-mail.
$header = "From: \"$titresite\"<$mail_webmaster>".$passage_ligne;
$header.= "Reply-to: \"$titresite\" <$mail_webmaster>".$passage_ligne;
$header.= "MIME-Version: 1.0".$passage_ligne;
$header.= "Content-Type: multipart/alternative;".$passage_ligne." boundary=\"$boundary\"".$passage_ligne;
// Création du message.
$message = $passage_ligne."--".$boundary.$passage_ligne;
// Ajout du message au format texte.
$message.= "Content-Type: text/plain; charset=\"UTF-8\"".$passage_ligne;
$message.= "Content-Transfer-Encoding: 8bit".$passage_ligne;
$message.= $passage_ligne.$message_txt.$passage_ligne;
$message.= $passage_ligne."--".$boundary.$passage_ligne;
// Ajout du message au format HTML
$message.= "Content-Type: text/html; charset=\"UTF-8\"".$passage_ligne;
$message.= "Content-Transfer-Encoding: 8bit".$passage_ligne;
$message.= $passage_ligne.$message_html.$passage_ligne;
$message.= $passage_ligne."--".$boundary."--".$passage_ligne;
// Envoi
mail($mail,$sujet,$message,$header);
//==========
$query2="DELETE FROM 1_validavatar WHERE id ='$id'";
if (mysql_query($query2)) {
$filename = "../member_area/$type2"; //Suppression du fichier
unlink($filename);
echo '<br/><span style="color:red">Avatar supprimé du site</span>';
} else {
echo '<br/><span>Erreur de mise à jour: '.mysql_error().'</span>';
}
}
?>
Merci de votre aide !
4 réponses
-
Et bien tu as bien, si je ne m'abuse un table dans ta base de donnée ou tu as les infos sur les membres? Dont l'adresse mail non?
-
Oui, l'adresse email est stockée dans la table 1_validavatar. J'ai essayé de la récupérer, ce que je sais faire avec un simple formulaire, mais là je n'y suis pas arrivé.
-
hello
j'ai du mal à comprendre que tu puisses faire ce que tu colles ici, mais que tu ne puisse pas récupérer l'email d'une base !
Mais l'email est déjà dans un POST:
$email = mysql_real_escape_string($_POST['email']);
et que tu utilises ensuite pour l'envoi:
$mail = "$email";
c'est quoi l'erreur exact ? -