Page 1 sur 2
Variables dans l'envoi d'email
Posté : 07 nov. 2013, 12:37
par Guillaume324
Bonjour,
Je cherche à intégrer les variables dans l'email de suppression de compte de mon site.
Seulement, les pseudo, ville, etc... ne s'affichent pas dans l'email.
Merci
Code : Tout sélectionner
$query2 = mysql_fetch_array(mysql_query("select username, email, naissance, ville, pays FROM 1_users WHERE Clef_Suppression ='$tutu'"));
$pseudo=$query2['username'];
$email=$query2['email'];
$naissance=$query2['naissance'];
$ville=$query2['ville'];
$pays=$query2['pays'];
$mail = "$mail_webmaster";
// Creation du header de l'e-mail.
$header .= "From: \"$titresite\"<$mail_webmaster2>".$passage_ligne;
$header .= "Reply-to: \"$titresite\" <$mail_webmaster2>".$passage_ligne;
$header .= "MIME-Version: 1.0".$passage_ligne;
$header .= "Content-Type: multipart/alternative;".$passage_ligne." boundary=\"$boundary\"".$passage_ligne;
$sujet .= "Suppression de compte à $titresite";
$message .= "Suppression de compte à $titresite : \n";
$message .= "$pseudo, $email, $naissance, $ville, $pays\n";
mail($mail, $sujet, $message, $header);
Re: Variables dans l'envoi d'email
Posté : 07 nov. 2013, 14:17
par damien_55
Slt,
Ton mail est en php et $pseudo, $email, $naissance, $ville, $pays sont des variables, non?
tu as la solution 2 lige au dessus:
$header .= "Content-Type: multipart/alternative;".$passage_ligne." boundary=\"$boundary\"".$passage_ligne;
$message .= $pseudo.",". $email.",". $naissance.",".$ville.",". $pays."\n";
Re: Variables dans l'envoi d'email
Posté : 07 nov. 2013, 15:03
par Guillaume324
Merci pour la réponse, mais même avec ce code dans l'email php, ça me donne ça : , , , ,
$message .= "".$pseudo.",".$email.",".$naissance.",".$ville.",".$pays."\n";
Re: Variables dans l'envoi d'email
Posté : 07 nov. 2013, 16:21
par Guillaume324
Pourtant, la variable $titresite contenue dans l'header s'affiche bien elle.
Le problème viendrait-il de ma requête ?
Re: Variables dans l'envoi d'email
Posté : 07 nov. 2013, 16:24
par damien_55
testes ta requete sur phpmyadmin par exemple.
Re: Variables dans l'envoi d'email
Posté : 07 nov. 2013, 16:25
par juliette
essaye un var_dump de ton tableau avant l'envoi du mail
Re: Variables dans l'envoi d'email
Posté : 07 nov. 2013, 17:43
par Guillaume324
Le var dump me renvoie un "bool(false) ". Donc la variable est vide.
Re: Variables dans l'envoi d'email
Posté : 07 nov. 2013, 18:15
par damien_55
$query2 = mysql_fetch_array(mysql_query("select username, email, naissance, ville, pays FROM 1_users WHERE Clef_Suppression ='".$tutu."'"));
Re: Variables dans l'envoi d'email
Posté : 07 nov. 2013, 19:24
par Guillaume324
Merci de ton aide damien_55, mais ça ne me renvoie toujours rien.
Je poste le script, j'en suis à là :
<?php
if (isset($_GET['Clef_Suppression'])) { ($tutu=htmlentities($_GET['Clef_Suppression'])); }
//creation de la requete SQL:
if(!$cnx) { echo "Connexion impossible à la base de données<br>Vérifiez config.php"; exit; }
else
{
$sql = "DELETE FROM 1_users WHERE Clef_Suppression ='$tutu';";
$requete = mysql_query( $sql, $cnx ) or die( "ERREUR MYSQL numéro: ".mysql_errno()."<br>Type de cette erreur: ".mysql_error()."<br>\n" );
$query2 = mysql_fetch_array(mysql_query("select username, email, naissance, ville, pays FROM 1_users WHERE Clef_Suppression ='".$tutu."';"));
$pseudo=$query2['username'];
$email=$query2['email'];
$naissance=$query2['naissance'];
$ville=$query2['ville'];
$pays=$query2['pays'];
$mail = "$mail_webmaster";
$headers = "From: \"$titresite\"<$mail_webmaster2>\n";
$headers .= "Reply-to: \"$titresite\"<$mail_webmaster2>".$passage_ligne;
$headers .= "MIME-Version: 1.0\n";
$headers .= "Content-Type: multipart/mixed; boundary=\"$boundary\"";
//=====Definition du sujet.
$sujet = "Suppression de compte sur le site $titresite !";
$message = "Suppression de compte sur le site $titresite.\n\n";
$message .= "--" . $boundary . "\n";
$message .= "Content-Type: text/html; charset=\"ISO-8859-1\"\n";
$message .= "Content-Transfer-Encoding: 8bit\n\n";
$message .= "<html><body>Username : $pseudo<br/><br/>Email : $email<br/>Date de naissance : $naissance<br/>Ville : $ville<br/>Pays : $pays<br/>";
$message .= "<br>@+";
$message .= "\n\n";
$message .= "--" . $boundary . "\n";
$message .= $content_encode . "\n";
$message .= "\n\n";
$message .= "--" . $boundary . "--\n";
mail($mail, $sujet, $message, $headers);
//==========
var_dump($query2);
}
if($requete)
{
?>
<?php echo $TsupOK ; ?><br><br>
<?php }
else { ?><?php echo $TsupNOOK ; ?>
<?php }
?>
Re: Variables dans l'envoi d'email
Posté : 07 nov. 2013, 19:40
par damien_55
tu n'as pas modifié:
$sql = "DELETE FROM 1_users WHERE Clef_Suppression ='$tutu';";
???
en plus une virgule en trop.
Re: Variables dans l'envoi d'email
Posté : 07 nov. 2013, 19:43
par damien_55
là aussi
$query2 = mysql_fetch_array(mysql_query("select username, email, naissance, ville, pays FROM 1_users WHERE Clef_Suppression ='".$tutu."';"));
c'est quoi ces point virgule qui se baladent ???
$query2 = mysql_fetch_array(mysql_query("select username, email, naissance, ville, pays FROM 1_users WHERE Clef_Suppression ='".$tutu."'"));
Re: Variables dans l'envoi d'email
Posté : 07 nov. 2013, 20:21
par Guillaume324
Voilà, c'est fait :
$sql = "DELETE FROM 1_users WHERE Clef_Suppression ='".$tutu."'";
$requete = mysql_query( $sql, $cnx ) or die( "ERREUR MYSQL numero: ".mysql_errno()."<br>Type de cette erreur: ".mysql_error()."<br>\n" );
$query2 = mysql_fetch_array(mysql_query("select username, email, naissance, ville, pays FROM 1_users WHERE Clef_Suppression ='".$tutu."'"));
Mais la variable est toujours vide, je ne comprend pas...
Re: Variables dans l'envoi d'email
Posté : 07 nov. 2013, 20:38
par damien_55
tu as testé tes requete sous phpmyadmin ?
tu es sur que ton formulaire envoi quelque chose ?
et pourquoi le if (isset($_GET['Clef_Suppression'])) { ($tutu=htmlentities($_GET['Clef_Suppression'])); }
le if (isset je vois mais quel est ton utilité de $tutu=htmlentities($_GET['Clef_Suppression'])); surtout qu'il s'agit manifestement d'un nom d'utilisateur.
c'ets le htmlentities qui me dérange.
essaie:
if(isset($_GET['Clef_Suppression'])) $tutu=$_GET['Clef_Suppression'];
else $tutu="";
et fais un var_dump, voir ce que ça donne.
Re: Variables dans l'envoi d'email
Posté : 07 nov. 2013, 20:47
par Guillaume324
Oui, j'ai testé sous phpmyadmin, et le formulaire fonctionne parfaitement à la suppression du compte utilisateur.
C'est la requête ($query2) et l'envoi d'email que j'ai rajouté qui posent problème (Le but étant que je reçoive une alerte si un compte est supprimé, je pourrais m'en passer, mais ça me serait quand même utile).
Re: Variables dans l'envoi d'email
Posté : 07 nov. 2013, 20:55
par damien_55
oulala, la bourde.

(j'avais pas fait attention)
Tu exécutes la supression avant l'envoi de ton mail donc il ne trouve pas les infos que tu veux puisqu'elle sont dépendantes de ton utilisateurs qui vient d'etre suprimé.
$sql = "DELETE FROM 1_users WHERE Clef_Suppression ='$tutu';";
$requete = mysql_query( $sql, $cnx ) or die( "ERREUR MYSQL numéro: ".mysql_errno()."<br>Type de cette erreur: ".mysql_error()."<br>\n" );
$query2 = mysql_fetch_array(mysql_query("select username, email, naissance, ville, pays FROM 1_users WHERE Clef_Suppression ='".$tutu."';"));
inverse tes requetes. (voir meme envoi ton mail avant la supression.