travail sur le modele de student

php
Patrick BRUGIERE 1 year ago
parent 4ec3b41975
commit 47bbf93221

@ -2,24 +2,24 @@
namespace model;
use config\Connection;
require_once('../config/Connection.php');
require_once('Student.php');
use http\Exception;
use model\UserGateway;
class MdlStudent
{
protected UserGateway $gtw;
public function __construct($gtw){
$this->gtw = $gtw;
}
public function connection($login, $mdp){
// 1. Nettoyage des données (vous pouvez utiliser des méthodes de nettoyage spécifiques)
$cleanedLogin = strip_tags($login);
$cleanedPassword = strip_tags($mdp);
// 2. Appel Gateway pour vérifier les identifiants dans la base de données
$db = new Connection('mysql:host=localhost;dbname=ma_base', 'utilisateur', 'mot_de_passe');
$query = $db->prepare('SELECT * FROM Student_ WHERE login = :login AND password = :password');
$query->bindParam(':login', $cleanedLogin, PDO::PARAM_STR);
$query->bindParam(':password', $cleanedPassword, PDO::PARAM_STR);
$query->execute();
$student = $query->fetch(PDO::FETCH_ASSOC);
$student = $this->gtw->findUserByLoginPassword($cleanedLogin,$cleanedPassword);
if ($student) {
// L'authentification a réussi, ajouter le rôle et le login à la session
@ -28,7 +28,7 @@ class MdlStudent
$_SESSION['login'] = $cleanedLogin;
return true;
} else {
// L'authentification a échoué
throw Exception('problème d\'authentification');
return false;
}
}
@ -45,9 +45,11 @@ class MdlStudent
//Créer une classe nettoyer
$login=Nettoyer::nettoyer_string($_SESSION['login']);
$role=Nettoyer::nettoyer_string($_SESSION['role']);
return new Student($login,$role);
return self::$gtw->findUserByEmail($login);
}
else return null;
}
*/
}
}

@ -1,55 +0,0 @@
<?php
namespace model;
use JetBrains\PhpStorm\Pure;
require_once('User.php');
class Student extends User
{
public string $nickname;
protected bool $extraTime;
/**
* @param String $nickname
* @param bool $extraTime
*/
#[Pure] public function __construct(string $id, string $mail, string $nom, string $prenom, string $nickname, bool $extraTime)
{
parent::__construct($id,$mail, $nom, $prenom);
$this->nickname = $nickname;
$this->extraTime = $extraTime;
}
/**
* @return bool
*/
public function isExtraTime(): bool
{
return $this->extraTime;
}
/**
* @param bool $extraTime
*/
public function setExtraTime(bool $extraTime): void
{
$this->extraTime = $extraTime;
}
/**
* @param String $nickname
*/
public function setNickname(string $nickname): void
{
$this->nickname = $nickname;
}
public function getNickname(): string
{
return $this->nickname;
}
}
Loading…
Cancel
Save