Envoyer des info oubliées par mail PHP
Résolu
shoub-tcy
Messages postés
169
Date d'inscription
Statut
Membre
Dernière intervention
-
Templier Nocturne Messages postés 7734 Date d'inscription Statut Membre Dernière intervention -
Templier Nocturne Messages postés 7734 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai essayer de créer un script en PHP pour envoyer par mail des info, du type pseudo, qu'un membre aurait oublié. Tout marche parfaitement, le mail est bien envoyé, mais je ne sais pas quel code utiliser pour afficher le pseudo du membre dans le mail qui lui est destiné. Donc si vous pouvez m'aider, n'hésitez pas.
Voici mon script :
<?php
$e_mail = $_POST['e_mail'];
$confirmation_mail = $_POST['confirmation_mail'];
if ($e_mail != $confirmation_mail)
{
$erreur=1;
include('page4.php');
exit();
}
// Je verifie si les adresses rentrés par le membre sont les mêmes.
$pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
$bdd = new PDO('mysql:host=localhost;dbname=sitesql', 'root', '', $pdo_options);
$sql = "SELECT pseudo FROM formulaire WHERE e_mail='".$e_mail."'";
$req = $bdd->query($sql);
$req->setFetchMode(PDO::FETCH_OBJ);
if ($ligne = $req->fetch()){
// Préparation du mail
$destinataire = $e_mail;
$sujet = "Pseudo oublié" . "\r\n";
$entete = 'From: monsite@hotmail.fr' . "\r\n" .
'Reply-To: monsite@hotmail.fr' . "\r\n" .
'MIME-Version: 1.0' . "\r\n";
'Content-type: text/html; charset=iso-8859-1' . "\r\n";
'Content-Transfer-Encoding: 8bit' . "\r\n";
'X-Mailer: PHP/' . phpversion() . "\r\n";
$message = 'Bonjour,
Votre pseudo est (ici je ne sais pas comment afficher le pseudo).
----------------
Ceci est un mail automatique, Merci de ne pas y répondre.';
$message = wordwrap($message, 70);
mail($destinataire, $sujet, $message, $entete) ; // Envoi du mail
header('location: rdv_mail.php');
?>
Tout marche parfaitement mais je ne sais pas comment faire pour insérer le pseudo du membre dans le message.
J'ai essayer de créer un script en PHP pour envoyer par mail des info, du type pseudo, qu'un membre aurait oublié. Tout marche parfaitement, le mail est bien envoyé, mais je ne sais pas quel code utiliser pour afficher le pseudo du membre dans le mail qui lui est destiné. Donc si vous pouvez m'aider, n'hésitez pas.
Voici mon script :
<?php
$e_mail = $_POST['e_mail'];
$confirmation_mail = $_POST['confirmation_mail'];
if ($e_mail != $confirmation_mail)
{
$erreur=1;
include('page4.php');
exit();
}
// Je verifie si les adresses rentrés par le membre sont les mêmes.
$pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
$bdd = new PDO('mysql:host=localhost;dbname=sitesql', 'root', '', $pdo_options);
$sql = "SELECT pseudo FROM formulaire WHERE e_mail='".$e_mail."'";
$req = $bdd->query($sql);
$req->setFetchMode(PDO::FETCH_OBJ);
if ($ligne = $req->fetch()){
// Préparation du mail
$destinataire = $e_mail;
$sujet = "Pseudo oublié" . "\r\n";
$entete = 'From: monsite@hotmail.fr' . "\r\n" .
'Reply-To: monsite@hotmail.fr' . "\r\n" .
'MIME-Version: 1.0' . "\r\n";
'Content-type: text/html; charset=iso-8859-1' . "\r\n";
'Content-Transfer-Encoding: 8bit' . "\r\n";
'X-Mailer: PHP/' . phpversion() . "\r\n";
$message = 'Bonjour,
Votre pseudo est (ici je ne sais pas comment afficher le pseudo).
----------------
Ceci est un mail automatique, Merci de ne pas y répondre.';
$message = wordwrap($message, 70);
mail($destinataire, $sujet, $message, $entete) ; // Envoi du mail
header('location: rdv_mail.php');
?>
Tout marche parfaitement mais je ne sais pas comment faire pour insérer le pseudo du membre dans le message.
A voir également:
- Envoyer des info oubliées par mail PHP
- Crystal disk info - Télécharger - Informations & Diagnostic
- Info pc - Guide
- Gmail envoyer un mail - Guide
- Publipostage mail - Accueil - Word
- Windows live mail - Télécharger - Mail
4 réponses
tiens, sur mon site, j'ai ça qui correspond un peu à ce que tu cherches :
j'en conclue que tu dois pouvoir faire un truc du genre :
tu dois pouvoir remplacer le foreach j'imagine, mais comme ça ça devrait quand même marcher
$host = '***'; $nom_de_la_BDD = '***'; $utilisateur = '***'; $mot_de_passe = '***'; if(isset($_GET['id']) && @$_GET['id'] != 0) { $id = $_GET['id']; try { $bdd = new PDO('mysql:host='.$host.';dbname='.$nom_de_la_BDD, $utilisateur, $mot_de_passe); } catch (Exception $e) { die('Erreur : ' . $e->getMessage()); } $req = "SELECT nom, article, date FROM sandbox WHERE id=".$id; $res = $bdd->query($req); foreach($res as $row) { $nom = $row['nom']; $article = $row['article']; $date = $row['date']; }
j'en conclue que tu dois pouvoir faire un truc du genre :
try { $bdd = new PDO('mysql:host='.$host.';dbname='.$nom_de_la_BDD, $utilisateur, $mot_de_passe); } catch (Exception $e) { die('Erreur : ' . $e->getMessage()); } $req = "SELECT nom, article, date FROM sandbox WHERE id=".$id; $res = $bdd->query($req); foreach($res as $row) { $pseudo = $row['pseudo']; }
tu dois pouvoir remplacer le foreach j'imagine, mais comme ça ça devrait quand même marcher
je te conseille de lire ceci : https://openclassrooms.com/fr/courses/918836-concevez-votre-site-web-avec-php-et-mysql/914293-lisez-des-donnees
du coup :
$sql = "SELECT pseudo FROM formulaire WHERE e_mail='".$e_mail."'";
$req = $bdd->query($sql);
$pseudo = $req[0]
ça fait longtemps que j'ai plus fait de SQL, de mémoire c'est comme ça
$sql = "SELECT pseudo FROM formulaire WHERE e_mail='".$e_mail."'";
$req = $bdd->query($sql);
$pseudo = $req[0]
ça fait longtemps que j'ai plus fait de SQL, de mémoire c'est comme ça
Merci de m'avoir conseiller le site du zéro, mais je n'ai pas trouvé ma réponse chez eux.
Le code que tu ma donné m'affiche une erreur à la ligne $pseudo = $req[0] ;
( ! ) Fatal error: Cannot use object of type PDOStatement as array in C:\Program Files\wamp\www\Site\Page4\pseudo_oublie.php on line 23
Le code que tu ma donné m'affiche une erreur à la ligne $pseudo = $req[0] ;
( ! ) Fatal error: Cannot use object of type PDOStatement as array in C:\Program Files\wamp\www\Site\Page4\pseudo_oublie.php on line 23
Maintenant ça m'affiche une erreur sur cette ligne : if ($ligne = $req->fetch())
( ! ) Fatal error: Call to a member function fetch() on a non-object in C:\Program Files\wamp\www\Site\Page4\pseudo_oublie.php on line 33.
Voici mon code avec tes propositions :
try
{
$pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
$bdd = new PDO('mysql:host=localhost;dbname=sitesql', 'root', '', $pdo_options);
}
catch (Exeption $e)
{
die('Erreur : ' . $e->getMessage());
}
$req = "SELECT pseudo FROM formulaire WHERE e_mail='".$e_mail."'";
$res = $bdd->query($req);
foreach($res as $row)
{
$pseudo = $row['pseudo'];
}
if ($ligne = $req->fetch()){
// Préparation du mail contenant le lien d'activation
$destinataire = $e_mail;
$sujet = "Pseudo oublié" . "\r\n";
$entete = 'From:nomdusite@hotmail.fr' . "\r\n" .
'Reply-To: nomdusite@hotmail.fr' . "\r\n" .
'MIME-Version: 1.0' . "\r\n";
'Content-type: text/html; charset=iso-8859-1' . "\r\n";
'Content-Transfer-Encoding: 8bit' . "\r\n";
'X-Mailer: PHP/' . phpversion() . "\r\n";
$message = 'Bonjour,
Votre pseudo est '.$pseudo.'.
----------------
Ceci est un mail automatique, Merci de ne pas y répondre.';
$message = wordwrap($message, 70);
mail($destinataire, $sujet, $message, $entete) ; // Envoi du mail
}
?>
Tout marche!!