php-rt:tp1

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

php-rt:tp1 [2018/02/15 16:44] – [A faire] jcheronphp-rt:tp1 [2019/08/31 14:21] (Version actuelle) – modification externe 127.0.0.1
Ligne 8: Ligne 8:
 <li>Tester la réponse du serveur en allant à l'adresse <b>http://127.0.0.1</b> dans un navigateur client</li> <li>Tester la réponse du serveur en allant à l'adresse <b>http://127.0.0.1</b> dans un navigateur client</li>
 </ul></div></html> </ul></div></html>
 +
 +<html><div class="info"></html>
 +En cas de problème avec Xampp (impossibilité de démarrer apache), il est possible d'utiliser php comme serveur.\\
 +En mode console, exécuter :
 +<sxh bash;gutter:false>
 +php -S 127.0.0.1:8000
 +</sxh>
 +<html></div></html>
 +
 ====== - Intro ====== ====== - Intro ======
  
-===== Modalités pour les TDs ===== 
-[[slam5:pairprog|Le Pair programming]] 
  
-===== Quelques bases PHP ===== 
  
-[[php-rt:bases]]+===== Quelques bases ===== 
 + 
 +  * [[php-rt:bases]] 
 +  * [[slam5:collaboration:git]]
 ===== Création d'un site ===== ===== Création d'un site =====
   * En invite de commande ou à partir de l'explorateur, aller à la racine de votre serveur web local **{xampp-folder}/htdocs** où **{xampp-folder}** est le dossier de base de xampp   * En invite de commande ou à partir de l'explorateur, aller à la racine de votre serveur web local **{xampp-folder}/htdocs** où **{xampp-folder}** est le dossier de base de xampp
Ligne 25: Ligne 34:
  
  
-==== -- Hello world ====+==== - Hello world ====
 Pour respecter la tradition, et conjurer les mauvais sorts, nous allons commencer par l'obligatoire **Hello world** !\\ Pour respecter la tradition, et conjurer les mauvais sorts, nous allons commencer par l'obligatoire **Hello world** !\\
 En anglais, sinon ça ne conjure rien du tout.. En anglais, sinon ça ne conjure rien du tout..
Ligne 75: Ligne 84:
 </sxh> </sxh>
  
-==== Expliquer ====+__**PHP :**__\\ 
 +Si on accède à l'url **<nowiki>index.php?page=1</nowiki>**, la récupération du paramètre **page** se fait en php avec **$_GET** : 
 +<sxh php;gutter:false> 
 +<?php 
 +echo "Vous êtes sur la page n° ".$_GET["page"]; 
 +</sxh> 
 + 
 + 
 + 
 +==== A expliquer ====
  
   * URL absolue   * URL absolue
Ligne 89: Ligne 107:
 ===== Exercice 2 ===== ===== Exercice 2 =====
  
-==== Objectif : ====+==== Objectifs : ====
  
   * Récupérer des informations dans l'URL : la méthode HTTP **GET**    * Récupérer des informations dans l'URL : la méthode HTTP **GET** 
Ligne 113: Ligne 131:
 Pour modifier le style d'un élément : Pour modifier le style d'un élément :
 <sxh html;gutter:false> <sxh html;gutter:false>
-<div style="font-size: 10px;font-color:#FF0000">Message de taille 10px en rouge</div>+<div style="font-size: 10px;color:#FF0000">Message de taille 10px en rouge</div>
 </sxh> </sxh>
  
Ligne 139: Ligne 157:
  
  
-==== Expliquer ====+==== A expliquer ====
  
   * Méthode POST, Headers   * Méthode POST, Headers
Ligne 223: Ligne 241:
 </sxh> </sxh>
  
-Pour utiliser une fonction :+Pour utiliser une fonction (la fonction div) :
 <sxh php> <sxh php>
 echo div('Hello world !'); echo div('Hello world !');
Ligne 237: Ligne 255:
 <html><div class="todo"></html> <html><div class="todo"></html>
   * Dans le fichier **functions.php**, créer la function **createHtmlTable($nbLignes,$nbColonnes)**, retournant le tableau HTML précédent   * Dans le fichier **functions.php**, créer la function **createHtmlTable($nbLignes,$nbColonnes)**, retournant le tableau HTML précédent
-  * Créer dans la page **ex4.php** un formulaire permettant de saisir le nombre de lignes et de colonnes du tableau à afficher, et associer la création du tableau à ce formulaire+  * Dans la page **ex5.php** 
 +    * Inclure le fichier **functions.php** 
 +    * créer un formulaire permettant de saisir le nombre de lignes et de colonnes du tableau à afficher, et associer la création du tableau à ce formulaire, par appel de la fonction **createHTMLTable**
 <html></div></html> <html></div></html>
 {{:php-rt:tp1:ex4.png?nolink|}} {{:php-rt:tp1:ex4.png?nolink|}}
  
-==== Exercice 6 ====+===== Exercice 6 =====
  
-  * Créer une fonction factorielle **fact** en utilisant les itérations 
-  * Créer une autre version **factR** de manière récursive 
-  * Appeler ces 2 fonctions à partir d'une page **ex5.php** en donnant la possibilité à l'utilisateur de saisir le nombre dont on calcule la factorielle, et la fonction appelée 
  
