diff --git a/php/public/assets/logo.png b/php/public/assets/logo.png new file mode 100644 index 0000000..d272825 Binary files /dev/null and b/php/public/assets/logo.png differ diff --git a/php/public/css/menu.css b/php/public/css/menu.css new file mode 100644 index 0000000..6ab9e3d --- /dev/null +++ b/php/public/css/menu.css @@ -0,0 +1,145 @@ +a { + text-decoration: none; +} + +.navbar-container { + display: flex; + justify-content: space-between; + align-items: center; + padding: 0 2rem; + width: 100%; + height: 70px; + background: #fff; + color: #212121; + position: sticky; + top: 0; + left: 0; + z-index: 100; +} + +.navbar-container .logo-container a { + font-size: 1.5rem; + font-weight: 500; + font-family: 'Kanit', sans-serif; + text-transform: uppercase; + cursor: pointer; + color: #212121; + max-height: 70px; +} + +.navbar-container .nav-items { + display: flex; + align-items: center; + gap: 3rem; + list-style: none; +} + +.navbar-container .nav-items .nav-link a { + color: #212121; + padding: 10px; + text-transform: uppercase; + transition: 0.2s; +} + +.navbar-container .nav-items .nav-link:after { + content: ''; + display: block; + border-top: 3px solid #00DBFF; + transform: scaleX(0); + transition: transform 250ms ease-in-out; +} + +.navbar-container .nav-items .nav-link:hover:after { + transform: scaleX(0.8); +} + +.navbar-container .nav-items .login-register { + display: flex; + flex-direction: row; + gap: 1rem; +} + +.navbar-container .nav-items .login-register .button { + color: #00DBFF; + padding: 5px 20px; + text-transform: uppercase; + border-radius: 15px; + border: #fff 2px solid; +} + +.navbar-container .nav-items .login-register .button2{ + background: #00DBFF; + color: #fff; + border-radius: 15px; +} + +.navbar-container .nav-items .login-register .button:hover { + border: #00DBFF 2px solid; +} + +.navbar-container .nav-items .login-register .button2:hover { + border: #00A4FF 2px solid; +} + +@media(max-width: 1030px) { + .navbar-container { + padding: 0 1rem; + } + + .navbar-container .nav-items { + gap: 0.1rem; + } + + .navbar-container .nav-items .nav-link a, + .navbar-container .nav-items .login-register .button { + font-size: 0.9rem; + } +} + +@media(max-width: 915px) { + .navbar-container .nav-items { + flex-direction: column; + position: fixed; + top: 70px; + right: -100%; + width: 100vw; + height: 100vh; + padding: 1rem 0; + z-index: 99; + background: #fff; + transition: 0.2s ease-in; + } + + .bars { + width: 22px; + height: auto; + cursor: pointer; + } + + .bars .bar { + width: 100%; + height: 2px; + background: #212121; + margin: 5px; + } + + .navbar-container .nav-items { + gap: 3rem; + } + + .navbar-container .nav-items .login-register { + width: 50%; + text-align: center; + flex-direction: column; + gap: 2rem; + } + + .navbar-container .nav-items .login-register .button { + padding: 1rem 0; + } + +} + +.navbar-container .nav-items.active { + right: 0; +} \ No newline at end of file diff --git a/php/public/index.php b/php/public/index.php index 8a015ce..6158841 100755 --- a/php/public/index.php +++ b/php/public/index.php @@ -12,5 +12,6 @@ $twig = new \Twig\Environment($loader, [ 'cache' => false, 'debug' => true ]); - -$cont = new \App\controleur\FrontControleur(); \ No newline at end of file +$twig->addExtension(new \Twig\Extension\DebugExtension()); +$cont = new \App\controleur\FrontControleur(); +//end session \ No newline at end of file diff --git a/php/src/controleur/FrontControleur.php b/php/src/controleur/FrontControleur.php index 0fe94ad..791f1f5 100755 --- a/php/src/controleur/FrontControleur.php +++ b/php/src/controleur/FrontControleur.php @@ -16,7 +16,7 @@ class FrontControleur //TODO ], "Membre" => [ - "deconnexion","proposerOffre","consulterProfil","modifierProfil","signaler" + "deconnection","proposerOffre","consulterProfil","modifierProfil","signaler", ], "Utilisateur" => [ "connection", "inscription", "accueil","consulterProfilLimite" @@ -41,10 +41,11 @@ class FrontControleur } } else if(in_array($action,$actions['Membre'])) { - if (!isset($_SESSION["login"])) { + if (!isset($_SESSION["utilisateur"])) { $dVueErreur[] = 'Veuillez vous connecter'; echo $twig->render('erreur.html', ['dVueErreur' => $dVueErreur]); } else{ + echo "controlleur membre instancié"; new MembreControleur(); } }else{ diff --git a/php/src/controleur/MembreControleur.php b/php/src/controleur/MembreControleur.php index c0b83ff..f73641d 100755 --- a/php/src/controleur/MembreControleur.php +++ b/php/src/controleur/MembreControleur.php @@ -12,8 +12,8 @@ class MembreControleur extends UtilisateurControleur $action = \App\config\Validation::nettoyerString($_REQUEST["action"]); } switch ($action) { - case "deconnexion": - $this->deconnexion(); + case "deconnection": + $this->deconnection(); break; case "proposerOffre": $this->proposerOffre(); @@ -32,9 +32,11 @@ class MembreControleur extends UtilisateurControleur } } - protected function deconnexion() + protected function deconnection() { - //TODO + session_destroy(); + header('Location: index.php?action=accueil'); + exit(); } protected function proposerOffre() diff --git a/php/src/controleur/UtilisateurControleur.php b/php/src/controleur/UtilisateurControleur.php index 5df7d7d..2bf0eea 100755 --- a/php/src/controleur/UtilisateurControleur.php +++ b/php/src/controleur/UtilisateurControleur.php @@ -28,7 +28,7 @@ class UtilisateurControleur $this->consulterProfilLimite(); break; default: - $dVueErreur[] ="Action inconnue ou non autorisée"; + $dVueErreur[] ="Action rjhghuiergiuhou non autorisée"; echo $twig->render("erreur.html",['dVueErreur' => $dVueErreur]); } @@ -89,9 +89,17 @@ class UtilisateurControleur protected function accueil() { global $twig; - echo $twig->render('accueil.html', []); + // Ajout d'un var_dump pour déboguer + if (isset($_SESSION['utilisateur']) && $_SESSION['utilisateur'] instanceof \App\metier\Alumni) { + $pseudo = $_SESSION['utilisateur']->getEmail(); // ou getPseudo() si la méthode existe + } else { + $pseudo = null; + } + + echo $twig->render('accueil.html', ['pseudo' => $pseudo]); } + protected function consulterProfilLimite() { //TODO diff --git a/php/src/gateway/AlumniGateway.php b/php/src/gateway/AlumniGateway.php index 9f140bc..59b9033 100644 --- a/php/src/gateway/AlumniGateway.php +++ b/php/src/gateway/AlumniGateway.php @@ -69,6 +69,12 @@ class AlumniGateway ':e' => array($email, PDO::PARAM_STR), )); $res=$this->con->getResults(); + var_dump($res); + if(count($res)==0){ + echo "Aucun utilisateur trouvé"; + return null; + } + echo "Utilisateur trouvé"; return new \App\metier\Alumni($res[0]['mail'],$res[0]['mdp'],$res[0]['role']); } diff --git a/php/src/modele/UtilisateurModele.php b/php/src/modele/UtilisateurModele.php index e11d866..b4f7cff 100755 --- a/php/src/modele/UtilisateurModele.php +++ b/php/src/modele/UtilisateurModele.php @@ -18,7 +18,7 @@ class UtilisateurModele * @param string hash * @return \App\metier\Alumni */ - public function connection(string $email, string $hash) : \App\metier\Alumni + public function connection(string $email, string $hash) : ? \App\metier\Alumni { $dsn = "mysql:host=localhost;dbname=dbAlica"; $username = "Dev"; @@ -32,14 +32,15 @@ class UtilisateurModele // L'utilisateur existe, vérifiez le mot de passe if ($hash==$utilisateur->getPassword()) { // Le mot de passe est correct, retournez l'utilisateur + session_start(); return $utilisateur; } else { // Le mot de passe est incorrect, renvoyez null - return new \App\metier\Alumni(null, null, null); + return null; } } else { // L'utilisateur n'existe pas, renvoyez null - return new \App\metier\Alumni(null, null, null); + return null; } } @@ -56,7 +57,7 @@ class UtilisateurModele $username = "Dev"; $password = "Dev"; - $role = "Utilisateur"; + $role = "Membre"; $con = new \App\gateway\Connection($dsn, $username, $password); $gate = new \App\gateway\AlumniGateway($con); // Insérez le nouvel utilisateur dans la base de données en utilisant AlumniGateway diff --git a/php/templates/accueil.html b/php/templates/accueil.html index 18b3aa3..87ab6bb 100755 --- a/php/templates/accueil.html +++ b/php/templates/accueil.html @@ -9,9 +9,16 @@ +
+ {% include 'menu.html' %} +

Accueil

-

Bienvenue {{session.mail}}

+

{% if pseudo %} + Bienvenue, {{ pseudo }}! + {% else %} + Bienvenue, invité! + {% endif %}

Vous êtes sur la page d'accueil

Vous pouvez vous connecter ou vous inscrire

Vous pouvez aussi consulter les articles

diff --git a/php/templates/menu.html b/php/templates/menu.html new file mode 100644 index 0000000..603ceea --- /dev/null +++ b/php/templates/menu.html @@ -0,0 +1,37 @@ + + + + + + + + \ No newline at end of file