Mot de passe oublié PHP/Ajax

Fermé
Nirna - Modifié par jordane45 le 7/02/2017 à 18:48
NirnaWh Messages postés 2 Date d'inscription mardi 7 février 2017 Statut Membre Dernière intervention 8 février 2017 - 8 févr. 2017 à 17:18
Bonjour,

J'ai un soucis sur mon code mot de passe oublié. Je dois travailler sur un code déjà existant et il y à du Ajax (et PHP).

Impossible d'avancer car lorsque je veux vérifier les informations transmise avec un echo rien ne s'affiche. Par contre il ne vas pas vérifier correctement dans la base de données car peut import ce qui est "entrée" dans le champs e-mail j'obtient toujours mon message d’erreur "email inexistant".
La connexion à la BDD est bonne (elle est utiliser sur d'autres pages et cela fonctionne) j'ai vérifier mes champs tout est ok.

J'ai également essayé de repartir de zéro sur une page entièrement en php/html mais mes "var_dump"/"echo" n'apparaissent pas dans ma console. Je débute en PHP pouriez vous maider ?

Voici mon code :

Formulaire :
<div id="page-cart-content">

<h4 class="title-element">Récupération de mot de passe</h4>
  <form id="customerForm" class="default-form" method="post" action="costumerMdpUpdate.php">
   <div>
                <label for="email"><span class="required">Adresse email *</span></label>
                <input type="text" name="email" id="email"/>
            </div>
            <div>
                <label for="newPassword">Nouveau mot de passe</label>
                <input type="password" name="newPassword" id="newPassword"/>
            </div>
            <div>
                <label for="confirmPassword">Confirmation</label>
                <input type="password" name="confirmPassword" id="confirmPassword"/>
            </div>
            <div>
                <input type="button" class="form-btn" name="save" id="save" value="Enregistrer les modifications">
            </div>

</form>
    <!-- <a href="#" rel="nofollow noopener noreferrer" target="_blank" class="form-btn" name="save" id="save">Enregistrer les modifications</a> -->




<script type="text/javascript">
                    $(document).ready(function(){
                         $("#save").click(function(e){
                             e.preventDefault();
                                $.ajax({
                                    url: '<?php echo $base_url; ?>of/customerMdpUpdate.php',
                                    type: 'post',
                                     data: $("#confirmPassword").serialize(),
                                     success: function(html){
                                     console.log(html);
                                                var obj = $.parseJSON(html);
                                                $("#notification-wrapper").fadeIn();
                                                $("#notification").html(obj.message);
                                                if(obj.index == "0"){ $("#notification-wrapper").addClass("error"); }
                                                if(obj.index == "1"){ $("#notification-wrapper").addClass("valid"); }
                                            }
                                        })//fin AJAX
                                    })

$("#confirmPassword").focus(function(){
                                        window.setTimeout(function(){ 
                                            $(".update-block").fadeOut(200);

}, 1000);

})
                                    })
                </script>   

</div>


customerMdpUpdate.php :
<?php

include '../Includes/base.php';


if(isset($_POST['email'])) $email = $_POST['email']; else $email = "";
if(isset($_POST['newPassword'])) $newPassword = $_POST['newPassword']; else $newPassword = "";
if(isset($_POST['confirmPassword'])) $confirmPassword = $_POST['confirmPassword']; else $confirmPassword = "";


//ON VERIFIE L'EMAIL
$Verifemail = mysqli_query($link, "SELECT * FROM `b_clients` WHERE `email` = '".$email."'");


//echo "SELECT * FROM `b_clients` WHERE email ='" . $email . "' AND password ='" . md5($currentPassword) . "'";
//echo $email;echo $email;
if (mysqli_num_rows($Verifemail) != "0"){

$sqlUpdate = "UPDATE `b_clients` SET
            `password` = '".md5($confirmPassword)."'
            WHERE `email` = '".$email."'
        ";
 mysqli_query($link, $sqlUpdate);

if (mysqli_query($link, $sqlUpdate)){

echo json_encode(array("index" => "1", "message" => "La mise à jour de vos informations s'est déroulée avec succès."));
 }else{
  echo 'Requete non exe';
 }

} else { echo $email;echo json_encode(array("index" => "0", "message" => "La mise à jour de vos informations a échouée.<br/>L'email n'existe pas."));
}

?>

EDIT : Ajout des balises de code (jordane)

A voir également:

3 réponses

jordane45 Messages postés 38346 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 16 décembre 2024 4 718
7 févr. 2017 à 19:01
Bonjour,

Essaye ça :
<?php

//Affichage des erreurs PHP
error_reporting(E_ALL);
ini_set('display-errors','on');

// Include
require_once '../Includes/base.php';


// Récupération PROPRE des variables 
$email = !empty($_POST['email']) ? $_POST['email'] : NULL;
$newPassword = !empty($_POST['newPassword']) ? $_POST['newPassword'] : NULL;
$confirmPassword = !empty($_POST['confirmPassword']) ? $_POST['confirmPassword'] : NULL;
 
// Variable de sortie
$resultJson = array();
 
//ON VERIFIE L'EMAIL
$sql = "SELECT * FROM `b_clients` WHERE `email` = '".$email."'";
$Verifemail = mysqli_query($link, $sql) or die(mysqli_error($link));

//echo "SELECT * FROM `b_clients` WHERE email ='" . $email . "' AND password ='" . md5($currentPassword) . "'";
//echo $email;echo $email;
if (mysqli_num_rows($Verifemail) > 0){

  $sqlUpdate = "UPDATE b_clients SET  password = '".md5($confirmPassword)."' WHERE email = '".$email."'";
  if (mysqli_query($link, $sqlUpdate)){
    $resultJson = array("index" => "1", "message" => "La mise à jour de vos informations s'est déroulée avec succès.");
  }else{
    $resultJson =  array("ERROR"=>'Requete non executée' , 'SQL'=>$sqlUpdate , "mysqli_error"=>mysqli_error($link));
  }
} else { 
  $resultJson = array("index" => "0", "message" => "La mise à jour de vos informations a échouée.<br/>L'email n'existe pas.","email"=> $email);
)

echo json_encode($resultJson);

0
NirnaWh Messages postés 2 Date d'inscription mardi 7 février 2017 Statut Membre Dernière intervention 8 février 2017
Modifié par NirnaWh le 7/02/2017 à 22:47
Ma console me renvoie ça :


:s
0
jordane45 Messages postés 38346 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 16 décembre 2024 4 718
7 févr. 2017 à 23:13
Je pense qu'on verrait mieux avec le debug de firefox plutot que celui de chrome ....
mais à priori .. une erreur 500 peut venir de l'include de ton fichier base.php

Essaye dans un premier temps juste ça :
<?php
//Affichage des erreurs PHP
error_reporting(E_ALL);
ini_set('display-errors','on');


// Récupération PROPRE des variables 
$email = !empty($_POST['email']) ? $_POST['email'] : NULL;
$newPassword = !empty($_POST['newPassword']) ? $_POST['newPassword'] : NULL;
$confirmPassword = !empty($_POST['confirmPassword']) ? $_POST['confirmPassword'] : NULL;
 
// Variable de sortie
$resultJson = array("test"=>"ok");

echo json_encode($resultJson);


Si ça fonctionne... essaye celui-là :
<?php

//Affichage des erreurs PHP
error_reporting(E_ALL);
ini_set('display-errors','on');

// Include
require_once '../Includes/base.php';


// Récupération PROPRE des variables 
$email = !empty($_POST['email']) ? $_POST['email'] : NULL;
$newPassword = !empty($_POST['newPassword']) ? $_POST['newPassword'] : NULL;
$confirmPassword = !empty($_POST['confirmPassword']) ? $_POST['confirmPassword'] : NULL;
 
// Variable de sortie
$resultJson = array("test"=>"ok");
 

echo json_encode($resultJson);


Si là ça ne fonctionne pas.. c'est bien un PB au niveau de ton include.
Es-tu sûr que le fichier se situe bien là où tu l'indiques ? Avec la même orthographe (y compris majuscules/minuscules) ?
Essayes aussi d'éviter les chemins relatifs mais plutôt de mettre le chemin depuis la racine de ton site.
0
NirnaWh Messages postés 2 Date d'inscription mardi 7 février 2017 Statut Membre Dernière intervention 8 février 2017
Modifié par NirnaWh le 8/02/2017 à 17:26
ReBonjour,

Les codes que tu m'as passé fonctionne. :o

J'ai vérifié du côté de l'include ( et du chemin/requête/base.php) mais aucun problème (et aussi j'utilise le même partout ).

Sur mon debug firefox j'ai ça :




Le problème viens de la page mdpoubli.php sur le code ajax. Je continue à chercher !
0