JxSDev
Messages postés13Date d'inscriptionlundi 25 avril 2016StatutMembreDernière intervention10 mai 2016
-
5 mai 2016 à 17:05
Tomy2e
Messages postés816Date d'inscriptionjeudi 21 février 2013StatutMembreDernière intervention18 août 2016
-
5 mai 2016 à 21:16
Salut les gars
est ce que quelqu'un peux m'expliquer pourquoi cette erreur est apparue ? car , bizarre tout allait à merveille au début ><
$_SESSION['recup_mail'] = $recup_mail; $recup_code = ""; for($i=0; $i < 8; $i++) { $recup_code .= mt_rand(0,9); } $mail_recup_exist = $bdd->prepare('SELECT id FROM reset WHERE mail = ?'); $mail_recup_exist->execute(array($recup_mail)); $mail_recup_exist = $mail_recup_exist->rowCount(); if($mail_recup_exist == 1) { $recup_insert = $bdd->prepare('UPDATE reset SET code = ? WHERE mail = ?'); $recup_insert->execute(array($recup_code,$recup_mail)); } else { $recup_insert = $bdd->prepare('INSERT INTO reset (mail,code) VALUES (?, ?)'); $recup_insert->execute(array($recup_mail,$recup_code)); }
$header="MIME-Version: 1.0\r\n"; $header.='From:"Toupackgroup.com"<support@Toupackgroup.com>'."\n"; $header.='Content-Type:text/html; charset="utf-8"'."\n"; $header.='Content-Transfer-Encoding: 8bit'; $message = ' <html> <head> <title>Récupération de mot de passe - Toupackgroup.com</title> <meta charset="utf-8" /> </head> <body> <font color="#303030";> <div align="center"> <table width="600px"> <tr> <td>
<div align="center">Bonjour <b>'.$pseudo.'</b>,</div> Voici votre code de récupération: <b>'.$recup_code.'</b> A bientôt sur <a href="http://toupackgroup.com/index.php">Toupackgroup.com</a> !
</td> </tr> <tr> <td align="center"> <font size="2"> Ceci est un email automatique, merci de ne pas y répondre </font> </td> </tr> </table> </div> </font> </body> </html> '; mail($recup_mail, "Récupération de mot de passe - Toupackgroup.com", $message, $header); header("Location:http://127.0.0.1/TOUPACKGROUP/forget.php?section=code"); } else { Session::getInstance()->setFlash('danger',"Cette adresse mail n'est pas enregistrée"); } } else { Session::getInstance()->setFlash('danger',"Adresse mail invalide"); } } else { Session::getInstance()->setFlash('danger',"Veuillez entrer votre adresse mail"); } } if(isset($_POST['verif_submit'],$_POST['verif_code'])) { if(!empty($_POST['verif_code'])) { $verif_code = htmlspecialchars($_POST['verif_code']); $verif_req = $bdd->prepare('SELECT id FROM reset WHERE mail = ? AND code = ?'); $verif_req->execute(array($_SESSION['recup_mail'],$verif_code)); $verif_req = $verif_req->rowCount(); if($verif_req == 1) { $up_req = $bdd->prepare('UPDATE reset SET confirme = 1 WHERE mail = ?'); $up_req->execute(array($_SESSION['recup_mail'])); header('Location:http://localhost/TOUPACKGROUP/forget.php?section=changemdp'); }else{ Session::getInstance()->setFlash('danger',"Code invalide"); } } else { Session::getInstance()->setFlash('danger',"Veuillez entrer votre code de confirmation"); } } if(isset($_POST['change_submit'])) { if(isset($_POST['change_mdp'],$_POST['change_mdpc'])) { $verif_confirme = $bdd->prepare('SELECT confirme FROM reset WHERE mail = ?'); $verif_confirme->execute(array($_SESSION['recup_mail'])); $verif_confirme = $verif_confirme->fetch(); $verif_confirme = $verif_confirme->confirme; if($verif_confirme == 1) { $mdp = htmlspecialchars($_POST['change_mdp']); $mdpc = htmlspecialchars($_POST['change_mdpc']); if(!empty($mdp) AND !empty($mdpc)) { if($mdp == $mdpc){ $mdp = password_hash($mdp, PASSWORD_BCRYPT); $ins_mdp = $bdd->prepare('UPDATE customer SET passwd = ?, reset_at = NOW() WHERE email = ?'); $ins_mdp->execute(array($mdp, $_SESSION['recup_mail'])); $del_req = $bdd->prepare('DELETE FROM reset WHERE mail = ?'); $del_req->execute(array($_SESSION['recup_mail'])); header('Location:http://localhost/TOUPACKGROUP/login.php'); } else { Session::getInstance()->setFlash('danger',"Vos mots de passes ne correspondent pas"); } } else { Session::getInstance()->setFlash('danger',"Veuillez remplir tous les champs"); } } else { Session::getInstance()->setFlash('danger',"Veuillez valider votre mail grâce au code de vérification qui vous a été envoyé par mail"); } } else { Session::getInstance()->setFlash('danger',"Veuillez remplir tous les champs"); } } ?> <?php require 'inc/header2.php'; ?> <div class="widget col-lg-12 col-md-12 col-sm-12 col-xs-12 col-sp-12" >
<div class="block products_block exclusive leomanagerwidgets" align="center"> <div class="form-group" align="center"> <h4>Récupération de mot de passe</h4> <?php if(isset($_GET['section']) && $_GET['section'] == 'code') { ; ?> Un code de vérification vous a été envoyé par mail: <?= $_SESSION['recup_mail'] ?> <form method="post"> <input type="text" placeholder="Code de vérification" name="verif_code"/><br/> <input type="submit" value="Valider" name="verif_submit" class="btn btn-primary"/> </form> </div> <?php } elseif(isset($_GET['section']) && $_GET['section'] == "changemdp"){ ?> <div class="form-group" align="center"> Nouveau mot de passe pour <?= $_SESSION['recup_mail'] ?> <form method="post"> <input type="password" placeholder="Nouveau mot de passe" name="change_mdp"/><br/> <input type="password" placeholder="Confirmation du mot de passe" name="change_mdpc"/><br/> <input type="submit" value="Valider" name="change_submit" class="btn btn-primary"/> </form> </div> <?php } else { ?> <div class="form-group" align="center"> <form method="post"> <input type="email" placeholder="Votre adresse mail" id="recup_mail" class="form-control"name="recup_mail"/><br/> <input type="submit" value="Valider" name="recup_submit" class="btn btn-primary"/> </form></div> </div></div>
<?php } ?>
<?php require 'inc/footer.php'; ?>
Que dois je faire pour régler ça ? Des conseils ? ^^
je vous remercie d'avance !
Tomy2e
Messages postés816Date d'inscriptionjeudi 21 février 2013StatutMembreDernière intervention18 août 2016858 5 mai 2016 à 20:08
Bonjour, ça veut tout simplement dire que ta variable $_SESSION['recup_mail'] n'existe pas.
Est-ce qu'il y a un session_start(); dans ton require 'inc/bootstrap.php'; ?
La variable est-elle bien déclarée ? (sur une autre page par exemple)
Tomy2e
Messages postés816Date d'inscriptionjeudi 21 février 2013StatutMembreDernière intervention18 août 2016858 5 mai 2016 à 20:20
En regardant un peu plus le code je vois que tu mélanges http://localhost/ et http://127.0.0.1/
Attention, il y a deux cookie différent pour ces deux adresses, si tu déclares une variable de session sur http://localhost/page1.php tu ne pourras pas l'afficher sur http://127.0.0.1/page2.php
Le problème vient peut-être de ça
JxSDev
Messages postés13Date d'inscriptionlundi 25 avril 2016StatutMembreDernière intervention10 mai 2016 5 mai 2016 à 20:48
tu sais ? t'es un hero , quelle idiote j'étais omg , c'etais a cause de 127.0.0.1 et localhost , je croyais que c'etait pareil ><
MERCI MERCI 1000 MERCI !!!
De rien ;)
J'ai déjà eu ce problème une fois aussi.
Si tu veux éviter ce genre de problème à l'avenir, mets des liens relatifs plutôt que des liens absolus
5 mai 2016 à 20:20
Attention, il y a deux cookie différent pour ces deux adresses, si tu déclares une variable de session sur http://localhost/page1.php tu ne pourras pas l'afficher sur http://127.0.0.1/page2.php
Le problème vient peut-être de ça
5 mai 2016 à 20:48
MERCI MERCI 1000 MERCI !!!
Modifié par Tomy2e le 5/05/2016 à 21:17
J'ai déjà eu ce problème une fois aussi.
Si tu veux éviter ce genre de problème à l'avenir, mets des liens relatifs plutôt que des liens absolus