[MVC] Changement de mot de passe
Posté : 03 déc. 2016, 15:45
Bonjour,
j'ai un projet à réaliser pour mon BTS SIO pour la fin de l'année, j'ai fais un site avec le design pattern MVC, mais mon système de changement de mot de passe n'est pas fonctionnel, voici les différentes parties du code.
La fonction changePass du controleur "personnel" :

Le site web dont il est question :
http://dianophe.alwaysdata.net/personnel/connect
Username : b.desforges
Mdp : bdesforges123
Lors ce que je me connecte, le mot de passe n'a pas changé, l'ancien est toujours actif...
Je viens vers vous car je ne vois pas où pourrait être le problème. Merci par avance !
j'ai un projet à réaliser pour mon BTS SIO pour la fin de l'année, j'ai fais un site avec le design pattern MVC, mais mon système de changement de mot de passe n'est pas fonctionnel, voici les différentes parties du code.
La fonction changePass du controleur "personnel" :
function changePass(){
$this->loadModel('Personnels');
if(isset($_POST['new_password']) && isset($_POST['new_password_confirm']) && isset($_COOKIE['id_con']) && isset($_COOKIE['id_user'])){
$new_password = $_POST['new_password'];
$new_password_confirm = $_POST['new_password_confirm'];
if($new_password == $new_password_confirm){
$username['username'] = $this->Personnels->updatePersonnelPassword($_COOKIE['id_con'], $new_password);
$this->set($username);
var_dump($_COOKIE['id_con']);
unset($_COOKIE['id_con']);
unset($_COOKIE['id_user']);
setcookie('id_con', null, -1, '/');
setcookie('id_user', null, -1, '/');
var_dump($new_password);
var_dump($new_password_confirm);
var_dump($username['username']);
} else {
header("Location: connect");
}
} else {
header("Location: connect");
}
}
La méthode pour le changement de mot de passe dans la BDD :function updatePersonnelPassword($id_con, $pass) {
include(ROOT.'core/modele/dbconnect.php');
$result = $dbh->query('SELECT * from salarie WHERE id_con="'.$id_con.'"');
$row = $result->fetch();
$login_user = $row[8];
$id_con = $row[10];
$new_id_con = md5($pass + $login_user);
$dbh->exec("UPDATE salarie SET password=md5('"+ $pass +"'), id_con='" + $new_id_con + "' WHERE id_con='".$id_con."'");
return $login_user;
}
Le controleur principal :<?php
class Controller{
var $vars = array();
var $layout = 'default';
function __construct(){
if(isset($_POST)){
$this->data = $_POST;
}
if(isset($this->models)){
foreach($this->models as $v){
$this->loadModel($v);
}
}
}
function set($d){
$this->vars = array_merge($this->vars,$d);
}
function render($filename){
extract($this->vars);
ob_start();
require(ROOT.'views/'.get_class($this).'/'.$filename.'.php');
$content_for_layout = ob_get_clean();
if($this->layout==false){
echo $content_for_layout;
}else{
require(ROOT.'views/layout/'.$this->layout.'.php');
}
}
function loadModel($name){
require_once(ROOT.'models/'.strtolower($name).'.php');
$this->$name = new $name();
}
}
?>
Le rendu de la page :
Le site web dont il est question :
http://dianophe.alwaysdata.net/personnel/connect
Username : b.desforges
Mdp : bdesforges123
Lors ce que je me connecte, le mot de passe n'a pas changé, l'ancien est toujours actif...
Je viens vers vous car je ne vois pas où pourrait être le problème. Merci par avance !