Récupération du mot de passe
Résolu/Fermé
A voir également:
- Récupération du mot de passe
- Piratage facebook changer mot de passe - Guide
- Voir mot de passe wifi android - Guide
- Mot de passe administrateur - Guide
- Mettre un mot de passe sur un dossier - Guide
- Outlook mot de passe oublié - Guide
4 réponses
yg_be
Messages postés
22720
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
23 avril 2024
1 476
15 mai 2017 à 20:05
15 mai 2017 à 20:05
bonsoir, peux-tu ajouter des commentaires pour indiquer à quel "if" correspond chaque "else", ou expliquer à quoi correspond ton erreur "2"?
Utilisateur anonyme
16 mai 2017 à 08:14
16 mai 2017 à 08:14
L'erreur correspond au if de la ligne 13 ci-dessus, l'erreur intérieur ce sont les lignes juste au dessus je pense.
jordane45
Messages postés
38144
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
21 avril 2024
4 650
16 mai 2017 à 09:17
16 mai 2017 à 09:17
Bonjour,
Pourquoi ne pas avoir tenu compte de toutes mes remarques de ta question précédente ???
Plusieurs choses ne vont pas dans ton code (encore...) :
- il faut activer les erreurs php
- Il faut mettre TOUTES tes requêtes dans des blocs try/catch
- htmlspecialchars ne s'utilise que pour l'affichage ... pas pour la comparaison ou l'insertion en bdd
- Il ne faut pas utiliser, pour une requete de type select, le RowCount
- etc...
Pourquoi ne pas avoir tenu compte de toutes mes remarques de ta question précédente ???
Plusieurs choses ne vont pas dans ton code (encore...) :
- il faut activer les erreurs php
- Il faut mettre TOUTES tes requêtes dans des blocs try/catch
- htmlspecialchars ne s'utilise que pour l'affichage ... pas pour la comparaison ou l'insertion en bdd
- Il ne faut pas utiliser, pour une requete de type select, le RowCount
- etc...
<?php session_start(); //activation de l'affichage des erreurs PHP error_reporting(E_ALL); ini_set('display-errors','on'); include('../php/config.php'); //------------------------------------------------------------// //récupération PROPRE des variables AVANT de les utiliser //------------------------------------------------------------// $verif_code = !empty($_POST['verif_code']) ? $_POST['verif_code']: NULL; $mail_valid = !empty($_POST['mail_valid']) ? $_POST['mail_valid']: NULL; if(isset($_POST['verif_submit'])){ if($verif_code ) { $sql = "SELECT id FROM membres WHERE mail = ? AND code = ?"; $datas = array($mail_valid,$verif_code); try{ $prep= $bdd->prepare($sql); $prep->execute($datas); $a_result_mail = $prep->fetchAll(); $verif_req = !empty($a_result_mail) ? count($a_result_mail) : 0; }catch(Exception $e){ echo " Erreur : " . $e->getMessage(); } if($verif_req == 1) { $sql = "SELECT * FROM membres WHERE mail = ?"; $datas = array($mail_valid, $pass_valid, $pass2_valid); try{ $prep= $bdd->prepare($sql); $prep->execute($datas); $a_result = $prep->fetchAll(); $nbResult = !empty($a_result) ? count($a_result) : 0; }catch(Exception $e){ echo " Erreur : " . $e->getMessage(); } if($nbResult == 1) { $userinfo = $a_result[0]; $id = $userinfo['id']; $mail = $userinfo['mail']; $code = $userinfo['recup']; if($code == $verif_code) { if($mail == 1) { $pass = hash("sha512",($_POST['pass'])); $pass2 = hash("sha512",($_POST['pass2'])); if($pass == $pass2) { $insert_db = $bdd->prepare("INSERT INTO membres(pass) VALUES(?)"); $insert_db->execute(array($pass)); $up_req = $bdd->prepare('UPDATE membres SET confirme = 1 WHERE mail = ?'); $up_req->execute(array($mail)); } else { $erreur = "Mots de passes incorrect ou non identique !"; } } else { $erreur = "Email incorrect !"; } } else { $erreur = "Code de vérification incorrect"; } } else { $erreur = "1"; } } else { $erreur = "2"; print_r($a_result_mail); } } else { $erreur = "Veuillez entrer votre code de confirmation"; } }
jordane45
Messages postés
38144
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
21 avril 2024
4 650
16 mai 2017 à 09:20
16 mai 2017 à 09:20
Au passage ..... dans le code actuel ... les variables $mail_valid, $pass_valid, $pass2_valid .. ne sont pas définies ....
et tu vas avoir un souci avec ces deux lignes
-> Tu ne mets qu'un seul "?" dans ta requête... mais tu envoies 3 variables dans les datas........
et tu vas avoir un souci avec ces deux lignes
$sql = "SELECT * FROM membres WHERE mail = ?"; $datas = array($mail_valid, $pass_valid, $pass2_valid);
-> Tu ne mets qu'un seul "?" dans ta requête... mais tu envoies 3 variables dans les datas........
Utilisateur anonyme
>
jordane45
Messages postés
38144
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
21 avril 2024
16 mai 2017 à 09:41
16 mai 2017 à 09:41
Oui, désolé je vient de voir ça, par contre le : print_r($a_result_mail); ma retourné : Array ( ) et l'erreur 2 toujours
jordane45
Messages postés
38144
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
21 avril 2024
4 650
>
Utilisateur anonyme
16 mai 2017 à 09:45
16 mai 2017 à 09:45
ce qui veut dire que ta requête n'a retourné aucun résultat ....
Peux tu
1 - Faire un print du premier $data
nous dire ce que ça donne
2 - tester ta requête DIRECTEMENT dans ta BDD (via phpmyadmin par exemple)
Peux tu
1 - Faire un print du premier $data
if($verif_code ) { $sql = "SELECT id FROM membres WHERE mail = ? AND code = ?"; $datas = array($mail_valid,$verif_code); print_r($datas);
nous dire ce que ça donne
2 - tester ta requête DIRECTEMENT dans ta BDD (via phpmyadmin par exemple)
Utilisateur anonyme
>
jordane45
Messages postés
38144
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
21 avril 2024
16 mai 2017 à 09:50
16 mai 2017 à 09:50
J'ai trouver le bug c'était if($verif_code == 1) { il manquait le == 1 x)
Utilisateur anonyme
>
jordane45
Messages postés
38144
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
21 avril 2024
16 mai 2017 à 09:53
16 mai 2017 à 09:53
Maintenant ça bug au niveau de l'erreur = "Veuillez entrer votre code de confirmation";
print n'a rien retourné
print n'a rien retourné
Utilisateur anonyme
Modifié le 16 mai 2017 à 13:13
Modifié le 16 mai 2017 à 13:13
J'ai fais comme ça je n'ai plus l'erreur au même endroit cette fois ci elle est revenu à " 2 " donc au niveau de la ligne : if($verif_req == 1)
$verif_code = !empty($_POST['verif_code']) ? $_POST['verif_code']: NULL; $mail_valid = !empty($_POST['mail_valid']) ? $_POST['mail_valid']: NULL; if(isset($_POST['verif_submit'])) { $sql = "SELECT * FROM membres WHERE mail = ? AND recup = ?"; $datas = array($mail_valid,$verif_code); try{ $prep= $bdd->prepare($sql); $prep->execute($datas); $a_result = $prep->fetchAll(); $nbResult = !empty($a_result) ? count($a_result) : 0; }catch(Exception $e){ echo " Erreur : " . $e->getMessage(); } $userexist = $nbResult; if($userexist == 1) { $userinfo = $a_result[0]; $code = $userinfo['recup']; if($verif_code == $code) { $sql = "SELECT id FROM membres WHERE mail = ? AND code = ?"; $datas = array($mail_valid,$verif_code); try{ $prep= $bdd->prepare($sql); $prep->execute($datas); $a_result_mail = $prep->fetchAll(); $verif_req = !empty($a_result_mail) ? count($a_result_mail) : 0; }catch(Exception $e) { echo " Erreur : " . $e->getMessage(); } if($verif_req == 1) {
jordane45
Messages postés
38144
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
21 avril 2024
4 650
16 mai 2017 à 13:59
16 mai 2017 à 13:59
Je réitère ma question précédente : https://forums.commentcamarche.net/forum/affich-34595112-recuperation-du-mot-de-passe#6
*
*
Utilisateur anonyme
>
jordane45
Messages postés
38144
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
21 avril 2024
16 mai 2017 à 14:08
16 mai 2017 à 14:08
Array ( [0] => mon_mail [1] => 43493260 )
jordane45
Messages postés
38144
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
21 avril 2024
4 650
>
Utilisateur anonyme
16 mai 2017 à 14:11
16 mai 2017 à 14:11
Et le ppint 2 ... la requête ???
Utilisateur anonyme
>
jordane45
Messages postés
38144
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
21 avril 2024
16 mai 2017 à 14:13
16 mai 2017 à 14:13
Bon j'ai trouver ce problème la, je tenter de chercher sur ma db " code " alors que c'était recup
Utilisateur anonyme
>
jordane45
Messages postés
38144
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
21 avril 2024
16 mai 2017 à 14:13
16 mai 2017 à 14:13
Maintenant j'avance petit à petit, je suis bloquer à l'erreur (1)