Vous avez été engagé pour refondre le formulaire de contact du préstigieux distributeur de papier Dunder Mifflin.
Tout d'abord, reprenez le travail où votre prédécesseur l'a laissé, en clonant ce repo.
Une fois cela fait, lancez le projet avec la commande :
php -S localhost:8000et ouvrez le formulaire à la page form.html.
Comme vous pourrez le remarquer, le formulaire de réclamation ne permet ni de connaître précisement le nom de la personne qui ouvre une réclamation, ni de récupérer son email pour lui répondre.
Votre première tâche sera donc d'ajouter au formulaire :
- un champ "Votre nom :" qui contiendra du texte et sera obligatoire
- un champ "Votre email :" qui contiendra un email et sera obligatoire
Indice : Travaillez dans le TODO 1 laissé par votre prédécésseur dans
form.html
Nos clients nous ont également demandé de pouvoir accéder à un récapitulatif de leur réclamation aprés avoir validé le formulaire.
- Faites en sorte que le formulaire redirige vers la page
result.php. - La page
result.phpest déjà commencée. Faites en sorte que les données (nom de l'entreprise, nom et email du contact, message) provenant du formulaire s'affichent dans le cadre récapitulatif.
Indice n°1 : Travaillez au niveau du TODO 2 et remplacer les valeurs en dur par celles envoyées par le formulaire
Indice n°2 : Pensez à vous prémunir des attaques malicieuses en utilisant htmlentities()
Naturellement nous souhaitons prévenir les réclamations de mauvaise qualité et informer nos utilisateurs s'ils renseignent mal leurs demandes.
Les contrôles à appliquer sont :
- Le nom de l'entreprise est obligatoire
- Le nom du contact est obligatoire
- L'email du contact est obligatoire
- L'email du contact est bien formaté comme un email
- Le message de la réclamation est obligatoire
- Le message de la réclamation doit faire plus de 30 caractères
Indice n°1 : Travaillez au niveau du TODO 3. À cet endroit il s'agit de vérifier les données envoyées par le formulaire et d'alimenter le tableau
$errorssi des erreurs sont relevées.Indice n°2 : N'hésitez pas à consulter la documentation des fonctions isset() et empty() qui peuvent vous aider.
Afin de mieux répartir les réclamations entre les vendeurs nous allons demander aux utilisateurs de saisir leur contact commercial lors de leurs réclamations. Nous viendrons également afficher le portrait de leur contact dans le récapitulatif.
Pour cette tâche il faut donc :
- Ajouter une liste déroulante dans le formulaire qui affichera les noms :
- Andy Bernard
- Dwight Schrute
- Jim Halpert
- Phyllis Lapin-Vance
- Stanley Hudson
- Contrôler qu'un nom ait bien été sélectionné et que sa valeur fasse bien partie d'un de ces 5 contacts.
- Afficher dans la page
result.phple portrait qui correspond au bon vendeur à la place deplaceholder.png(vous trouverez les portraits de chaque vendeur dans le répertoire/imagesau format.webp)
Indice n°1 : Une liste déroulante affiche des informations, mais la donnée envoyée au serveur peut-être différente si besoin. Ici les images que vous devez afficher sont formatées avec le prénom de l'employé, utiliser cette donnée en
valueduselectdevrait aider.Indice n°2 : Utilisez un tableau PHP pour faciliter la manipulation de cette liste de nom et sa validation .