Manipulation des données : gestion des erreurs

Licence Informatique 2ème année

Youssef Chahir - Alexandre Niveau - Jean-Marc Lecarpentier

 

Manipulation des données : gestion des erreurs

Notes de cours

Travail personnel

Objectifs

L'exercice est une application directe de l'architecture présentée en cours pour la manipulation des données.

Exercice 1 — Gestion d'un formulaire de saisie avec messages d'erreur #

But : Mettre en place un formulaire de saisie permettant d'enregistrer des personnes en gérant correctement les messages d'erreur. Les données seront stockées dans un fichier texte nommé sauvegarde.txt. Les actions à traiter sont dans le squelette.php

Récupération des fichiers

Téléchargez cette archive qui contient un répertoire nommé Personne, comprenant un exemple de formulaire de saisie.

Étapes à réaliser

  1. Gestion des données transmises par le formulaire de saisie (formulairePersonne.php)

    Compléter le formulaire disponible dans l'archive pour saisir les informations d'une personne : nom et date de naissance.

  2. Gestion des erreurs

    Assurez-vous que tous les champs sont correctement remplis et que les types de données sont valides. La date de naissance doit être une date valide. Pour cela, on utilisera la fonction controlerDate qui se trouve dans donnees.php. Gérez les messages d'erreur de manière appropriée si une des conditions n'est pas remplie. Dans le cas contraire, afficher un message du type : La personne Jean Paul est né le 10-12-2001

  3. Implémentation de la classe Personne

    Créez une classe Personne dans le fichier donnees.php qui gère les données saisies par l'utilisateur.

    • Attributs : nom (string) et dateN (string).
    • Méthodes :
      • __construct() : Initialise les attributs de la classe.
      • __toString() : Renvoie une chaîne de caractères représentant la personne (format : Nom (Tabulation) Date de naissance).
      • enregistrer() : Enregistre la personne (même format que __toString ) dans le fichier sauvegarde.txt.

    La création d'une instance Personne se fera quand il n'y a plus de messages d'erreurs. Ensuite, il faut sauvengarder les données correctement saisies.

    Voici un exemple d'utilisation de la classe Personne pour enregistrer une personne saisie :

    $p = new Personne($nom, $dateN);
    $p->enregistrer();
    
  4. Affichage des personnes enregistrées
    1. Ajouter l'action afficher : un lien 'Affichage des personnes' dans le menu principal ans le fichier squelette.php .
    2. Dans index.php, gérer cette action et afficher les données sauvegardée dans sauvegarde.txt sous forme de tableau HTML.
    3. Pour commencer, lisez le contenu du fichier sauvegarde.txt à l'aide de file_get_contents(). Ensuite, découpez ce contenu en lignes avec explode(PHP_EOL, ...). Pour chaque ligne non vide, séparez le nom et la date en utilisant explode(" ", ) et appliquez htmlspecialchars() à chaque donnée afin d'assurer un affichage sécurisé.

Remarques :

Logique d'enregistrement et d'affichage
  • Action saisir, on affiche le formulaire et on enregistre les données dans sauvegarde.txt si elles sont valides.
  • Action afficher, on affiche toutes les personnes enregistrées dans un tableau HTML.
Commandes utiles

Pour enregistrer dans un fichier texte :

file_put_contents('sauvegarde.txt', $p, FILE_APPEND);

Pour lire les données depuis le fichier texte :

$F = file_get_contents('sauvegarde.txt');