Renvoie de mdp par mail
Fermé
Ika Pro
Messages postés
149
Date d'inscription
lundi 12 novembre 2012
Statut
Membre
Dernière intervention
30 octobre 2013
-
Modifié par Ika Pro le 8/12/2012 à 15:19
Ika Pro Messages postés 149 Date d'inscription lundi 12 novembre 2012 Statut Membre Dernière intervention 30 octobre 2013 - 10 déc. 2012 à 01:02
Ika Pro Messages postés 149 Date d'inscription lundi 12 novembre 2012 Statut Membre Dernière intervention 30 octobre 2013 - 10 déc. 2012 à 01:02
A voir également:
- Renvoie de mdp par mail
- Yahoo mail - Accueil - Mail
- Publipostage mail - Accueil - Word
- Windows live mail - Télécharger - Mail
- Live.fr mail - Forum Mail
- Boîte mail française gratuite - Guide
2 réponses
Tralala8
Messages postés
120
Date d'inscription
mercredi 17 août 2011
Statut
Membre
Dernière intervention
12 février 2013
14
Modifié par Tralala8 le 8/12/2012 à 16:42
Modifié par Tralala8 le 8/12/2012 à 16:42
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.
Ika Pro
Messages postés
149
Date d'inscription
lundi 12 novembre 2012
Statut
Membre
Dernière intervention
30 octobre 2013
4
8 déc. 2012 à 16:54
8 déc. 2012 à 16:54
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]]');
Tralala8
Messages postés
120
Date d'inscription
mercredi 17 août 2011
Statut
Membre
Dernière intervention
12 février 2013
14
9 déc. 2012 à 12:36
9 déc. 2012 à 12:36
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.
Ika Pro
Messages postés
149
Date d'inscription
lundi 12 novembre 2012
Statut
Membre
Dernière intervention
30 octobre 2013
4
Modifié par Ika Pro le 9/12/2012 à 17:20
Modifié par Ika Pro le 9/12/2012 à 17:20
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 ?
Ika Pro
Messages postés
149
Date d'inscription
lundi 12 novembre 2012
Statut
Membre
Dernière intervention
30 octobre 2013
4
10 déc. 2012 à 01:02
10 déc. 2012 à 01:02
Alors je n'ais plus d'erreur ni de le message mais je ne reçoit pas le mail de récupération de mot de passe.
Pourtant je suis sur mon serveur en ligne donc pas en local vous pouvez m'aider ?
Pourtant je suis sur mon serveur en ligne donc pas en local vous pouvez m'aider ?