-==== Exercice 7 ====+==== Objectifs ====
  
-  * Créer les fonctions suivantes :+  * Manipuler les tableaux 
 +  * Appeler des fonctions 
 +  * Utiliser les méthodes de la requête 
 +  * Générer du contenu dynamiquement 
 + 
 +==== Notions ==== 
 +Pour créer un tableau PHP : 
 +<sxh php> 
 +$tableau=["SMITH","DOE","DOYLE"]; 
 +</sxh> 
 + 
 +Pour accéder à un élément : 
 +<sxh php> 
 +echo $tableau[0];//Affiche SMITH 
 +</sxh> 
 + 
 +Pour créer un tableau associatif : 
 +<sxh php> 
 +$tableauAsso=["SMITH"=>5,"DOE"=>22,"DOYLE"=>37]; 
 +</sxh> 
 + 
 +Pour accéder à un élément : 
 +<sxh php> 
 +echo $tableauAsso["SMITH"];//Affiche 5 
 +</sxh> 
 + 
 +==== A faire ==== 
 + 
 +<html><div class="todo"></html> 
 +  * Dans le fichier **functions.php** créer la fonction **element($titre, $contenu, $niveau=1)** permettant de générer la structure HTML suivante : 
 +<sxh html> 
 +<h-niveau>titre</h-niveau> 
 +<div>contenu</div> 
 +</sxh> 
 +  * Créer la fonction **parseElements($elements)** permettant de générer la structure HTML des éléments passés en paramètre ; $elements sera un tableau du type : 
 +<sxh php> 
 +$elms=[ 
 +        ["titre"=>"Exercices","contenu"=>"Liste des exercices disponibles"], 
 +        ["titre"=>"Exercice n°1","contenu"=>"Créer une fonction","niveau"=>2], 
 +        ["titre"=>"Exercice n°2","contenu"=>"Afficher le contenu d'un tableau","niveau"=>2] 
 +]; 
 +</sxh> 
 +  * Tester la fonction **parseElements($elements)** dans un fichier **ex6.php** en utilisant un tableau correctement structuré, avec des valeurs 
 +<html></div></html> 
 + 
 +===== Exercice 7 ===== 
 +==== Objectifs ==== 
 +  * Créer et utiliser des fonctions 
 +  * Créer un formulaire 
 + 
 +==== A faire ==== 
 +<html><div class="todo"></html> 
 +  * Créer les fonctions suivantes dans le fichier **fonctions.php** :
     * **wordCount($s)** compte le nombre de mots dans la chaîne $s et le retourne     * **wordCount($s)** compte le nombre de mots dans la chaîne $s et le retourne
     * **charCount($s,$c=NULL)** compte le nombre de caractères égaux à $c dans la chaîne $s, ou le nombre de caractères au total si $c n'est pas passé en argument     * **charCount($s,$c=NULL)** compte le nombre de caractères égaux à $c dans la chaîne $s, ou le nombre de caractères au total si $c n'est pas passé en argument
-    * Créer maintenant l'interface suivante, avec un textarea et un formulaire HTML, pour tester vos fonctions : +    * Créer maintenant l'interface suivante dans **ex7.php**, avec un textarea et un formulaire HTML, pour tester vos fonctions : 
 +<html></div></html>
 {{:php-rt:tp1:ex6.png?nolink|}} {{:php-rt:tp1:ex6.png?nolink|}}
  
-==== Exercice 8 ====+===== Exercice 8 =====
  
 +==== Objectifs ====
 +  * Rechercher et manipuler des fonctions php existantes
  
 +==== A expliquer ====
 +  * Où trouver de l'aide en PHP, sites de référence
  
-  * Créer l'interface permettant de tester quelques fonctions php existantes de manipulations des chaînes : 
-  * vous utiliserez : 
-    * la doc php pour déterminer quelles fonctions utiliser : http://php.net/manual/fr/book.strings.php 
-    * la possibilité d'appeler une fonction sous forme de chaîne 
-    * La liste des 10 fonctions à utiliser est dans une liste HTML 
  
-__**Exemple :**__ +==== Notion ==== 
-<sxh>+Pour appeler une fonction sous forme de chaîne 
 +<sxh php>
 <?php <?php
 $sEcho="echo"; $sEcho="echo";
Ligne 273: Ligne 342:
 ?> ?>
 </sxh> </sxh>
 +
 +
 +==== A faire ====
 +
 +<html><div class="todo"></html>
 +  * Dans le fichier **ex8.php**, Créer l'interface permettant de tester quelques fonctions php existantes de manipulations des chaînes :
 +  * vous utiliserez :
 +    * la doc php pour déterminer quelles fonctions utiliser : http://php.net/manual/fr/book.strings.php
 +    * la possibilité d'appeler une fonction sous forme de chaîne
 +    * La liste des 10 fonctions à utiliser est dans une liste HTML
 +<html></div></html>
  
 {{:php-rt:tp1:ex7.png?nolink|}} {{:php-rt:tp1:ex7.png?nolink|}}
  • php-rt/tp1.1518709497.txt.gz
  • Dernière modification : il y a 6 ans
  • (modification externe)