[RESOLU] Formulaire de connexion php

Avatar du membre
Petit nouveau ! | 4 Messages

28 avr. 2023, 18:32

Bonjour à tous

J'ai un soucis au niveau du form login que j'essaye de faire en php en mvc.

Mon navigateur affiche comme soucis :

Erreur fatale : Erreur non interceptée : classe "App\Controllers\login" introuvable dans C:\xampp\htdocs\location\routes\Route.php:48 Stack trace : #0 C:\xampp\htdocs\location\routes\Router .php(33) : Router\Route->execute() #1 C:\xampp\htdocs\location\public\index.php(26) : Router\Router->run() #2 {main} lancé en C :\xampp\htdocs\location\routes\Route.php à la ligne 48

Pourtant j'ai bien l'impression que mes namespace sont bon , je ne voie pas ou est le soucis .... , Pouvez vous m'aidez ?

Voila mon Controllers/login.php

Code : Tout sélectionner

<?php namespace App\Controllers; use App\Models\login; class ConnexionController extends Controller { public function afficherFormulaireConnexion() { require 'views/login.php'; } public function verifierConnexion() { if(isset($_POST['username']) && isset($_POST['password'])) { $username = htmlspecialchars($_POST['username']); $password = htmlspecialchars($_POST['password']); //$post = new Post($this->getDB()); $utilisateur = new login($this->getDB()); $utilisateur->setUsername($username); $utilisateur->setPassword($password); if($utilisateur->verifierConnexion()) { // Connexion réussie, rediriger vers une autre page header('Location: home.php'); exit; } else { // Mauvais nom d'utilisateur ou mot de passe, afficher un message d'erreur $errorMessage = 'Nom d\'utilisateur ou mot de passe incorrect'; require 'views/login.php'; } } else { // Données du formulaire manquantes, afficher le formulaire de connexion $this->afficherFormulaireConnexion(); } } }
Mon Models/login.php

Code : Tout sélectionner

Mon Models/login.php <?php namespace App\Models; class login extends Model { private $username; private $password; public function setUsername($username) { $this->username = $username; } public function setPassword($password) { $this->password = $password; } public function verifierConnexion() { $req = $this->query('SELECT * FROM users WHERE username = ?'); $req->execute(array($this->username)); if($donnees = $req->fetch()) { if(password_verify($this->password, $donnees['password'])) { // Mot de passe correct, la connexion est réussie return true; } else { // Mot de passe incorrect return false; } } else { // Nom d'utilisateur introuvable return false; } } }

Mon views/login.php

Code : Tout sélectionner

<h1>Connexion</h1> <?php if(isset($errorMessage)) { ?> <p><?php echo $errorMessage; ?></p> <?php } ?> <form method="post" action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']); ?>"> <label for="username">Nom d'utilisateur :</label> <input type="text" name="username" id="username"><br><br> <label for="password">Mot de passe :</label> <input type="password" name="password" id="password"><br><br> <input type="submit" value="Se connecter"> </form>