public function loginAction() { // On récupère la valeur du login et du mot de passe saisi dans le formulaire // Sécurité contre la saisie de code html ou javascript // On convertit tous les caractères éligibles en entités HTML pour empêcher leur interprétation. $S_login = htmlentities($_POST['login'], ENT_QUOTES); $S_password = htmlentities($_POST['password'], ENT_QUOTES); // on stocke le login dans la session : Session::setSession('login', $S_login); // si on a pas un identifiant et un mot de passe on renvoit sur la page de login. if (null == $S_login || null == $S_password) { // on stocke le message d'erreur dans la clef error Session::setSession('error', 'Un identifiant et un mot de passe doivent être saisis'); die(header('Location:/login')); } try { // on fait appelle au modèle UserMapper pour vérifier dans la base si le login existe $O_userMapper = new UserMapper(); // on utilise la méthode recherche par login $O_user = $O_userMapper->findByLogin($S_login); } catch (Exception $e) { Session::setSession('error', $e->getMessage()); die(header('Location:/login')); } // on vérifie le mot de passe : if ($O_user->getPassword() === sha1($S_password)) { session_regenerate_id(); $O_user->setPassword(null); Session::setSession('user', $O_user); Session::setSession('error', null); die(header('Location:/')); } else { Session::setSession('error', 'Le mot de passe incorrect'); die(header('Location:/login')); } }