Exercices les fichiers en PHP : Série 02
Exercices les fichiers en PHP : Série 02
-
Objectifs
- Être capable de lire et d’écrire dans un fichier avec PHP
-
Exercice: 01
-
É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) :
- À 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) :
- 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.
-
Solution
- Essayez de faire l’exercice de votre côté avant de regarder la Solution !
function getPasswd ($login) {
...
}
function addLog ($login, $reussie) {
...
}