diff --git a/app/controller/ConnexionController.php b/app/controller/ConnexionController.php index 8de58464d8ccf7a3d9ccfe09f4cd1cde9855be22..7fc7a88ef92ba145dc871e7316f20d474fbafbe0 100644 --- a/app/controller/ConnexionController.php +++ b/app/controller/ConnexionController.php @@ -9,7 +9,7 @@ class ConnexionController extends Controller { // classe de contrôleur pour la $this->view->display(); } - public function verify() { // vérifie que les identifiants sont valides par rapport à la BDD + public function verify() { // vérifie que les identifiants sont valides par rapport à la BDD et réalise la connexion // méthode avec un stockage de mdp hashé selon la fonction password_hash() if(!isset($_POST['login']) || !isset($_POST['password'])) { // si l'une des données manque, erreur //appeler une fonction d'erreur @@ -28,6 +28,9 @@ class ConnexionController extends Controller { // classe de contrôleur pour la } else { // l'utilisateur existe if(password_verify($userpassword, $bddpassword)) { // la connexion a réussi + session_start(); // on démarre la session pour pouvoir définir les variables adéquates + $_SESSION['connected'] = true; + $_SESSION['user'] = Connexion::getUser(self::slugify($pseudo)); header('Location:valid'); // on redirige vers la page OK } else { // sinon, c'est que le mot de passe est faux diff --git a/app/model/Connexion.php b/app/model/Connexion.php index b84adcfad2acd7678ee470044ae167175a4760f2..6bb7a937a51e2495e851546a73425cbcf5ddcc13 100644 --- a/app/model/Connexion.php +++ b/app/model/Connexion.php @@ -1,6 +1,7 @@ <?php class Connexion extends Model { // classe de modèle pour la connexion au site + public $slug, $pseudo, $nom, $prenom, $email; public static function getPassword($pseudo) { // méthode permettant de récupérer le password hashé d'un membre dans la BDD // renvoie le mot de passe si le membre existe @@ -19,6 +20,16 @@ class Connexion extends Model { // classe de modèle pour la connexion au site return $return; } + public static function getUser($slug) { // méthode permettant de récupérer les données d'un utilisateur dans la BDD + $db = Database::getInstance(); // on récupère la connexion à la BDD + $sql = "SELECT slug, pseudo, nom, prenom, email FROM R_joueur WHERE slug = :slug_joueur"; + $req = $db->prepare($sql); // on prépare la requête + $req->setFetchMode(PDO::FETCH_CLASS, "Connexion"); + $req->execute(array(":slug_joueur" => $slug)); // on remplace les variables dans la requête + + return $req->fetch(); + } + }