Exercice 09 - Formulaire de connexion

Mise en situation

Votre chargé de projet veut que vous fassiez la programmation d’un formulaire de connexion. L’intégrateur frontend n’a pas fini son travail de style CSS, vous n’avez donc pas à y toucher. De plus, vous n’avez pas à faire la validation que le connexion et mot de passe sont remplis et valides avec des identifiants existants.

Vous devez pour ce mandat faire deux choses : faire que lorsque l’usager se connecte une variable de session indique qu’il est connecté et le formulaire disparait. Un lien apparaitra permettant de se déconnecter. S’il se déconnecte, la variable de session est complètement détruite et le formulaire réapparait.

Ensuite, il y a une case à cocher « Se souvenir de mon nom d’usager? », si elle est cochée le formulaire va écrire une variable de cookie qui conserve le nom de l’usager pour une reconnexion future. Si l’usager la décoche lors de sa reconnexion, le cookie est détruit.

Modalités

À faire (étapes)

Voici les étapes suggérées, je vous recommande d’utiliser le fichier functions.php dans includes/ et de faire des fonctions :)

  1. Copier chaque bout de code fourni du cours 09 dans les bonnes fonctions de functions.php
  2. Faites que lorsque le formulaire est envoyé en méthode POST à la même page, une variable de SESSION «estConnecte» est créée. (avec la valeur true)
  3. Si la case à cocher «Se souvenir de mon nom d’usager?» est cochée, on créée une variable de COOKIE «usager» qui contient le nom de l’usager lors de l’envoi. (il est dans le formulaire, allez donc le chercher avec $_POST["txt_username"];
  4. Si la variable booléenne de SESSION «estConnecte» est présente, le formulaire n’apparait pas et un lien pour se déconnecter est présent.
  5. Lors du clic sur ce lien, on redirige vers la page de formulaire avec une variable GET «action» qui indique de se déconnecter dans sa valeur.
  6. Si la variable de déconnexion est présente dans l’URL, on détruit la session et on redirige vers la page de formulaire (il devrait réapparaitre) (header(…))
  7. Lorsque le formulaire revient, si la variable de COOKIE « usager» est présente, le champ de formulaire devrait être rempli avec le nom d’usager par défaut (VALUE)
  8. EXPERT: la case à cocher est aussi cochée si la variable de COOKIE «usager» est présente, si elle est décochée le cookie est détruit.

Solution