Vous êtes sur la page 1sur 5

MEC 1310:TI en Génie Mécanique

LABORATOIRE INFORMATIQUE no. 9

MODULE G: Le langage PHP


H IVER 2008

13 mars 2008
Le but de ce laboratoire est d’apprendre à utiliser le langage PHP dans le
cadre de pages Web dynamiques.

Pour chacun des exercices, télécharger les fichiers de départ correspondants


qui se trouvent dans la rubrique Documents du site du cours.

Dans le répertoire /home/tixxx/public_html/, créer un sous-répertoire php


qui servira pour tous les exercices PHP/MySQL1 .

Exercice 9.1 : Une première page dynamique

Copier le fichier exempleG1.php dans l’espace web du compte tixxx,


c’est-à-dire le répertoire /home/tixxx/public_html/php/, puis
visualiser le résultat dans la fenêtre d’un navigateur Web à l’adresse URL :
http ://cogito.labos.polymtl.ca/˜tixxx/php/exempleG1.php.
Ouvrir le fichier exempleG1.php avec un éditeur de texte (Notepad) afin
d’en analyser le contenu. Le tableau associatif $_SERVER est mis à jour à
chaque requête effectuée par un navigateur Web sur le serveur. Il contient
toutes sortes d’informations concernant la transaction entre le client et le
serveur, entre autres, l’adresse IP du client, les informations sur le naviga-
teur Web utilisé, etc. Plus d’informations sur le contenu de cette variable
se trouvent dans le manuel PHP, à la page Web suivante :
http ://www.php.net/manual/fr/reserved.variables.php#reserved.variables.server
La fonction date(format_date) permet d’obtenir la date et/ou l’heure
sous la forme d’une chaîne de caractères disposée selon le format donné
dans le paramètre format_date. Celui-ci est une chaîne de caractères
où certaines lettres permettent de spécifier les valeurs à insérer (heures,
minutes, secondes, jour, mois, année). Dans l’exemple donné, ’H’ donne
l’heure (format 24h), ’i’ les minutes et ’s’ les secondes. Les caractères non
reconnus par la commande seront affichés tels quels dans le résultat qu’elle
retourne, comme par exemple, le caractère " :". La description de toutes les
caractéristiques de la fonction date() se trouvent dans le manuel PHP, à
la page Web suivante :
http ://www.php.net/manual/fr/function.date.php
1
Au préalable, une connexion SSH a été établie sur cogito.labos.polymtl.ca

1
Modifier le fichier exerciceG1.php pour afficher les informations suivantes
dans les zones indiquées dans le fichier
1. l’adresse IP du client ;
2. les informations reçues par le serveur Web à propos du navigateur
utilisé ;
3. les informations sur le serveur Web ;
4. la date et l’heure à laquelle la page a été générée/visualisée (dans la
chaîne de caractères de contrôle, les lettres d, m et Y indiquent res-
pectivement à PHP d’insérer le jour, le mois et l’année sous forme de
nombre.)
Pour tester le résultat, transférer le fichier modifié sur cogito (par FTP)
dans le répertoire /home/tixxx/public_html/php/
puis visualiser la page dans un navigateur à l’adresse :
http ://cogito.labos.polymtl.ca/˜tixxx/php/exempleG1.php
Devoir

Question 1: Quel est l’index ou paramètre du tableau associatif $_SERVER


qui contient l’adresse IP du client ?
Question 2: Quel est l’index ou paramètre du tableau associatif $_SERVER
qui contient les informations sur le navigateur client utilisé ?
Question 3: Quel est l’index ou paramètre du tableau associatif $_SERVER
qui contient les informations sur le serveur qui a été contacté ?
Question 4: Inscrire l’énoncé PHP qui donne la date et l’heure d’affichage
de la page demandée.
Inscrire les réponses sur la feuille-réponse devoir sur le site du cours MEC1310.

Exercice 9.2 : Formulaires de saisies de données

Copier le fichier exempleG2.html dans le répertoire


/home/tixxx/public_html/php/, puis visualiser la page
http ://cogito.labos.polymtl.ca/˜tixxx/php/exempleG2.ht
dans un navigateur web.

2
Remplir le formulaire, et le soumettre. On vérifie que les paramètres (le nom,
le preńom etc...) apparaissent bien dans l’URL de la page-résultat.
La méthode GET est utilisée pour transférer les paramètres au serveur, et
envoie deux paramètres au serveur, directement inscrits dans l’URI. C’est
le principe de la méthode GET.
Devoir

Question 5: Dans le fichier exempleG2.html, quel paramètre du formu-


laire précise la ressource qui va traîter les données qui sont saisies ?
Inscrire les réponses sur la feuille-réponse devoir sur le site du cours MEC1310.

Exercice 9.3 : Méthode de transfer GET et POST

Modifier le fichier exempleG2.html et le renommer exerciceG2.html.


On remplace la méthode GET par la méthode POST, qui permet d’en-
voyer les paramètres à l’intérieur de la requête HTTP mais sans qu’ils
apparaissent dans l’URI.
Transferrer le fichier modifié ( exerciceG2.html) par FTP sur cogito.
Vérifier le bon fonctionnement de la modification du formulaire en vérifiant
que l’URI de la page-résultat est seulement :
http ://cogito.meca.polymtl.ca/˜tixxx/php/exempleG2.php
et contrairement à la méthode GET, le nom, prénom etc n’apparaissent pas
dans l’URI.
Modifier le fichier exerciceG2.html en faisant un réaménagement du for-
mulaire form en utilisant la balise table pour obtenir le résultat illustré
ci-dessous :

3
Exercice 9.4 : Traitement des données

Copier les fichiers exempleG4.html et exempleG4.php qui illustrent la


saisie et le traitement de données.
Transferrer et exécuter sur cogito pour tester l’exemple, et ouvrir les deux
fichiers dans un éditeur de texte afin d’analyser leur structure.
Modifier le fichier exempleG4.html et le nommer exerciceG4.html
en y ajoutant :
– ajouter le sandwich "Spécial du chef" au coût de 6$ dans la liste dérou-
lante des sandwichs ;
– ajouter l’option "Mayonnaise" au coût de 25c dans les options de sauces.
Modifier le fichier exempleG4.php et le renommer exerciceG4.php en
ajoutant dans les tableaux associatifs prix_sandwich et prix_sauces
les informations supplémentaires correspondant aux modifications faites
dans l’étape précédente.
Devoir

Question 6: Dans le fichier modifié exerciceG4.html, le paramètre ac-


tion du formulaire précise la ressource qui va traîter les données qui
sont saisies. Dans cet exemple modifié, quelle est la nouvelle valeur ?
Inscrire les réponses sur la feuille-réponse devoir sur le site du cours MEC1310.