Nous allons améliorer la gestions des erreurs de façon à afficher un message plus
conviviale pour l'utilisateur. Dans la fonction errorManager($message, $url=NULL)
,
modifier le code afin que l'utilisateur soit redirigé instantanément en non
plus au bout de 5 secondes.
Si l'url passée en paramètre est nulle, l'utilisateur sera redirigé vers la page d'accueil par défaut.
Testez vos changements en chargeant directement la page new.php
. Vous devriez
être redirigé vers la page d'accueil du site.
Dans la fonction errorManager
, au lieu d'afficher directement le message d'erreur,
nous allons le stoquer dans une variable de session que nous afficherons plus tard.
Modifier la fonction errorManager
afin que le message soit enregistré dans
la variable $_SESSION['errorMessage]
.
Ajoutez l'initialisation des sessions sur tout vos scripts PHP sauf dans la bibliothèque.
Affichez provisoirement le contenu de la variable de session sur la page d'accueil
et vérifiez que le message est bien enregistré lorsque vous chargez directement
le script new.php
:
Dans la bibliothèque lib\lib.php
, ajoutez une fonction displayError()
. Cette
fonction teste si la variable $_SESSION['errorMessage]
est vide ou non.
Si la variable contient un message, elle affiche le message d'erreur dans une Alert Bootstrap.
Dans la page d'accueil (index.php
) et dans la page de la liste de course
(list/index.php
), ajoutez un appel à la fonction avant l'affichage du titre.
Chargez les scripts new.php
et list/add.php
, le message devrait apparaitre
conformément à l'illustration suivante. Vous pouvez ajouter une icône avant le
texte :
En vous inspirant de l'exemple de la documentation Bootstrap , ajoutez une croix afin que l'utilisateur puisse supprimer le message :
Vérifiez que lorsque l'on clique sur la croix, le message s'efface.
Rechargez la page, que constatez-vous ? Le message d'erreur revient car il est toujours enregistré dans la variable de session.
Complétez la fonction displayError()
afin que la variable de sessions $_SESSION['errorMessage]
soit effacée après l'affichage. Testez votre modification.
Créez une liste de courses et saisissez quelques articles. Entrez un nouvel article contenant une ou plusieurs balises HTML, par exemple :
<h1>Haha</h1>
</td></tr>
<a href="http://micheletjacquie.com">Je spamme ta liste avec des liens pornographiques</a>
Que constatez-vous ?
Réglez ce problème grâce à la fonction htmlspecialchars.
Depuis la page d'accueil, créez une nouvelle liste qui s'appelle : "<!--".
Corrigez ce problème en utilisant la même méthode que pour les noms des articles.