Bonjour,
J'ai téléchargé le script d'espace membre (refactorisation) de Grafikart, seulement voila, je me suis rendu compte que la page "account.php" permettant au membre de modifier son mot de passe n'a pas été réfactorisée (un oubli de Grafikart?), elle est toujours en procédural !
J'ai donc fais de mon mieux pour écrire la page moi-même et je pense avoir presque réussi mais comme "presque" ne suffit pas je demande de l'aide, le probleme : Je ne sais pas comment (sauf en procédural) récupérer l'id du membre a l'aide des classes du script.
Voila mon code
<?php
require 'inc/bootstrap.php';
App::getAuth()->restrict();
$auth = App::getAuth();
if (!empty($_POST)) {
$validator = new Validator($_POST);
$validator->isConfirmed('password');
if ($validator->isValid()) {
$password = $auth->hashPassword($_POST['password']);
$user_id = $_SESSION['auth']->id; // voila la ligne qui pose probleme, ceci fonctionne mais c'est du procédural.
$db = App::getDatabase();
$db->query('UPDATE users SET password = ? WHERE id = ?', [$password, $user_id]);
Session::getInstance()->setFlash('success', 'Votre mot de passe a bien été modifié');
} else {
Session::getInstance()->setFlash('danger', 'Vous devez rentrer un mot de passe valide');
}
}
require 'inc/header.php';
?>
Ce que je veux
l'id du membre, que je récupère de la session :
var_dump(Session::getInstance()->read('auth'));
Mais avec cette ligne je récupère l'ensemble de la session, et pas uniquement l'id.
Ce que j'obtiens AVEC le var_dump
C:\wamp64\www\test\account.php:25:
object(stdClass)[3]
public 'id' => string '2' (length=1)
public 'username' => string 'demo' (length=4)
public 'email' => string 'demo@demo.com' (length=13)
public 'password' => string '$2y$10$nQHaOTIcD3jJ6OL7EuzjM.fcbqYVrpyst90ql9EzvdUr.CvHp2fPa' (length=60)
public 'remember_token' => null
public 'confirmation_token' => null
public 'confirmed_at' => string '2017-01-08 00:50:46' (length=19)
public 'reset_token' => null
public 'reset_at' => null
Comment récuperer l'id seulement ??
Merci pour votre aide, et désolé pour la coloration de mon code, je ne maitrise pas du tout le markdown :/