You are on page 1of 5

O.

Auzende Ingénierie Web

PHP
PHP est un langage destiné à l’écriture de scripts dans une page Web dont l’extension est alors .PHP. Le code
des scripts est exécuté par le serveur à chaque affichage de la page. Les scripts sont alors remplacés par le
résultat de leur exécution.

Pour faire exécuter des pages PHP, il faut disposer d’Apache (sous Linux) ou de easyPHP (sous Windows). A
noter : easyPHP est un serveur de développement, pas un serveur de déploiement.
On place les pages dans un sous-dossier de C:\Program Files\easyPHP…\www
L’appel se fait par http://localhost/nom-du-dossier/page.php.

Balises PHP
Le code PHP est encadré par des balises PHP. Il y a différents styles de balise PHP :
o Les balises par défaut : <?php ... Code PHP ... ?>
o Les balises d’ouverture courtes 1 : <? ... Code PHP ... ?>
o Les balises <script>: <SCRIPT LANGUAGE="php">...Code PHP ...</SCRIPT>

Quand l’interpréteur PHP rencontre la balise d’ouverture, il interprète tous les caractères rencontrés jusqu’à ce
qu’il trouve la balise de fermeture. Le script est alors exécuté et remplacé par le résultat qu’il produit.
Un affichage est provoqué par la commande echo.

Variables, formatage des données


o Les variables du langage sont représentées par un identificateur précédé du signe $, quel que soit le type de
la variable : nombre (valeur numérique), chaîne de caractères, tableau, objet composite.

o Pour créer des variables avec PHP, il suffit d’en faire usage. Il est donc inutile de les déclarer.

<html>
<body>
<?php
$a = 58 ;
$b = 97 ;
$som = $a+$b;
$prod = $a*$b ;
echo "a = $a";
echo "<br />";
echo "b = $b";
echo "<br />";
echo "La somme est : $som";
echo "<br />";
echo "Le produit est : $prod ";
?>
</body>
</html>

Les chaînes de formatage utilisées avec la fonction printf permettent de simplifier les affichages :

