WikiBtsSio

142sPpe21tsioCTpLangagePhpMe

Le langage P.H.P. 1



• Rappel du HTML et structure d'une page Web
  • o Où s'exécute le code PHP ?
  • o Comment on indique que c’est du PHP ?
  • o Extension fichiers ?
  • o Les variables sont-elles typées ?
  • o Que veut dire « Concaténation » ?

<HTML>
<BODY>
<?php
$prenom
="Votre prenom";
echo 
"Bonjour ".strtoupper($prenom)."<br>";
echo 
"Nous sommes le "date('d/m/y')."<br> il est ".date('H:i:s')."<br>";
?>
<hr size= "2">

<?php
$tableau
[]="occurrence";
$tableau[]="e";
$tableau[]=1.5;
$tableau[]=1;
$tableau[]=true;

echo 
gettype($tableau);
echo
"<br>";
    for (
$i=0$i<5$i++)
    {
        echo (
$tableau[$i] . " : "); 
        echo (
gettype($tableau[$i]) . "<br>");
    }
$chaine1 $tableau[0] + $tableau[1] + $tableau[2] + $tableau[3] + $tableau[4];
echo 
$chaine1;
echo (
"<br>");
$chaine2 $tableau[0] . $tableau[1] . $tableau[2] . $tableau[3] . $tableau[4];
echo 
$chaine2;
$variableTest 1;
echo (
$variableTest "<br>");
echo (
$variableTest."<br>");
$variableTest "Bonjour php";
echo (
"Sous chaine de 2 caracteres commencant à la position 3 : " substr($variableTest,3,2) . "<br>");
?>


