diff --git a/app/controller/ConnexionController.php b/app/controller/ConnexionController.php index 25b409020378db4cf65e90ec8cf34bfb35535593..cbeda4e907410979fd4c930a2ffd4bed56c0749c 100644 --- a/app/controller/ConnexionController.php +++ b/app/controller/ConnexionController.php @@ -1,15 +1,12 @@ <?php -class ConnexionController extends Controller { // classe de contrôleur pour l'affichage des profils - public function displayValid() { // la fonction d'affichage - //$slug = $this->route["params"]["slug"]; // on récupère le "slug", en gros tout le reste de l'URL qui n'a pas encore servi - - //$this->view->profil = Profil::getFromSlug($slug); // on utilise le modèle pour aller chercher en BDD le profil qui nous intéresse - $this->view->display(); // on affiche ce profil +class ConnexionController extends Controller { // classe de contrôleur pour la connexion au site + public function displayValid() { // la fonction d'affichage de réussite + $this->view->display(); // on affiche la page avec le message de réussites } - public function displayForm() { // la fonction d'affichage - $this->view->display(); // on affiche ce profil + public function displayForm() { // la fonction d'affichage de formulaire + $this->view->display(); } public function verify() { // vérifie que les identifiants sont valides par rapport à la BDD diff --git a/app/kernel/Router.php b/app/kernel/Router.php index d300f87176a63143b1be10f1a653028059b9274b..f0375d54a84030fcb03db9ba854c09996b6431a6 100644 --- a/app/kernel/Router.php +++ b/app/kernel/Router.php @@ -16,41 +16,65 @@ class Router { // classe PHP permettant l'analyse de l'URL des requêtes } else { // sinon, on a des infos sur la page demandée $parts = explode("/", $query); // on sépare la requête selon les /, et on regarde ce qu'on connait comme ordres dedans - if($parts[0] == "jeu" && count($parts) == 2) { // on veut consulter la fiche d'un jeu + + /*** consultation des jeux ***/ + if($parts[0] == "jeu" && count($parts) == 2) { // on veut consulter la fiche d'un jeu (jeu/nomDuJeu) $result["controller"] = "Jeu"; // le contrôleur à instancier sera "JeuController", on met donc "Jeu" dans la variable de résultat $result["action"] = "display"; // on veut afficher les informations d'un jeu, donc on donne l'action "display" $result["params"]["slug"] = $parts[1]; //on a des paramètres dans l'URL (normalement le nom/id du jeu), on le stocke aussi } - else if($parts[0] == "listejeux") { // on veut consulter la liste des jeux + else if($parts[0] == "listejeux") { // on veut consulter la liste des jeux (listejeux/, avec n'importe quoi derrière) $result["controller"] = "Jeu"; // le contrôleur à instancier sera "JeuController", on met donc "Jeu" dans la variable de résultat $result["action"] = "displayListe"; // on veut afficher la liste des jeux, donc on donne l'action "displayListe" // il n'y a pas de paramètres attendus, on n'affecte pas $result["params"] } - else if($parts[0] == "profil" && count($parts) == 2) { // autre possibilité : on veut consulter un profil (le premier bout de la requête est "profil", et on a au moins un paramètre derrière) - $result["controller"] = "Profil"; // le contrôleur à instancier sera "ProfilController", on met donc "Profil" dans la variable de résultat - $result["action"] = "display"; // on veut afficher le profil de quelqu'un, donc on donne l'action "display" - $result["params"]["slug"] = $parts[1]; //on a des paramètres dans l'URL (normalement le pseudo de la personne), on le stocke aussi + + /*** consultation des profils ***/ + else if($parts[0] == "profil" && count($parts) == 2) { // consultation d'un profil : 2 morceaux (profil/pseudoDeLaPersonne) + $result["controller"] = "Profil"; + $result["action"] = "display"; + $result["params"]["slug"] = $parts[1]; } - else if($parts[0] == "classement" && count($parts) > 1) { // autre possibilité : on veut consulter un profil (le premier bout de la requête est "profil", et on a au moins un paramètre derrière) - $result["controller"] = "Classement"; // le contrôleur à instancier sera "ProfilController", on met donc "Profil" dans la variable de résultat - $result["action"] = "display"; // on veut afficher le profil de quelqu'un, donc on donne l'action "display" - $result["params"]["slug"] = $parts[1]; //on a des paramètres dans l'URL (normalement le pseudo de la personne), on le stocke aussi - for($k=2; $k<count($parts); $k++) { + + /*** consultation des classements ***/ + else if($parts[0] == "classement" && count($parts) > 1) { // si classement général : 2 morceaux(classement/global), si classement spécifique : 3 morceaux (classement/jeu/nomDuJeu) + $result["controller"] = "Classement"; + $result["action"] = "display"; + $result["params"]["slug"] = $parts[1]; //on a des paramètres dans l'URL, on le stocke aussi + for($k=2; $k<count($parts); $k++) { // on recompose le bout d'URL encore inutilisé $result["params"]["slug"] = $result["params"]["slug"].'/'.$parts[$k]; } } + + /*** connexion au site ***/ else if($parts[0] == "connexion" && count($parts) == 1) { // formulaire de connexion - $result["controller"] = "Connexion"; // le contrôleur à instancier sera "ProfilController", on met donc "Profil" dans la variable de résultat + $result["controller"] = "Connexion"; $result["action"] = "displayForm"; // "displayForm" pour afficher le formulaire } else if($parts[0] == "connexion" && count($parts) == 2 && $parts[1] == "valid") { // connexion réussie - $result["controller"] = "Connexion"; // le contrôleur à instancier sera "ProfilController", on met donc "Profil" dans la variable de résultat - $result["action"] = "displayValid"; // "displayForm" pour afficher le formulaire + $result["controller"] = "Connexion"; + $result["action"] = "displayValid"; // "displayValid" pour afficher la page avec le message de réussite } else if($parts[0] == "connexion" && count($parts) == 2 && $parts[1] == "verify") { // connexion réussie - $result["controller"] = "Connexion"; // le contrôleur à instancier sera "ProfilController", on met donc "Profil" dans la variable de résultat - $result["action"] = "verify"; // "displayForm" pour afficher le formulaire + $result["controller"] = "Connexion"; + $result["action"] = "verify"; // "verify" pour appeler la méthode de vérification } + + /*** inscription au site ***/ + else if($parts[0] == "inscription" && count($parts) == 1) { // formulaire de connexion + $result["controller"] = "Register"; + $result["action"] = "displayForm"; // "displayForm" pour afficher le formulaire + } + else if($parts[0] == "inscription" && count($parts) == 2 && $parts[1] == "valid") { // connexion réussie + $result["controller"] = "Register"; + $result["action"] = "displayValid"; // "displayValid" pour afficher la page avec le message de réussite + } + else if($parts[0] == "inscription" && count($parts) == 2 && $parts[1] == "verify") { // vérification de la validité de l'inscription + $result["controller"] = "Register"; + $result["action"] = "verify"; // "verify" pour appeler la méthode de vérification + } + + // à chaque fois qu'on crée une nouvelle page, il faut rajouter un cas à cet endroit ! // si on n'a rien trouvé que l'on connaissait, alors la page demandée n'existe pas => erreur 404. Ça tombe bien, c'est comme ça qu'on a initialisé la variable ! :-D diff --git a/app/model/Connexion.php b/app/model/Connexion.php index e48781bc7ccc41b5b06b934aee2c753089398e0f..cb6b1292a57d3cb066cfc180829cd3b6ad4ab7ba 100644 --- a/app/model/Connexion.php +++ b/app/model/Connexion.php @@ -1,7 +1,6 @@ <?php -class Connexion extends Model { // classe de modèle pour l'affichage de profils - public $useless; // on définit les attributs de la classe +class Connexion extends Model { // classe de modèle pour la connexion au site public static function check($pseudo, $pass) { // méthode permettant de vérifier la validité d'identifiants d'un membre dans la BDD // renvoie 1 si le membre existe et que son mot de passe correspond diff --git a/app/view/index/display.html b/app/view/index/display.html index c0ec00cb86e39ae1b0c8a7b36581de27a4c0e29b..69461a88aabe8d74b876adafbcb5c61c198e5f75 100644 --- a/app/view/index/display.html +++ b/app/view/index/display.html @@ -37,6 +37,9 @@ <h2 style="margin-bottom:-4px;"><a href="connexion">Connexion</a></h2> <em>(plein de modifs à venir !)</em> + <h2 style="margin-bottom:-4px;"><a href="inscription">Inscription</a></h2> + <em>(plein de modifs à venir !)</em> + <footer> <p>Pied de page...</p> </footer>