<html>
<body>
<?php
$a = 58 ;
$b = 97 ;
$som = $a+$b;
$prod = $a*$b ;
printf("a = %s<br />b = %s<br />La somme est : %s<br />Le produit est :
%s", $a, $b, $som, $prod);
?>
</body>
</html>

1
Attention : le serveur Apache doit être configuré pour accepter les balises courtes. Dans le doute, utiliser les
balises par défaut.

1
o Si la variable $x représente un tableau avec un index numérique, on accède aux éléments individuels par la
spécification $x[0], $x[1], etc. Les indices commencent à 0 ou à 1 (au choix).

o Si la variable $x représente un tableau avec un index associatif (un type énuméré tel que ("lundi", "mardi",
"mercredi", etc.), on accède aux éléments individuels par la spécification $x["lundi"], $x["mardi"], etc.

o Les tableaux PHP peuvent avoir un index mixte (associatif et numérique). Ainsi, les éléments $x["lundi"] et
$x[1] peuvent appartenir au même tableau. Exemple :

$tab[1]="lundi"; $tab[2]="mardi"; $tab[3]="mercredi"; $tab[4]="jeudi"; $tab[5]="vendredi";


$tab[6]="samedi"; $tab[7]="dimanche";

$tab["lundi"]="monday"; $tab["mardi"]="tuesday"; $tab["mercredi"]="wednesday";


$tab["jeudi"]="thursday"; $tab["vendredi"]="friday"; $tab["samedi"]="saturday";
$tab["dimanche"]="sunday";

Structures de contrôle
Les structures de contrôle sont les mêmes qu’en C, C++, javaScript, java :

Boucle for : for (initialisation ; test ; incrémentation) { ... }

Page jours.php
<html>
<head><title>utilisation de tableau en PHP</title></head>
<body>
<p>Jours de la semaine en fran&ccedil;ais et en anglais</p>
<?php
$tab[1]="lundi"; $tab[2]="mardi"; $tab[3]="mercredi"; $tab[4]="jeudi";
$tab[5]="vendredi"; $tab[6]="samedi"; $tab[7]="dimanche";

$tab["lundi"]="monday"; $tab["mardi"]="tuesday";
$tab["mercredi"]="wednesday"; $tab["jeudi"]="thursday";
$tab["vendredi"]="friday"; $tab["samedi"]="saturday";
$tab["dimanche"]="sunday";

echo "<table border='1'>\n";

for ($i = 1; $i < 8 ; $i++) {


echo "<tr><td>",$tab[$i],"</td><td>",$tab[$tab[$i]],"</td></tr>";
}

echo "</table>";
?>
</body>
</html>
Page jours2.php
<html>
<head><title>utilisation de tableau en PHP</title></head>
<body>
<p>Jours de la semaine en fran&ccedil;ais et en anglais</p>
<?php
$tab[1]="lundi"; $tab[2]="mardi"; $tab[3]="mercredi"; $tab[4]="jeudi";
$tab[5]="vendredi"; $tab[6]="samedi"; $tab[7]="dimanche";

$tab["lundi"]="monday"; $tab["mardi"]="tuesday";
$tab["mercredi"]="wednesday"; $tab["jeudi"]="thursday";
$tab["vendredi"]="friday"; $tab["samedi"]="saturday";
$tab["dimanche"]="sunday";

echo "<table border='1'>\n";

for ($i = 1; $i < 8 ; $i++) {


printf("<tr><td>%s</td><td>%s</td></tr>",$tab[$i],$tab[$tab[$i]]);
}

echo "</table>";
?>
</body>
</html>

2
O. Auzende Ingénierie Web

Test : if (test) { ... } else { ...}

Page comptes.php
<html>
<head><title>Entiers aleatoires</title></head>
<body>
<p>Je tire 100 entiers au hasard entre 1 et 100.<p>
<?php
$compteur1 = 0 ;
$compteur2 = 0 ;
srand();

for ($i=0; $i<100; $i++) {


$randval = rand(1,100);
if ($randval > 50) {
$compteur1++ ;
}
else {
$compteur2++;
}
}

printf("Sur 100 tirages, il y a : <br />- %d entiers sup&eacute;rieurs


&agrave; 50 <br />- %d entiers inf&eacute;rieurs ou egaux &agrave; 50.",
$compteur1, $compteur2);
?>
</body>
</html>

Boucle tant que : while (test) { ... }

Boucle faire … tant que : do { ... } while (test);


<html>
<head><title>Entiers al&eacute;atoires</title></head>
<body>
<p>Je remplis un tableau de 30 entiers au hasard entre 1 et 100</p>
<?php
srand();
for ($i = 0 ; $i < 30 ; $i++){
$tab[$i] = rand(1,100);
}
?>

<p>Je les affiche tous : </p>


<?php
for ($i = 0 ; $i < 30 ; $i++){
echo "$tab[$i] * ";
}
?>

<p>Je les affiche tant qu'ils sont plus petits que 70 :</p>
<?php
$i = 0 ;
while (($i < 30) && ($tab[$i] < 70)) {
echo "$tab[$i] * ";
$i++ ;
}
?>

<p>J'affiche le premier puis les suivants tant qu'ils sont plus petits que le
premier :</p>
<?php
$i = 0 ;
do {
echo "$tab[$i] * ";
$i++ ;
}
while (($i < 30) && ($tab[$i] < $tab[0] ));
?>
</body>
</html>

3
Fonctions PHP

Page carres.php
<html>
<head><title>fonctions</title></head>
<body>
<?php
function carre ($num) {
return $num * $num;
}
function cube($num) {
return $num * $num * $num ;
}
?>

<p>Carr&eacute;s et cubes des nombres entiers de 1 &agrave; 10</p>


<?php
echo "<table border='1'>";
for ($i=1;$i<=10;$i++){
printf("<tr><td>%s</td><td>%s</td><td>%s</td></tr>", $i, carre($i),
cube($i)) ;
}
echo "</table>";
?>
</body>
</html>

Les fonctions sont généralement déclarées dans un fichier externe que l’on inclut dans des pages PHP par un
script : <?php include "fichier.php" ; ?>

L’avantage est qu’il suffit d’ajouter la ligne <?php include "fichier.php" ; ?> dans une page PHP quelconque
pour pouvoir utiliser toutes les fonctions figurant dans « fichier.php ».

Exercices
1) Ecrire une page PHP qui remplit un tableau $tab avec 50 entiers aléatoires compris entre 1 et 100 et fait
afficher ces 50 entiers, séparés par des tirets.

2) Ajouter ensuite le calcul de la somme des éléments du tableau, puis de leur moyenne, puis la recherche du
plus grand élément et celle du plus petit élément du tableau.

Variables provenant d'un formulaire

Page formulaire2.html
<html>
<head>
<title>Variables de formulaire</title>
</head>
<body>
<form action="valeurs.php" method="get">

<table>
<tr><td>Nom :</td><td><input type="text" name="nom"></td></tr>

<tr><td>Prenom : </td><td><input type="text" name="prenom"></td></tr>

<tr><td>Ordinateur : </td>
<td><select name="ordinateur">
<option value="pc">PC</option>
<option value="mac">MAC</option>
<option value="sun">Station Sun</option>
<option value="autre">Autre</option>
</select></td></tr>
</table>

<input type="submit" value="Valider">


</form>
</body>
</html>

4
O. Auzende Ingénierie Web

Page valeurs.php
<html>
<head><title>R&eacute;cup&eacute;ration des valeurs des variables</title></head>
<body>
<p>Vous avez donn&eacute; comme renseignements :</p>
<table>
<?php
$nom=$_GET["nom"];
echo "<tr><td>Nom : </td><td>$nom</td></tr>" ;

$prenom=$_GET["prenom"];
echo "<tr><td>Pr&eacute;nom :</td><td>$prenom</td></tr>" ;

$ordinateur=$_GET["ordinateur"];
echo "<tr><td>Ordinateur : </td><td>$ordinateur</td></tr>";
?>
</table>
</body>
</html>

On récupère les valeurs des variables par $_GET["nom"] ou $_POST["nom"] selon la méthode de
transmission des arguments employée.

Exercices
1) Ecrire une page requete.html comportant un formulaire demandant le nom de l’utilisateur, son mail et le
support de cours souhaité (proposé par une liste de sélection comportant « Mathématiques », « Histoire »,
« Géographie », « Philosophie »).

Un seul support pourra être demandé à chaque requête.

La méthode sera POST, la page réponse sera reception.php.

2) Ecrire une page reception.php toute simple accusant réception de la commande, rappelant le nom du
demandeur, son mail, ainsi que l’intitulé du support demandé.

You might also like