La fonction date() retourne des informations sur la date (et/ou l'heure) selon le format spécifié.
date (chaine format [, entier timestamp])

d Jour, "01" à "31"
H Heure, au format 24h ("00" à "23")
i Minutes ("00" à "59")
s Secondes ("00" à "59")


On constate par l'exemple que les variables ne sont pas typées (voir cours).
De nombreuses fonctions natives existent et sont semblables à celles utilisées en C++.
Pour la fin de boucle du tableau, il est préférable d'utiliser la fonction qui compte le nombre d'éléments.
On alterne le PHP et le HTML suivant les besoins : il est inutile de tout écrire en PHP.
Le passage de variables dans l'url doit être utilisé pour des données non confidentielles.
Les tableaux peuvent être indicés ou associatifs (un nom à la place d'un indice. Voir cours).
Pour la concaténation, il faut utiliser le point .
N'oubliez pas de commenter votre code !

Vous travaillerez sur une machine Debian disposant d'un serveur Apache et d'un serveur proftpd..
Pensez à vous mettre en mode pont pour obtenir une adresse I.P. dans la salle de T.P.
Vous travaillerez sous Windows et vous enverrez le fichier vers le serveur grâce à un client FTP
en utilisant le compte test.
Dans le répertoire /home/test créer un dossier à votre Nom : mkdir VotreNom
Pour relier ce répertoire du compte test avec le serveur Apache et son répertoire de travail
il vous faudra saisir la commande suivante dans le répertoire /var/www
ln -s /home/test/VotreNom VotreNom

Dans le répertoire /var/www/VotreNom/tp1
Cela vous permettra, si cela est nécessaire de travailler à plusieurs sur le même serveur.


Exercice N°1

Créer le fichier « infos.php » suivant :

<?php
  • phpinfo();
?>

Saisir dans l'URL du navigateur de la machine physique Windows
http://adresseIPMachineDebian/VotreNom/tp1/infos.php

Vous devez obtenir le fichier d’informations de PHP qui démontre que le serveur Apache et le moteur PHP fonctionne.

Précisez (en indiquant la ligne complète) :
Le port du serveur : __________________
L’adresse IP du serveur : __________________
L'adresse IP du client : _____________
Le protocole du serveur : __________________



Exercice N°2

Dans le répertoire tp1, créer le fichier « exo2.php » suivant en faisant attention aux points, apostrophes et guillemets. Il n’y a pas de balises HTML car ici on n’en a pas besoin.

<?php
$prenom
="VotrePrénom";
echo (
"Bonjour " strtoupper($prenom) . "<br>");
echo (
"Nous sommes le " date('d/m/y') . "<br> il est " date('H:i:s') . "<br>");
?>


Reproduire le résultat obtenu.

Apporter les modifications suivantes :
- Mettre le prénom en rouge en utilisant la balise HTML <font color='red'> et </font>
- Afficher la longueur (le nombre de lettres) de votre prénom grâce à la fonction
  • echo ("Nombre de lettres dans votre prénom : " . strlen($prenom));


Exercice N°3

Soit le fichier PHP suivant :
<HTML>
<BODY>
<?php
$prenom
="VotrePrenom";
echo (
"Bonjour " strtoupper($prenom) . "<br>");
echo (
"Nous sommes le " date('d/m/y') . "<br> il est " date('H:i:s') ."<br>");
?>
<hr size= "2">

<?php
$tableau
[]="occurrence";
$tableau[]="e";

$tableau[]=1.5;
$tableau[]=1;
$tableau[]=true;
echo (
gettype($tableau));
echo (
"<br>");
    for (
$i=0$i<5$i++)
    {
        echo (
$tableau[$i] . " : "); 
        echo (
gettype($tableau[$i]) . "<br>");
    }
$chaine1 $tableau[0] + $tableau[1] + $tableau[2] + $tableau[3] + $tableau[4];
echo (
$chaine1);
echo (
"<br>");
$chaine2 $tableau[0] . $tableau[1] . $tableau[2] . $tableau[3] . $tableau[4];
echo (
$chaine2); 
echo (
"<br>");
$variableTest 1;
echo (
$variableTest "<br>");
$variableTest "Bonjour php";
echo (
$variableTest "<br>");
echo (
"Sous chaine de 2 caracteres commencant a la position 3 : " substr($variableTest,3,2) . "<br>");
?>


• Comparer le code source et le résultat affiché par le navigateur :
A quoi sert la fonction gettype() ?

Est-ce que l’on met des variables du même type dans le tableau ? oui ou non

Est-ce qu’en C#, on aurait pu mettre des types différents dans un tableau ? oui ou non

Qu’affiche $chaine1 : ________ Qu’a fait le moteur PHP avec le + ? _______________________

Qu’affiche $chaine2 : ________ Qu’a fait le moteur PHP avec le . ? _______________________

$variableTest prend la valeur 1 puis la valeur "Bonjour php". Est-ce que cela serait possible en C# ?
  • oui ou non

Qu’affiche la fonction substr() : __________________

• Rajouter le lien suivant au bas de la page, avant la dernière balise ?> :

echo ("<a href='suite.php?nom=$VotreNom&prenom=$prenom'>Page suivante</a>");

Donner le nom des deux variables passées dans l’URL : ____________ et ____________

Donner les deux valeurs passées dans l’URL : ____________ et ____________
• Créer la page dont le nom est dans l’url, mettre les balises <HTML> et <BODY>, et un titre « SUITE » en <H1> centré.

• Dans cette page, afficher BONJOUR en HTML suivit de votre prénom et de votre nom, qui doivent provenir des variables passées par le lien de la page « decouverte.php » en méthode GET.

• Tester si cela fonctionne correctement. Vous devez avoir :

                  SUITE
Bonjour VotrePrénom VotreNom


• Notez ici l’url exacte de la page qui est affichée dans la barre du navigateur :

• Sous IE, allez dans le menu, faire Affichage / Source
Sous Mozilla, clic droit sur la page Code source de la page
Recopiez ici le code :


TRES IMPORTANT : Ce code est le code que reçoit le navigateur de la part du serveur Apache, le moteur PHP ayant construit le code HTML


Il n'y a pas de commentaire sur cette page. [Afficher commentaires/formulaire]