Conception de sites web dynamiques

TP6 - PHP

Vous devez déposer les solutions dans le répertoire ~public_html/TP6/ avant le 08 Avril 15 Avril 2012 à 23h59. Une fois cette date limite est passée, la note zéro vous sera systématiquement attribuée pour ce TP.

Tutorial PHP
Site du zero

Exercice 1

Vous devez réaliser (éditer) votre première page (EX1.php) qui doit comporter le code html, et un unique appel à PHP pour afficher le texte "Hello World !" dans la partie body.

<?php
    echo "Hello World !";
 ?>

Pour afficher la page web, utiliser votre url publique (http://www.ens.math-info.univ-paris5.fr/~login/TP6/premier.php)

Afficher le code source (code html) de votre page web: à titre d'exemple, pour le navigateur Firefox

  1. ctrl + U
  2. Firefox => Déveloment web => code source de la page

Ou est passé le code php ?

Exercice 2

Modifier le fichier EX1.php pour afficher la configuration du serveur (à enregistrer sous: EX2.php). Pour cela, vous ferez référence à la fonction PHP phpinfo() en remplacant la ligne echo "Hello World !";par:

<?php
      phpinfo();
?>

Qu'affiche la fonction phpinfo(); ?

Exercice 3

Créer un fichier php nommé EX3.php, qui permet d'afficher la date et l'heure du système, en utilisant la fonction date() dans PHP, sous la forme:

"Nous sommes le 09/03/2011 et il est 01:21:42"

La date sera affichée en bleu et l'heure en rouge. Modifier le code suivant pour arriver à cet objectif:

<?php
     /* ceci est un commentaire qui s'étale sur
     plusieurs lignes... */
     # fin du commentaire sur mon premier essai

      echo date("d/m/y"). "<br />";
      echo date ("H:i:s");
?>

Exercice 4

Copier et coller le code suivant dans un fichier EX4.php. Interprétez (après la correction des erreurs) le résultat de chaque ligne dans le code suivant via une explication dans la page html :

<?php
    define ("PI", 3.14);
    echo PI . "<br />";

    echo PHP_OS , "<br />" 
    echo PHP_VERSION . "<br />";

    echo $_SERVER['SCRIPT_NAME'] . "<br />";
    echo $_SERVER['REMOTE_ADDR'] . "<br />";

    $prenom="Osman";
    $nom=”SALEM”
    echo "mon nom est M. " . $prenom . " " .$nom;

    $mois[1] = "janvier";
    $mois[2] = "février";
    $mois[3] = "mars";
    $mois[] = "avril";
    print_r($mois) ;

   $mois = array("janvier","février","mars","avril");
   echo "$mois[1]";
   $nb = count($mois);
   echo "$nb mois ont été renseignés";
   echo "Quelle est la différence avec la commande suivante :"
   echo '$nb mois ont été renseignés';
   echo 'Quelle est
"la différence" avec la commande suivante : $nb <br />';
   echo "Quelle est
'la différence' avec la commande suivante : $nb <br />";


  $site = "www.math-info.univ-paris5.fr";
  echo "$site[4] <br />"; // attention ! indice de la première lettre est 0
  echo "$site[0] <br />";


  $case[1][1] = "vide";
  $case[1][2] = "rond";
  $case[1][3] = "croix";
  $case[2][1] = "rond";
  $case[2][2] = "croix";
  $case[2][3] = "vide";
  $case[3][1] = "croix";
  $case[3][2] = "rond";
  $case[3][3] = "vide";
  echo "la case 3,1 contient : " . $case[3][1];
  echo "la case 3,1 contient : $case[3][1]<br />";
  echo "la case 3,1 contient : {$case[3][1]}<br />";
  echo 'Ceci est une chaîne simple';
  echo 'Vous pouvez inclure des nouvelles lignes dans une chaîne, comme ceci.';
  echo 'Arnaud a coutume de dire : "I\'ll be back"';
  echo 'Etes vous sûr de vouloir effacer le dossier C:\\*.*?';
  echo 'Etes vous sûr de vouloir effacer le dossier C:\*.*?';
  echo 'Je suis en train de mettre une nouvelle ligne comme ceci : \n';
  echo 'Avez-vous remarqué ? Sinon, adressez-vous à votre ophtalmo !';

  ?>

Chaîne de caractères avec guillemets doubles ("...") :
Certaines séquences de caractères vont être interprétées (\n \t \\ \$ \" etc.) et les variables vont être remplacées par leur valeur.

Exercice 5

Ecrire un script PHP (EX5.php) qui affiche les lignes suivantes:

		
			***** 
  			***** 
  			*****	
   			*****
  			*****

Ensuite, transformer le code en une fonction stars(n,m). Cette fonction prend en arguments le nombre de lignes et le nombre des étoiles par ligne. Appeler la fonction stars dans le code PHP avec des paramètres de votre choix, comme par exemple:

< ?php
    stars(10,15);
?>

Exercice 6

Ecrire un script PHP (EX6.php) qui affiche le tableau dans la figure 1. Ce tableau contient 25 lignes et 3 colonnes. Le contenu des cellules sont des nombres aléatoires impairs entre 0 et 500. Reproduire le tableau en respectant le style du tableau et les couleurs d’arrière plan.

Résultat attendu
Figure 1: Tableau avec de nombres aléatoires impairs.
 		

Exercice 7

Le fichier file.txt est disponible ici. Écrire le script suivant dans le fichier EX7.php. Expliquer ces lignes de code et Interpréter le résultat d’affichage

<?php
     $fid = fopen ("file.txt", "r");
     while ($ligne = fgets($fid, 256))
    {
          $tab = explode (" ", $ligne);
         echo $tab[0] . " " . $tab[1] . " " . $tab[2]. "<BR>";
    }
    fclose($fid);
?>

Exercice 8

Créer le formulaire suivant (EX8.php):

Résultat attendu
Figure 2: Formulaire (Télécharger la vidéo).

L'action de ce formulaire fait appel au fichier formulaire.php.

Si vous cliquez sur "Valider", l'exécution du script formulaire.php affichera les données saisies par l'utilisateur dans une nouvelle page (à l'exception de l’âge à la place de l’année de naissance, et le diplôme le plus élevé en cas de selection multiple).

Résultat attendu
Figure 3: résultat

Exercice 9

Créer une petite calculatrice permettant d'effectuer des opérations arithmétiques élémentaires (addition, soustraction, multiplication et division) sur deux opérandes.

  1. Première version : afficher un formulaire permettant, dans l'ordre, de saisir le premier opérande, puis de sélectionner l'opération parmi une liste (champ SELECT), enfin de saisir le second opérande. Associez à ce formulaire un script pour effectuer le calcul et ensuite pour afficher le résultat après la soumission du formulaire.
  2. Vérifier qu'on ne peut pas faire une division par 0 (c.à.d empêcher l'utilisateur de faire la division par 0 en rentrant 0 dans le deuxième champ).
Résultat attendu

Résultat attendu
Figure 4: résultat

Exercice 10

Créer une page web, qui prend comme paramètre une valeur de M dans l'url (c.à.d www.xyz/file.php?M=10) et qui affiche le tableau de multiplication suivant:

Résultat attendu
Figure 5: Table de multiplication.

 

 

Exercice 11

On souhaite réaliser une page web permettant aux lecteurs de nous laisser leurs commentaires. A titre de simplification, commencer par le formulaire suivant :

Résultat attendu
Figure 6: formulaire (télécharger la vidéo).

Ensuite, écrire un script php permettant d’enregistrer les commentaires dans un fichier txt, et d’afficher le contenu de ce fichier. A titre de clarification (note est le nom associé au champ 'textarea'):

<?php if(isset($_POST['note'])) {
$fp = fopen("./notes.txt","a");
fputs($fp,nl2br($_POST['note']) . '<br>');
fclose($fp);
}
?>
<h2>Commentaires:</h2>
<?php
ReadFile("./notes.txt")
?>

Modifier le formulaire précèdent et le script php, pour se rapprocher de l'affichage suivant (date + heure +email  de l’utilisateur) et une ligne séparatrice entre les commentaires:

Résultat attendu Résultat attendu
Figure 7: formulaire final pour les commentaires

 

 

Osman SALEM, Arnaud MEUNIER, Maik MERCURI, Azedine MANI