M1202 - TP 1
Transcription
M1202 - TP 1
Nom : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Prénom : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Groupe : . . . M1202 - TP 1 - sujet A J. Landré, A. Haraoubia, D. Thiroine Il y a deux parties distinctes dans ce premier TP de PHP. Dans la partie 1, on va considérer une installation locale de PHP qui n’a pas bien marché puisque la commande ”php.exe” n’est pas disponible dans le PATH de Windows directement. Vous aurez donc à donner les chemins relatifs et absolus pour lancer l’exécution de ”php.exe” sur le fichier ”bonjour.php”. Dans la partie 2, vous allez utiliser le moteur PHP disponible sur la machine ”195.83.128.55”. Il faudra donc envoyer vos fichiers PHP sur le serveur dans un dossier ”m1202” à créer dans votre ”public_html” et visualiser le résultat avec votre navigateur. 1 PHP en local Une installation de PHP en local s’est mal passée. Le fichier ”php.exe” n’est pas dans le chemin de recherche des commandes de Windows (PATH). Il faut donc écrire les chemins pour lancer notre fichier PHP ”bonjour.php”. Le dessin ci-dessous décrit notre arborescence de fichiers. Le dossier actif (celui dans lequel on se trouve lorsqu’on ouvre la fenêtre de commandes est indiqué par une ellipse rouge autour de son nom). Il vous est demandé de donner les chemins pour lancer le moteur ”php.exe” sur votre fichier ”bonjour.php”. FIGURE 1 – L’arbre des fichiers avec le dossier actif entouré en rouge. - Écrire dans les cases correspondantes les chemins pour lancer le moteur PHP ”php.exe” sur le fichier ”bonjour.php” : a) absolu absolu b) relatif absolu c) absolu relatif d) relatif relatif 1 2 PHP à distance Nous allons utiliser le moteur PHP installé sur la machine ”195.83.128.55”. Il faudra donc envoyer les fichiers sur le serveur dans un dossier ”m1202” dans votre ”public_html”. Vous devrez toujours écrire votre code PHP dans une page HTML. - Pour vous aider, on donne un exemple d’intégration d’un code PHP dans un fichier HTML ci-dessous : 1 2 3 <!DOCTYPE html> <html lang="fr"> <head> 4 5 6 7 8 9 10 11 </html> 2.1 <meta charset="utf-8" /> </head> <body style="font-family: sans-serif;"> <?php echo '<p>Bonjour le monde !</p>'."\n"; ?> </body> Une petite question pour commencer… - Quelle est l’extension obligatoire des fichiers PHP ? Pourquoi ? 2.2 Boucles for et while - On donne le programme PHP suivant : 1 <?php 2 3 4 5 6 7 8 9 ?> echo '<p>'."\n"; $somme=0; for ($i=123; $i<147; $i+=3) { $somme=$somme+$i; } echo 'La somme vaut : '.$somme; echo '</p>'."\n"; - Copier ce programme dans votre dossier ”m1202”, visualisez-le avec votre navigateur et répondez aux questions ci-dessous : a) Quelle est la ligne résultat affichée par ce programme ? b) Transformez la boucle ”for” en boucle ”while”, réécrire votre code ci-dessous : 1 <?php 2 3 echo '<p>'."\n"; $somme=0; 4 5 6 7 8 9 10 11 ?> echo 'La somme vaut : '.$somme; echo '</p>'."\n"; 2 2.3 Punition en PHP - Comme l’enseignant en PHP nous a donné une punition à faire, on souhaite écrire un programme qui va afficher un certain nombre de fois le message ”Je dois apprendre mon cours de PHP !”. C’est donc l’ordinateur qui va écrire notre punition. - Écrire un programme PHP qui affiche 5 lignes de la punition. a) Sans utiliser de boucle : 1 <?php 2 3 4 5 6 7 8 9 10 11 ?> b) Avec une boucle ”while” : 1 <?php 2 3 4 5 6 7 8 9 10 11 ?> 2.4 Boucle, test conditionnel et modulo Dans cette partie, on va créer une table HTML qui sera un bon de commande avec un certain nombre de lignes défini par une variable $lignes. - On rappelle qu’une table HTML est construite de la façon suivante : <tr> et </tr> désignent une nouvelle ligne dans la table, <td> et </td> définissent le début et la fin d’une cellule dans la ligne. Le contenu da la cellule est écrit entre <td> et </td>. Si la cellule est vide, il faut mettre au moins un espace insécable ” ” dedans pour que la cellule ait une hauteur définie. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 <!DOCTYPE html> <html lang="fr"> <head> <meta charset="utf-8" /> </head> <body style="font-family: sans-serif;"> <h1>Bon de commande</h1> <table border="1px"> <tr height="30px"> <td width="200px">Désignation</td><td width="100px">Quantité</td> <td width="100px">Prix unitaire</td><td width="100px">Total</td> </tr> <?php $lignes=7; // Du code PHP doit être inséré ici ! ?> <tr><td></td><td></td><td>Total H.T.</td><td></td></tr> <tr><td></td><td></td><td>T.V.A.</td><td></td></tr> <tr><td></td><td></td><td>Total T.T.C.</td><td></td></tr> </table> </body> </html> 3 - On veut obtenir un affichage d’une table de commande avec ”$lignes=7;” soit sept lignes de commande. - Le résultat souhaité est donné ci-dessous. Il faut deux versions différentes utilisant une boucle ”for” : a) La première version est une table de commande simple. 1 2 <?php $lignes=7; b) La seconde version est une table de commande avec une ligne sur deux en gris, c’est-à-dire qu’il faut ajouter un style au début de la ligne <tr> qui doit devenir <tr style=”background-color: #ccc;”> lorsqu’on est sur une ligne paire. 1 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10 10 11 11 12 12 13 13 14 14 15 15 16 16 17 17 18 18 19 19 20 20 21 21 22 22 23 23 24 24 25 25 26 27 <?php $lignes=7; 26 ?> 27 4 ?>