From d7468fc363b5d028db84373d4abfa6d7d19bacb9 Mon Sep 17 00:00:00 2001 From: polo Date: Mon, 11 Aug 2025 06:25:39 +0200 Subject: =?UTF-8?q?nouveau=20routeur!=20et=20contr=C3=B4leurs=20et=20vues?= =?UTF-8?q?=20pour=20la=20connexion=20et=20la=20gestion=20du=20compte,=20d?= =?UTF-8?q?=C3=A9but=20d'utilisation=20de=20Request=20et=20Response?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/view/LoginBuilder.php | 41 ++++++++++++++++++++++++++++++++++++++--- 1 file changed, 38 insertions(+), 3 deletions(-) (limited to 'src/view/LoginBuilder.php') diff --git a/src/view/LoginBuilder.php b/src/view/LoginBuilder.php index 532f054..567c93d 100644 --- a/src/view/LoginBuilder.php +++ b/src/view/LoginBuilder.php @@ -9,9 +9,44 @@ class LoginBuilder extends AbstractBuilder { public function __construct(Node $node) { - global $entityManager; + // déjà connecté? + if($_SESSION['admin']) + { + header('Location: ' . new URL); + die; + } - // une classe Password ce serait pas mal!! - connect($this, $entityManager); + $viewFile = self::VIEWS_PATH . $node->getName() . '.php'; + + $captcha = new Captcha; + $_SESSION['captcha'] = $captcha->getSolution(); // enregistrement de la réponse du captcha pour vérification + + //$this->html .= $header; + + $error_messages = [ + 'error_non_valid_captcha' => 'Erreur au test anti-robot, veuillez saisir un nombre entier.', + 'captcha_server_error' => 'captcha_server_error', + 'bad_solution_captcha' => 'Erreur au test anti-robot, veuillez réessayer.', + 'bad_login_or_password' => 'Mauvais identifiant ou mot de passe, veuillez réessayer.', // ne pas indiquer où est l'erreur + 'forbidden_characters' => 'Caractères interdits: espaces, tabulations, sauts CR/LF.' + ]; + + $link_form = new URL(['action' => 'connection']); + isset($_GET['from']) ? $link_form->addParams(['from' => $_GET['from']]) : ''; + isset($_GET['id']) ? $link_form->addParams(['id' => $_GET['id']]) : ''; + + $link_exit = new URL; + isset($_GET['from']) ? $link_exit->addParams(['page' => $_GET['from'] ]) : ''; + isset($_GET['id']) ? $link_exit->addParams(['id' => $_GET['id']]) : ''; + + $error = isset($_GET['error']) ? $error_messages[$_GET['error']] : ''; + + ob_start(); + require $viewFile; + $this->html = ob_get_clean(); // nouveau contenu + + //$this->html .=

Ce site utilise un cookie « obligatoire » lorsque vous êtes connecté ainsi que sur cette page.
Il sera supprimé à votre déconnexion ou dès que vous aurez quitté le site.

; + + //$this->html .= $footer; } } -- cgit v1.2.3