Afficher données précises d'une base de données
iTechapp
Messages postés
39
Date d'inscription
Statut
Membre
Dernière intervention
-
iTechapp Messages postés 39 Date d'inscription Statut Membre Dernière intervention -
iTechapp Messages postés 39 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'aimerais afficher le mot de passe dans un mail envoyé à un utilisateur.
En gros: dans un formulaire, une personne indique son adresse email et son nom d'utilisateur, et je voudrais récupérer les infos associées à cet utilisateur, en particulier son mot de passe, qui est ensuite envoyé par mail.
J'ai écris mon code en PHP, mais cela ne fonctionne pas..
<?php
$db = mysql_connect('**', '', '');
// on sélectionne la base
mysql_select_db('**',$db);
// on crée la requête SQL
$sql = 'SELECT password FROM users WHERE username = $username && email = $email';
$sujet = 'Bienvenue sur **** !';//Le titre de l'email
$message = "Bonjour $username !\n\nBienvenue sur *.com ! Vous pouvez dès maintenant profiter de nos services, et poser votre premier * à cette adresse: http://www.****.com/home.php\n\n Nous vous recommandons de garder cet email dans vos archives dans le cas où vous oublieriez vos identifiants. \n \n------------------------------\n Rappel de vos identifiants:\nNom d'utiisateur: $username\nMot de passe: $password\n------------------------------\n\n Besoin d'aide ? Consultez notre foire aux questions à ici: http://www.*****.com/faq/, où contactez-nous sur question@**.com. \n \nÀ très bientôt, \nAnastasia de *.com";//Le message de l'email
$destinataire = $_POST['email'];//Email de l'utilisateur
$headers = "From: \"*\"<no-reply@*.com>\n";//Email du webmaster
$headers .= "Content-Type: text/plain; charset=\"iso-8859-1\"";
mail($destinataire,$sujet,$message,$headers);
?>
Merci,
itechapp
J'aimerais afficher le mot de passe dans un mail envoyé à un utilisateur.
En gros: dans un formulaire, une personne indique son adresse email et son nom d'utilisateur, et je voudrais récupérer les infos associées à cet utilisateur, en particulier son mot de passe, qui est ensuite envoyé par mail.
J'ai écris mon code en PHP, mais cela ne fonctionne pas..
<?php
$db = mysql_connect('**', '', '');
// on sélectionne la base
mysql_select_db('**',$db);
// on crée la requête SQL
$sql = 'SELECT password FROM users WHERE username = $username && email = $email';
$sujet = 'Bienvenue sur **** !';//Le titre de l'email
$message = "Bonjour $username !\n\nBienvenue sur *.com ! Vous pouvez dès maintenant profiter de nos services, et poser votre premier * à cette adresse: http://www.****.com/home.php\n\n Nous vous recommandons de garder cet email dans vos archives dans le cas où vous oublieriez vos identifiants. \n \n------------------------------\n Rappel de vos identifiants:\nNom d'utiisateur: $username\nMot de passe: $password\n------------------------------\n\n Besoin d'aide ? Consultez notre foire aux questions à ici: http://www.*****.com/faq/, où contactez-nous sur question@**.com. \n \nÀ très bientôt, \nAnastasia de *.com";//Le message de l'email
$destinataire = $_POST['email'];//Email de l'utilisateur
$headers = "From: \"*\"<no-reply@*.com>\n";//Email du webmaster
$headers .= "Content-Type: text/plain; charset=\"iso-8859-1\"";
mail($destinataire,$sujet,$message,$headers);
?>
Merci,
itechapp
A voir également:
- Afficher données précises d'une base de données
- Fuite données maif - Guide
- Supprimer les données de navigation - Guide
- Trier des données excel - Guide
- Base de registre - Guide
- Sauvegarde des données - Guide
6 réponses
Est-ce que ton code est entier ? Par exemple la fonction mysql_fetch_row() qui te permet d'aller chercher les informations dans la base de donnée ne sont pas affiché dans ton code.
Voici les informations qui sont conseillées :
$sql = mysql_query("SELECT password FROM users WHERE username = $username && email = $email");
$donnee = mysql_fetch_row($sql);
$donnee["password"] devrait contenir le mot de passe.
Je ne sais pas si j'ai tout juste, car j'utilise la méthode PDO au lieu des fonctions mysql.
Voici les informations qui sont conseillées :
$sql = mysql_query("SELECT password FROM users WHERE username = $username && email = $email");
$donnee = mysql_fetch_row($sql);
$donnee["password"] devrait contenir le mot de passe.
Je ne sais pas si j'ai tout juste, car j'utilise la méthode PDO au lieu des fonctions mysql.
Bonjour,
J'ai essayé, mais cela ne fonctionne pas...:
<?php
$db = mysql_connect('***', '****', '****');
// on sélectionne la base
mysql_select_db('spotwerusers',$db);
// on crée la requête SQL
$sql = mysql_query("SELECT password FROM users WHERE username = $username && email = $email");
$donnee = mysql_fetch_row($sql);
$sujet = 'Bienvenue sur *** !';//Le titre de l'email
$message = "Bonjour $username !\n\nBienvenue sur ***.com ! Vous pouvez dès maintenant profiter de nos services, et poser votre premier *** à cette adresse: http://www.***.com/home.php\n\n Nous vous recommandons de garder cet email dans vos archives dans le cas où vous oublieriez vos identifiants. \n \n------------------------------\n Rappel de vos identifiants:\nNom d'utiisateur: $username\nMot de passe: $donnee["password"]\n------------------------------\n\n Besoin d'aide ? Consultez notre foire aux questions à ici: http://www.***.com/faq/, où contactez-nous sur question@****.com. \n \nÀ très bientôt, \nAnastasia de ***.com";//Le message de l'email
$destinataire = $_POST['email'];//Email de l'utilisateur
$headers = "From: \"****\"<no-reply@****.com>\n";//Email du webmaster
$headers .= "Content-Type: text/plain; charset=\"iso-8859-1\"";
mail($destinataire,$sujet,$message,$headers);
?>
J'ai essayé, mais cela ne fonctionne pas...:
<?php
$db = mysql_connect('***', '****', '****');
// on sélectionne la base
mysql_select_db('spotwerusers',$db);
// on crée la requête SQL
$sql = mysql_query("SELECT password FROM users WHERE username = $username && email = $email");
$donnee = mysql_fetch_row($sql);
$sujet = 'Bienvenue sur *** !';//Le titre de l'email
$message = "Bonjour $username !\n\nBienvenue sur ***.com ! Vous pouvez dès maintenant profiter de nos services, et poser votre premier *** à cette adresse: http://www.***.com/home.php\n\n Nous vous recommandons de garder cet email dans vos archives dans le cas où vous oublieriez vos identifiants. \n \n------------------------------\n Rappel de vos identifiants:\nNom d'utiisateur: $username\nMot de passe: $donnee["password"]\n------------------------------\n\n Besoin d'aide ? Consultez notre foire aux questions à ici: http://www.***.com/faq/, où contactez-nous sur question@****.com. \n \nÀ très bientôt, \nAnastasia de ***.com";//Le message de l'email
$destinataire = $_POST['email'];//Email de l'utilisateur
$headers = "From: \"****\"<no-reply@****.com>\n";//Email du webmaster
$headers .= "Content-Type: text/plain; charset=\"iso-8859-1\"";
mail($destinataire,$sujet,$message,$headers);
?>
$sql = mysql_query("SELECT password FROM users WHERE username = $username && email = $email");
Cette ligne est fausse, les variables ne peuvent pas être définie car elle sont dans les balises text ("").
$variable = 1337; echo '$variable';
Le echo n'affichera pas 1337, il affichera $variable.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Tu peux par exemple utiliser ceci :
https://www.php.net/manual/fr/function.mysql-real-escape-string.php
$query = sprintf("SELECT * FROM users WHERE user='%s' AND password='%s'", mysql_real_escape_string($user), mysql_real_escape_string($password));
https://www.php.net/manual/fr/function.mysql-real-escape-string.php
Ça ne fonctionne toujours pas !
<?php
$db = mysql_connect('***', '***', '***');
// on sélectionne la base
mysql_select_db('****',$db);
// on crée la requête SQL
$query = sprintf("SELECT * FROM users WHERE user='%s' AND password='%s'",
mysql_real_escape_string($user),
mysql_real_escape_string($password));
$sujet = 'Bienvenue sur **** !';//Le titre de l'email
$message = "Bonjour $username !\n\nBienvenue sur *****.com ! Vous pouvez dès maintenant profiter de nos services, et poser votre premier Spot à cette adresse: http://www.****.com/home.php\n\n Nous vous recommandons de garder cet email dans vos archives dans le cas où vous oublieriez vos identifiants. \n \n------------------------------\n Rappel de vos identifiants:\nNom d'utiisateur: $username\nMot de passe: $password\n------------------------------\n\n Besoin d'aide ? Consultez notre foire aux questions à ici: http://www.***.com/faq/, où contactez-nous sur question@****.com. \n \nÀ très bientôt, \nAnastasia de ****.com";//Le message de l'email
$destinataire = $_POST['email'];//Email de l'utilisateur
$headers = "From: \"***\"<no-reply@****.com>\n";//Email du webmaster
$headers .= "Content-Type: text/plain; charset=\"iso-8859-1\"";
mail($destinataire,$sujet,$message,$headers);
?>
<?php
$db = mysql_connect('***', '***', '***');
// on sélectionne la base
mysql_select_db('****',$db);
// on crée la requête SQL
$query = sprintf("SELECT * FROM users WHERE user='%s' AND password='%s'",
mysql_real_escape_string($user),
mysql_real_escape_string($password));
$sujet = 'Bienvenue sur **** !';//Le titre de l'email
$message = "Bonjour $username !\n\nBienvenue sur *****.com ! Vous pouvez dès maintenant profiter de nos services, et poser votre premier Spot à cette adresse: http://www.****.com/home.php\n\n Nous vous recommandons de garder cet email dans vos archives dans le cas où vous oublieriez vos identifiants. \n \n------------------------------\n Rappel de vos identifiants:\nNom d'utiisateur: $username\nMot de passe: $password\n------------------------------\n\n Besoin d'aide ? Consultez notre foire aux questions à ici: http://www.***.com/faq/, où contactez-nous sur question@****.com. \n \nÀ très bientôt, \nAnastasia de ****.com";//Le message de l'email
$destinataire = $_POST['email'];//Email de l'utilisateur
$headers = "From: \"***\"<no-reply@****.com>\n";//Email du webmaster
$headers .= "Content-Type: text/plain; charset=\"iso-8859-1\"";
mail($destinataire,$sujet,$message,$headers);
?>
C'est normal, j'ai utilisé l'exemple de la doc PHP !
Dans votre cas, ça serait plutôt ceci :
Il faut ensuite executer la requête et récupérer les variables !
Dans votre cas, ça serait plutôt ceci :
$query = sprintf("SELECT password FROM users WHERE username='%s' AND email='%s'", mysql_real_escape_string($username), mysql_real_escape_string($email));
Il faut ensuite executer la requête et récupérer les variables !
Salut,
Il faudrait idéalement gérer les erreurs sql :
Bonne journée
Il faudrait idéalement gérer les erreurs sql :
$requete = "SELECT password FROM users WHERE username = '" . mysql_real_escape_string($username) . "' AND email = '" . mysql_real_escape_string($email) . "'"; $sql = mysql_query($requete); if (!$sql) { echo 'Requête invalide : ' . $requete . '<br />'; echo 'Erreur sql : ' . mysql_error(); exit(); } $donnee = mysql_fetch_row($sql); var_dump($donnee);
Bonne journée