Exercices les fichiers en PHP : Série 02

Exercices les fichiers en PHP : Série 02

  1. Objectifs

    • Être capable de lire et d’écrire dans un fichier avec PHP
  2. Exercice: 01

    1. Énoncé
      • Créez une page PHP nommée login.php comportant un formulaire.
      • La page est inspirée du template bootstrap5
      • Le formulaire comprend un champ “text” permettant à un utilisateur de saisir son “login“, un champ de type “password” et un bouton de type “submit” permettant de valider les informations.
      • Ce formulaire doit appeler la page PHP nommée “bienvenue.php“, que nous construirons plus tard.
      • Créez un fichier nommé bienvenue.php. Celui-ci représente une page Web qui affiche le message “Bienvenue personne”, où personne est la valeur saisie par un utilisateur dans le formulaire de la page login.php.
      • Testez l’enchaînement entre la page login.php et le script bienvenue.php.
      • La page affiche un message d’erreur, et un lien de retour vers login.php, si le mot de passe saisi est différent de apcpedagogie.com.
      • Créez un fichier passwd.txt contenant les logins et mots de passe de tous les utilisateurs : chaque ligne contient un login et un mot de passe séparés par deux points “:“. Chaque fin de ligne contient le caractère “:“.
      • Modifiez le script du fichier bienvenue.php afin qu’il réalise l’authentification d’un utilisateur grâce à ce fichier.
      • Le but est donc de rechercher si le login de l’utilisateur est présent dans le fichier passwd.txt
      • Pour faire les choses proprement, modifiez votre code de manière à ce que la recherche du login dans le fichier soit effectuée par la fonction suivante (que vous allez créer) :
      • function getPasswd ($login) {
            ...
        }
      • À chaque connexion ou tentative ratée de connexion, nous souhaitons enregistrer : le login, la date et l’heure, ainsi que le statut (réussie ou échouée) dans un fichier journal (aussi appelé fichier de “log“).
      • Modifiez le script du fichier bienvenue.php afin qu’à chaque appel, il ajoute à un fichier log.txt les informations relatives à la tentative de connexion.
      • Pour faire les choses proprement, modifiez votre code de manière à ce que l’écriture dans le fichier journal soit effectuée par la fonction suivante (que vous devez créer) :
      • function addLog ($login, $reussie) {
            ...
        }
      • Cette fonction recevra en paramètre une chaîne de caractères $login, représentant le login de l’utilisateur qui tente de se connecter, et un booléen $reussie, qui vaudra TRUE pour signaler la réussite de connexion et FALSE pour signaler un échec, et fera l’ouverture et les écritures nécessaires dans le fichier log.txt.
    2. Solution
      • Essayez de faire l’exercice de votre côté avant de regarder la Solution !





Abonnez vous à notre chaîne YouTube gratuitement