Utilisation d'ordinateurs en réseau
TP numéro 4
14 mars 2017
Jean Méhat

Contenu du TP : utiliser PHP

Le TP du jour porte essentiellement sur l'utilisation de PHP. Je n'ai pas indiqué en cours comment tester le programme contenu dans un fichier PHP. Il y a deux manières principales :

Attention, j'ai vraiment du mal à lire le code mal indenté : prétez-y attention dès le départ s'il vous plait.


À faire : pour vérifier que PHP fonctionne bien dans votre environnement, placer dans votre public_html un fichier nommé premier.php qui contient

	  <!doctype html>
	  <html>
	    <body>
	      <?php echo "<p>Bonjour !</p>"; ?>
	    </body>
	  </html>
	
et visualisez-le sur le serveur du bocal.

À faire : (vu en cours) rentrer le code qui échange les valeurs de deux variables et visualiser le résultat.

Question 1 : (vu en cours) rentrer le code qui affiche le tableau des valeurs du PGCD des premiers entiers et visualiser le résultat. Ne rendre dans la réponse que le code PHP.

Question 1 bis : pour mémoire, on peut passer des arguments à la page web en ajoutant à l'adresse de la barre de navigation quelque chose comme ?arg1=val1&arg2=val2. Depuis PHP, on peut récupérer ces valeurs avec $_GET['arg1'] et $_GET['arg2']. Modifier le code de la question précédente pour controler de cette manière la taille du tableau. Ne rendre dans la réponse que la différence obtenue avec la commande diff entre le code de cette question et celui de la question 1.


Question 2 : fabriquer une page avec un formulaire qui permette de vous envoyer un mail. Le formulaire contiendra deux champs <input type=text> pour le sujet et pour le corps du mail. L'envoi se fera avec la fonction, évoquée en cours mail($user, $sujet, $texte);.

Je vous conseille de découper ce problème en deux parties : vérifiez que vous récupérez bien les données du formulaire ; vérifiez que vous pouvez vous envoyer un email. Ensuite seulement, réunissez les deux parties.

Répondre avec l'URL de la page sur le serveur web du bocal.


Question 3 : réaliser un compteur de visites en PHP et l'utiliser sur une page. À la première visite, la page affichera Compteur = 1 ; à la visite suivante (ou en cliquant sur le bouton de rechargement) Compteur = 2, puis 3, 4 etc. à chaque nouvelle visite.

La façon la plus simple de réaliser ça à mon avis est d'avoir un fichier de texte ordinaire qui contient la valeur du compteur. Le code PHP lit la valeur contenue dans le fichier et l'incrémente avant de l'écrire de nouveau dans le fichier.

Je pense que la façon la plus simple de lire le contenu d'un fichier simple est avec quelque chose comme $contenu = file_get_contents("fichier.txt");. La façon la plus simple d'y écrire un nouveau contenu est avec file_put_contents("fichier.txt", $contenu).

Un problème à résoudre est celui des permissions : PHP exécuté par le serveur web doit pouvoir lire et écrire ce fichier.

Inclure dans la réponse le code PHP et la description par la commande ls -l du fichier qui contient la valeur du compteur.


À faire : ajouter un livre d'or à votre page. N'importe quel visiteur peut (via un formulaire) y laisser son nom et un commentaire. Le nom et le commentaire sont ajoutés à un fichier, comme dans le fichier compteur de la question 3.

On visualisera les noms et les commentaires sur la même page ou sur une autre page, à votre choix.

La méthode la plus naturelle pour répondre à cette question aurait été d'utiliser une base de donnée MySQL mais on n'a pas encore eu le temps de voir ça en cours. Réalisons-le donc avec un fichier.

À mon avis, le plus simple est de placer directement le HTML à afficher dans le fichier quand on ajoute une entrée. Ouvrir le fichier avec fopen(nom, "a"), y ajouter du texte avec fwrite puis le fermer avec fclose. On pourra ensuite utiliser la fonction readfile pour visualiser le contenu du fichier.