Renvoie de mdp par mail
Ika Pro
Messages postés
149
Date d'inscription
Statut
Membre
Dernière intervention
-
Ika Pro Messages postés 149 Date d'inscription Statut Membre Dernière intervention -
Ika Pro Messages postés 149 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Alors me voici encore devant un problème qui est le renvoi de mdp par mail.
voici mon code :
<?php
$email = (isset($_POST['email'])) ? $_POST['email'] : '';
$username = (isset($_POST['username'])) ? $_POST['username'] : '';
if($email!="" && $username!="" )
{
$resultat = $connexion->query("SELECT username, password
FROM users
WHERE email='$email'
AND username='$username'");
while ($row = $resultat->fetch())
{
$username = (stripslashes(htmlentities(trim($row['username'], ENT_QUOTES))));
$email = (stripslashes(htmlentities(trim($row['email'], ENT_QUOTES))));
$password = (stripslashes(htmlentities(trim($row['password'], ENT_QUOTES))));
$mail=mail( "$username <$email>", //on affiche la mail
"Rappel de tes identifiants",
"Bonjour," .$username. "\n
Tu as perdu ton mot de passe, le voila...\n
Ton mot de passe est :\n
" .$password. "\n
A bientot !\n
Le webmaster\n
http://www.mon-adresse.fr/",
"From: monadresse.fr <monadresse@orange.fr>");
if($mail) //si le mail est bon.....sinon......sinon
echo"<span class='erreur'>Ton mot de passe viens de t-être envoyé à l'adresse : $email <br/>Tu va les recevoir dans quelques minutes.</span>";
else
echo"<span class='erreur'>Le mot de passe ne peux t-être envoyé!<br>Renouvelle ta demande dans un instant.<br/></span>";
}
}
else
echo"<span class='erreur'>Ton adresse ne correspond pas avec ton nom et ton prénom!</span>";
?>
<script language="javascript">
function rollover(){
document.getElementById('valider');
}
</script>
<div id="container">
<span class="recevoir">Tu as perdu ton mot de passe ?<br/></span>
<span class="recevoir">Entre ton pseudo et Adresse E-mail...<br/></span>
<span class="recevoir">Tes identifiants te seront alors envoyé à cette adresse ! <br/></span>
<span class="recevoir">Merci</span><br/><br/>
<div id="connexion "> <!-- bloc contenant le formulaire -->
<form name="connexionForm" id="connexionForm" action="index.php?body=perdu_identifiant" method="post" enctype="multipart/form-data">
<fieldset>
<legend>Se connecter</legend>
<p>
<label for="nom">Ton Pseudo : </label><br/>
<input type="text" name="username" id="username" value="" style="width:250px;"/><!-- champ pour le nom -->
</p>
<p>
<label for="email">Ton adresse Mail : </label><br/>
<input type="text" name="email" id="email" value="" style="width:250px;"/>
</p>
<a href="javascript:void(0)">
<input type="submit" id="valider" name="submit" class="submit" value="Envoyer" onmouseover="rollover();"/>
</a>
</fieldset>
</form>
</div>
</div>
Et voici mes erreurs que j'ai quand je le test :
Notice: Undefined variable: connexion in C:\wamp\www\Pokemon Forever\connexion.php on line 105
QUI CORRESPOND A CETTE LIGNE :
$resultat = $connexion->query("SELECT username, password
Fatal error: Call to a member function query() on a non-object in C:\wamp\www\Pokemon Forever\connexion.php on line 105
QUI CORRESPOND A CETTE LIGNE :
$resultat = $connexion->query("SELECT username, password
Si vous pouviez m'aider.
Merci par avance.
Alors me voici encore devant un problème qui est le renvoi de mdp par mail.
voici mon code :
<?php
$email = (isset($_POST['email'])) ? $_POST['email'] : '';
$username = (isset($_POST['username'])) ? $_POST['username'] : '';
if($email!="" && $username!="" )
{
$resultat = $connexion->query("SELECT username, password
FROM users
WHERE email='$email'
AND username='$username'");
while ($row = $resultat->fetch())
{
$username = (stripslashes(htmlentities(trim($row['username'], ENT_QUOTES))));
$email = (stripslashes(htmlentities(trim($row['email'], ENT_QUOTES))));
$password = (stripslashes(htmlentities(trim($row['password'], ENT_QUOTES))));
$mail=mail( "$username <$email>", //on affiche la mail
"Rappel de tes identifiants",
"Bonjour," .$username. "\n
Tu as perdu ton mot de passe, le voila...\n
Ton mot de passe est :\n
" .$password. "\n
A bientot !\n
Le webmaster\n
http://www.mon-adresse.fr/",
"From: monadresse.fr <monadresse@orange.fr>");
if($mail) //si le mail est bon.....sinon......sinon
echo"<span class='erreur'>Ton mot de passe viens de t-être envoyé à l'adresse : $email <br/>Tu va les recevoir dans quelques minutes.</span>";
else
echo"<span class='erreur'>Le mot de passe ne peux t-être envoyé!<br>Renouvelle ta demande dans un instant.<br/></span>";
}
}
else
echo"<span class='erreur'>Ton adresse ne correspond pas avec ton nom et ton prénom!</span>";
?>
<script language="javascript">
function rollover(){
document.getElementById('valider');
}
</script>
<div id="container">
<span class="recevoir">Tu as perdu ton mot de passe ?<br/></span>
<span class="recevoir">Entre ton pseudo et Adresse E-mail...<br/></span>
<span class="recevoir">Tes identifiants te seront alors envoyé à cette adresse ! <br/></span>
<span class="recevoir">Merci</span><br/><br/>
<div id="connexion "> <!-- bloc contenant le formulaire -->
<form name="connexionForm" id="connexionForm" action="index.php?body=perdu_identifiant" method="post" enctype="multipart/form-data">
<fieldset>
<legend>Se connecter</legend>
<p>
<label for="nom">Ton Pseudo : </label><br/>
<input type="text" name="username" id="username" value="" style="width:250px;"/><!-- champ pour le nom -->
</p>
<p>
<label for="email">Ton adresse Mail : </label><br/>
<input type="text" name="email" id="email" value="" style="width:250px;"/>
</p>
<a href="javascript:void(0)">
<input type="submit" id="valider" name="submit" class="submit" value="Envoyer" onmouseover="rollover();"/>
</a>
</fieldset>
</form>
</div>
</div>
Et voici mes erreurs que j'ai quand je le test :
Notice: Undefined variable: connexion in C:\wamp\www\Pokemon Forever\connexion.php on line 105
QUI CORRESPOND A CETTE LIGNE :
$resultat = $connexion->query("SELECT username, password
Fatal error: Call to a member function query() on a non-object in C:\wamp\www\Pokemon Forever\connexion.php on line 105
QUI CORRESPOND A CETTE LIGNE :
$resultat = $connexion->query("SELECT username, password
Si vous pouviez m'aider.
Merci par avance.
A voir également:
- Renvoie de mdp par mail
- Publipostage mail - Accueil - Word
- Windows live mail - Télécharger - Mail
- Renvoie d'appel ooredoo - Forum Samsung
- Serveur de reception mail - Guide
- Mail avast 499 euros ✓ - Forum Virus
2 réponses
Bonjour,
La variable $connexion n'est simplement pas déclarée. il faut faire :
Enfin, et SURTOUT, conserver les mots de passe en base de données après les avoir cryptés !!! (sha1, md5, ...)
En faisant ça, il sera impossible de renvoyer le mot de passe original à son propriétaire. Il est donc plus judicieux de redéfinir un mot de passe aléatoire pour la personne et de lui envoyer par mail.
Ceci a évidemment pour but de sécuriser au mieux les comptes utilisateurs et toute partie protégée par un mot de passe.
La variable $connexion n'est simplement pas déclarée. il faut faire :
$connexion = new PDO('mysql:host=[[HOST]];dbname=[[DB NAME]], [[USER]], [[PASS]]');Il faut évidemment remplacer les [[...]] par les bons termes.
Enfin, et SURTOUT, conserver les mots de passe en base de données après les avoir cryptés !!! (sha1, md5, ...)
En faisant ça, il sera impossible de renvoyer le mot de passe original à son propriétaire. Il est donc plus judicieux de redéfinir un mot de passe aléatoire pour la personne et de lui envoyer par mail.
Ceci a évidemment pour but de sécuriser au mieux les comptes utilisateurs et toute partie protégée par un mot de passe.
Merci pour ton aide.
Voici mon code corrigé :
<?php
$email = (isset($_POST['email'])) ? $_POST['email'] : '';
$username = (isset($_POST['username'])) ? $_POST['username'] : '';
if($email!="" && $username!="" )
{
$resultat = $connexion = new PDO('mysql:localhost=[[LOCALHOST]];dbname=[[USERS]], [[USERNAME]], [[PASS]]');
while ($row = $resultat->fetch());
{
$username = (stripslashes(htmlentities(trim($row['username'], ENT_QUOTES))));
$email = (stripslashes(htmlentities(trim($row['email'], ENT_QUOTES))));
$password = (stripslashes(htmlentities(trim($row['password'], ENT_QUOTES))));
$mail=mail( "$username <$email>", //on affiche la mail
"Rappel de tes identifiants",
"Bonjour," .$username. "\n
Tu as perdu ton mot de passe, le voila...\n
Ton mot de passe est :\n
" .$password. "\n
A bientot !\n
Le webmaster\n
http://www.mon-adresse.fr/",
"From: monadresse.fr <monadresse@orange.fr>");
if($mail) //si le mail est bon.....sinon......sinon
echo"<span class='erreur'>Ton mot de passe et ton Login viens de t-être envoyé à l'adresse : $email <br/>Tu va les recevoir dans quelques minutes.</span>";
else
echo"<span class='erreur'>Le mot de passe ne peux t-être envoyé!<br>Renouvelle ta demande dans un instant.<br/></span>";
}
}
?> </br>
<script language="javascript">
function rollover(){
document.getElementById('valider');
}
</script>
<div style="margin:20px; margin-top:5px"><div class="quotetitle"><b></b> <input type="button" value="Mot de passe oublie" style="width:150px;font-size:14px;margin:0px;padding:0px;" onclick="if (this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display != '') { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = ''; this.innerText = ''; this.value = 'Cacher'; } else { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = 'none'; this.innerText = ''; this.value = 'Afficher'; }" /></div><div class="quotecontent"><div style="display: none;"
<div id="connexion "> <!-- bloc contenant le formulaire -->
<form name="connexionForm" id="connexionForm" action="index.php?body=perdu_identifiant" method="post" enctype="multipart/form-data">
<fieldset>
<p>
<label for="nom">Ton Pseudo : </label><br/>
<input type="text" name="username" id="username" value="" style="width:250px;"/><!-- champ pour le nom -->
</p>
<p>
<label for="email">Ton adresse Mail : </label><br/>
<input type="text" name="email" id="email" value="" style="width:250px;"/>
</p>
<a href="javascript:void(0)">
<input type="submit" id="valider" name="submit" class="submit" value="Envoyer" onmouseover="rollover();"/>
</a>
</div></div></div>
</fieldset>
</form>
</div>
</div>
</form>
J'ai encore 1 erreur :
Fatal error: 'PDOException «Exception non rattrapée par« SQLSTATE [42000] [1044] Access denied for user'' @' localhost un message "à la base de données '[[utilisateurs]], [[username]], [[passer] ]'' dans C: \ wamp \ www \ Pokemon Toujours \ connexion.php on line 105
(!) PDOException: SQLSTATE [42000] [1044] Access denied for user'' @ 'localhost' base de données '[[utilisateurs]], [[username]], [[pass]] "dans C: \ wamp \ www \ Pokemon Toujours \ connexion.php on line 105
à propos de cette ligne :
$resultat = $connexion = new PDO('mysql:localhost=[[LOCALHOST]];dbname=[[USERS]], [[USERNAME]], [[PASS]]');
Voici mon code corrigé :
<?php
$email = (isset($_POST['email'])) ? $_POST['email'] : '';
$username = (isset($_POST['username'])) ? $_POST['username'] : '';
if($email!="" && $username!="" )
{
$resultat = $connexion = new PDO('mysql:localhost=[[LOCALHOST]];dbname=[[USERS]], [[USERNAME]], [[PASS]]');
while ($row = $resultat->fetch());
{
$username = (stripslashes(htmlentities(trim($row['username'], ENT_QUOTES))));
$email = (stripslashes(htmlentities(trim($row['email'], ENT_QUOTES))));
$password = (stripslashes(htmlentities(trim($row['password'], ENT_QUOTES))));
$mail=mail( "$username <$email>", //on affiche la mail
"Rappel de tes identifiants",
"Bonjour," .$username. "\n
Tu as perdu ton mot de passe, le voila...\n
Ton mot de passe est :\n
" .$password. "\n
A bientot !\n
Le webmaster\n
http://www.mon-adresse.fr/",
"From: monadresse.fr <monadresse@orange.fr>");
if($mail) //si le mail est bon.....sinon......sinon
echo"<span class='erreur'>Ton mot de passe et ton Login viens de t-être envoyé à l'adresse : $email <br/>Tu va les recevoir dans quelques minutes.</span>";
else
echo"<span class='erreur'>Le mot de passe ne peux t-être envoyé!<br>Renouvelle ta demande dans un instant.<br/></span>";
}
}
?> </br>
<script language="javascript">
function rollover(){
document.getElementById('valider');
}
</script>
<div style="margin:20px; margin-top:5px"><div class="quotetitle"><b></b> <input type="button" value="Mot de passe oublie" style="width:150px;font-size:14px;margin:0px;padding:0px;" onclick="if (this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display != '') { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = ''; this.innerText = ''; this.value = 'Cacher'; } else { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = 'none'; this.innerText = ''; this.value = 'Afficher'; }" /></div><div class="quotecontent"><div style="display: none;"
<div id="connexion "> <!-- bloc contenant le formulaire -->
<form name="connexionForm" id="connexionForm" action="index.php?body=perdu_identifiant" method="post" enctype="multipart/form-data">
<fieldset>
<p>
<label for="nom">Ton Pseudo : </label><br/>
<input type="text" name="username" id="username" value="" style="width:250px;"/><!-- champ pour le nom -->
</p>
<p>
<label for="email">Ton adresse Mail : </label><br/>
<input type="text" name="email" id="email" value="" style="width:250px;"/>
</p>
<a href="javascript:void(0)">
<input type="submit" id="valider" name="submit" class="submit" value="Envoyer" onmouseover="rollover();"/>
</a>
</div></div></div>
</fieldset>
</form>
</div>
</div>
</form>
J'ai encore 1 erreur :
Fatal error: 'PDOException «Exception non rattrapée par« SQLSTATE [42000] [1044] Access denied for user'' @' localhost un message "à la base de données '[[utilisateurs]], [[username]], [[passer] ]'' dans C: \ wamp \ www \ Pokemon Toujours \ connexion.php on line 105
(!) PDOException: SQLSTATE [42000] [1044] Access denied for user'' @ 'localhost' base de données '[[utilisateurs]], [[username]], [[pass]] "dans C: \ wamp \ www \ Pokemon Toujours \ connexion.php on line 105
à propos de cette ligne :
$resultat = $connexion = new PDO('mysql:localhost=[[LOCALHOST]];dbname=[[USERS]], [[USERNAME]], [[PASS]]');
Il faut virer les crochets, je les avais mis pour que tu puisses bien identifier les différents termes à mettre dans cette ligne. Par exemple, en localhost, ça donne :
Donc, le host est "localhost", la db est "users", le username est "root" et le pass est "root".
Ensuite, tu pourras te servir de $connexion dans ton code pour effectuer des requêtes.
$connexion = new PDO('mysql:host=localhost;dbname=users, root, root');
Donc, le host est "localhost", la db est "users", le username est "root" et le pass est "root".
Ensuite, tu pourras te servir de $connexion dans ton code pour effectuer des requêtes.
Merci pour ton aide.
Alors, je n'ai plus de message d'erreur (je suis sur mon serveur), j'ai configuré la ligne avec les info de mon serveur mais à chaque fois que je fais mdp oublié, il me dis que la combinaison n'est pas correcte.
$connexion = new PDO('mysql:host=localhost;dbname=users, root, root');
ou se trouve "dbname=users" c'est bien le nom de ma base de donné ou celui de ma table ? (j'ai test les 2 est il me dis pareil combinaison incorrecte).
Est-ce normal ?
Alors, je n'ai plus de message d'erreur (je suis sur mon serveur), j'ai configuré la ligne avec les info de mon serveur mais à chaque fois que je fais mdp oublié, il me dis que la combinaison n'est pas correcte.
$connexion = new PDO('mysql:host=localhost;dbname=users, root, root');
ou se trouve "dbname=users" c'est bien le nom de ma base de donné ou celui de ma table ? (j'ai test les 2 est il me dis pareil combinaison incorrecte).
Est-ce normal ?