TP 7 - PHP

Retour à la page de l'UE

Dans ce TP, vous allez écrire vos premiers scripts PHP. Comme nous ne savons pas encore comment stocker des fichiers sur le serveur ou utiliser une base de données, ces premiers exercices ne vous permettront pas de voir toute la puissance de PHP : nous allons faire beaucoup des choses qui pourraient être également réalisées en JavaScript. Il est cependant important de faire consciencieusement ces exercices pour se familiariser avec la syntaxe de PHP afin d'être prêts pour le TP suivant où nous écrirons des scripts qui utilisent un état persistant sur le serveur...

Rendu. Ce TP est à rendre sur Jalon. Vous devrez pour cela créer une archive qui contiendra tous les fichiers que vous avez produits au cours du TP.

Exercice 1 : quelques scripts simples pour commencer...

Les scripts à écrire dans cette section sont très simples, quelques lignes tout au plus... Le but est de se familiariser avec le passage de variables et l'utilisation de formulaires.

Question 1.1. Commencez par créer un script nommé multiplication1.php qui prend deux paramètres a et b, et affiche une page HTML complète contenant le produit de a et de b. Cela signifie que si l'on charge la page multiplication1.php?a=7&b=8, votre script doit générer une page web, dont le body contiendra un seul paragraphe avec le texte "56"...
Question 1.2. Créez maintenant un script nommé multiplication2.php qui multiplie tous les paramètres qui lui sont passés en paramètre, quels que soient leurs noms. Par exemple, lorsqu'on charge la page multiplication2.php?a=7&b=8&toto=0.3&foo=.9, on devra voir la valeur "15.12". Indice : il vous faudra boucler sur le tableau$_GET...
Question 1.3. Modifiez les scripts des questions précédentes pour que si l'un des paramètres contient une valeur non numérique, vots scrips affichent une erreur, en rouge. Vous aurez probablement besoin d'une fonction que vous pouvez trouver sur cette page...
Question 1.4. Créez maintenant une page nommée appel_multiplication1.php qui contiendra un formulaire avec deux champs de texte, et un bouton "Soumettre". Il faut faire en sorte que ce formulaire appelle la page multiplication1.php avec deux paramètres a et b dont les valeurs correspondront au contenu des champs de texte du formulaire.
Question 1.5. Créez maintenant une page nommée appel_multiplication3.php qui contiendra un formulaire avec un seul champ de texte, et un bouton "Soumettre". L'utilisateur pourra entrer un nombre quelconque de valeurs dans ce champ de texte, séparées par des virgules. Celles-ci seront passées à un script nommé multiplication3.php qui enlèvera tous les espaces de la chaîne reçue (fonction str_replace()), la découpera (fonction explode()), multipliera toutes les valeurs entre elles, et affichera le résultat, toujours dans une page HTML complète.

Exercice 2 : de JavaScript à PHP

Dans cet exercice, nous allons réimplémenter les scripts de la dernière fois en PHP. Avec quelques modifications, puisque nous utiliserons cette fois des formulaires HTML...

Question 2.1. Créez un fichier table_multiplication.php qui contiendra un formulaire ayant un champ texte nommé max, et un bouton de soumission. Le formulaire utilisera la méthode get et aura comme action la page courante (donc table_multiplication.php). En-dessous de ce formulaire, vous aurez du code PHP qui n'affichera rien si la variable max n'est pas définie. Sinon, il affichera une table de multiplication identique à celle du dernier TP (avec des couleurs différentes selon la divisibilité par 2 ou par 3 des cellules), sauf qu'au lieu que celle-ci aille jusqu'à 12, elle ira jusqu'à la valeur de max.

Voilà ce à quoi devrait ressembler la page web que vous avez créée : Résultat de l'exercice

Question 2.2. De la même manière, dans un fichier nommé pgcd_ppcm.php, créez un formulaire avec deux champs de texte, deux boutons radio "PGCD" et "PPCM", et un bouton de soumission. Hors du formulaire, vous ajouterez un champ de texte avec l'attribut readonly qui, après soumission du formulaire, contiendra soit le PGCD, soit le PPCM des deux valeurs fournies. Ceci devra être écrit intégralement en PHP...

Valid XHTML 1.1