Académique Documents
Professionnel Documents
Culture Documents
Php
Exercice complémentaire
Objectif : Créer un formulaire de contact qui enregistre chaque soumission dans une base de
données. Les données saisies par l’internaute seront vérifiées avant leur traitement.
Le site devra être visible sur le serveur lpmiaw dans le dossier exoSupPhp.
I) Créer la table
1. Créer une nouvelle table nommée php_contacts
2. Créer 6 colonnes :
II)Enregistrement
Le formulaire sera soumis avec la méthode POST à la page script.php.
Dans un premier temps, nous n’effectuerons aucun contrôle sur les valeurs.
1. Créez le code permettant d’enregistrer dans la table contact les éléments du formulaire
2. En cas de succès, il faut rediriger l’utilisateur sur la page index en affichant le bon message.
Pour cela vous utiliserez l’url index.php?etat=ok
Nous n’utiliserons pas html (avec required par exemple) ou javascript pour vérifier les données afin
de nous concentrer sur le traitement serveur en php. Les contrôles de données côté client ne sont
jamais suffisants et doivent toujours être doublés d’un contrôle côté serveur.
Page 1/3
Université de La Rochelle
Php
1. Créer une variable error avec une valeur à false en début de script
2. Utilisez des conditions pour affecter la valeur true à error si les champs nom ou prénom
sont vides.
3. Votre script ne doit créer une entrée dans la base de données que s’il n’y a pas d’erreur. S’il
y a une erreur il faudra rediriger vers la page index.php?etat=ko La variable d’url
vous servira à afficher un message d’erreur.
Nous allons améliorer la perception des erreurs par l’internaute en créant une bordure rouge si le
champ comporte une erreur ou verte si la donnée est valide. Pour cela il faudra ajouter la classe is-
valid ou is-invalid sur l’élément input valide ou en erreur.
1. Dans le fichier script.php, utilisez la session pour stocker la liste des champs valides et
invalides.
2. Dans le fichier index.php, récupérez ces valeurs et utilisez les pour conditionner la classe is-
valid ou is-invalid sur chaque input
Page 2/3
Université de La Rochelle
Php
VII) Liste des messages
1. Créer un fichier liste.php qui va afficher un tableau avec la liste de tous les messages par
ordre antéchronologique.
2. Chaque message pourra être supprimé en cliquant sur le bouton « suppression »
3. En cliquant sur le bouton « détail » on doit accéder à une page affichant le contenu du
message.
VIII) Pagination
1. Améliorer la présentation en utilisant une pagination pour n’afficher que 10 messages par
page.
2. Ajouter une liste déroulante permettant de choisir le nombre d’éléments à afficher par page :
10, 20, 50, tous
3. Utiliser un cookie pour mémoriser ce choix. Vérifier que le cookie persiste. Le moyen le
plus évident est un redémarrage de votre machine.
Page 3/3