Cours pratique d'initiation à PHP/MySQL | Sommaire ![]() |
Ce n'est pas un cours mais une présentation rapide des connaissances en PHP dont vous allez avoir besoin pour la réalisation des scripts des TP suivants.
Un script PHP est un fichier texte qui contient des instructions PHP et dont le nom doit avoir l'extension .php. Par exemple, si on saisit le texte ci-dessous dans un éditeur et qu'on l'enregistre sur le disque dur sous le nom mon_script.php alors le fichier mon_script.php est un script PHP (noter l'extension .php donnée au nom du fichier) :
<?php
echo "<HTML><BODY>";
echo "Je suis un <I>script</I> PHP. ";
echo "Nous sommes le <B>" . date("d/m/y") . "</B>.";
echo "</BODY></HTML>";
?>
|
Exécuter ce script |
Le script PHP ci-dessus est constitué
de 4 instructions placées entre
les balises <?php
et ?>.
Chaque instruction doit toujours
être terminée par un point-virgule
;.
On est libre de placer ces 4 instructions sur une
seule ligne mais il est préfèrable
de placer une instruction par ligne
pour améliorer la lisibilité du script.
Le script mon_script.php doit être
ensuite placé sur un serveur Web comme n'importe
quelle page HTML.
Lorsqu'un utilisateur veut accéder à la page
http://herve.pages.free.fr/lamp/iniphp/php-quickstart/mon_script.php,
son navigateur envoie une requête HTTP au serveur Web
situé sur la machine herve.pages.free.fr
.
Ce serveur Web recherche alors dans son arborescence
la page demandée (le fichier mon_script.php).
Puisqu'il s'agit d'un script PHP (et pas d'une page
HTML normale, à cause de l'extension .php)
il interprète son contenu au lieu de le renvoyer
directement au navigateur.
L'interpréteur PHP exécute les
instructions du script séquentiellement
(les unes après les autres) :
Comme on peut le voir, l'interprétation de ce script produit du code HTML et c'est ce code qui est renvoyé au navigateur. Le code source du script (le contenu du fichier mon_script.php) n'est donc jamais communiqué au navigateur. C'est seulement le code HTML produit par l'interprétation de ce script qui est transmis. Pour s'en convaincre, il suffit de visualiser la page produite par le script ci-dessus puis d'afficher le code source HTML de cette page.
Dans un script PHP toutes les instructions PHP doivent être placées entre les balises <?php et ?>. Ce qui est placé en dehors de ces balises ne sera pas interprété et sera envoyé tel quel au navigateur. Ceci permet d'avoir dans un même script PHP à la fois du code PHP (inclus entre les balises <?php et ?>) et du code HTML (statique) comme dans l'exemple suivant :
<HTML> <BODY> Je suis un <I>script</I> PHP. <?php
echo "Nous sommes le <B>" . date("d/m/y") . "</B>.";
?>
</BODY> </HTML> |
Exécuter ce script |
Dans un bloc PHP, on peut placer des commentaires c'est-à-dire du texte qui sera complètement ignoré par l'interpréteur. Pour cela on utilise le caractère # : tout ce qui est situé après et sur la même ligne qu'un # est considéré comme du commentaire et sera donc ignoré lors de l'éxécution (l'interprétation) du script :
<HTML> <BODY> <?php
$a = -5; # Stockage de l'entier -5 dans la variable $a
$b = $a + 8; # Stockage du résultat de $a + 8 dans la variable $b
echo $b; # Affichage de la valeur de la variable $b
?>
</BODY> </HTML> |
Exécuter ce script |
On peut aussi utiliser un double slash // à la place du #.
$a, $prix_ttc et $nom1 sont des exemples de variables PHP. On peut créer et utiliser autant de variables qu'on veut dans un script PHP : elles servent à stocker des valeurs pour pouvoir les réutiliser plus loin DANS LE MÊME SCRIPT.
Par exemple, le script ci-dessous est constitué de 8 instructions (chaque instruction doit toujours être terminée par un point-virgule ;) :
<?php
$a = -5;
$b = $a + 8;
$message = "engage le jeu";
$message2 = $message . " que je le gagne";
echo "a=$a<BR>";
echo "b=$b<BR>";
echo "message=$message<BR>";
echo "message2=$message2<BR>";
?>
|
Exécuter ce script |
Les 4 premières instructions sont des affectations. Une affectation est une opération qui consiste à stocker une valeur dans une variable.
Les variables ci-dessus ne peuvent contenir qu'une seule valeur (chaîne de caractères, nombre entier ou autre ...) qui peut changer au cours du temps. Mais si on veut placer plusieurs valeurs dans une variable, on doit utiliser une variable de type tableau (array). Voici un exemple de tableau à 4 éléments :
<?php
$couleurs = array("rouge", "vert", "bleu", "jaune");
echo $couleurs[0] . "<BR>";
echo $couleurs[2] . "<BR>";
?>
|
Exécuter ce script |
Le tableau $couleurs est constitué des éléments $couleurs[0], $couleurs[1], $couleurs[2] et $couleurs[3]. Notez que les indices (ou clés) de ces éléments vont de 0 à 3.
Pour afficher tous les éléments d'un tableau, on peut utiliser la fonction print_r() qui affiche la liste des associations [clé] => valeur :
<?php
$couleurs = array("rouge", "vert", "bleu", "jaune");
print_r($couleurs);
?>
|
Exécuter ce script |
Lorsqu'on remplit un tableau, on a la possibilité de choisir les clés de ses éléments :
<?php
$couleurs = array(
'bas' => "rouge",
'tricot' => "vert",
'chapeau' => "bleu",
'cravatte' => "jaune"
);
print_r($couleurs);
?>
|
Exécuter ce script |
Le tableau $couleurs est maintenant constitué des éléments $couleurs['bas'], $couleurs['tricot'], $couleurs['chapeau'] et $couleurs['cravatte'].
Exemple :
<?php
$a = 8;
$b = -2;
if ($a == $b) {
echo "a et b sont égaux";
} else {
echo "a et b sont différents";
}
echo "<BR>";
echo "Fin du test.";
?>
|
Exécuter ce script |
Fonctionnement :
Exemple :
<?php
$i = 0;
while ($i < 10) {
echo "XXX $i XXX<BR>";
$i++;
}
?>
|
Exécuter ce script |
Exemple 1 :
<?php
$couleurs = array("rouge", "vert", "bleu", "jaune");
foreach ($couleurs as $val) {
echo "+++ $val +++<BR>";
}
?>
|
Exécuter ce script |
Exemple 2 :
<?php
$couleurs = array("rouge", "vert", "bleu", "jaune");
foreach ($couleurs as $cle => $valeur) {
echo "La clé $cle est associée ";
echo "à la valeur \"$valeur\".<BR>";
}
?>
|
Exécuter ce script |
Exemple 1 :
<?php
for ($i = 0 ; $i < 10 ; $i++) {
echo "XXX $i XXX<BR>";
}
?>
|
Exécuter ce script |
Exemple 2 :
<?php
$couleurs = array("rouge", "vert", "bleu", "jaune");
$nb_couleurs = count($couleurs);
echo "Nombre de couleurs = $nb_couleurs<BR>";
for ($i = 0 ; $i < $nb_couleurs ; $i++) {
echo "couleurs[$i] = $couleurs[$i]<BR>";
}
?>
|
Exécuter ce script |
En PHP le programmeur dispose de centaines de fonctions prédéfinies qui lui permettent d'effectuer certaines actions. Quelques exemples de fonctions :
strlen() | Calcule la taille d'une chaîne |
strtoupper(() | Met une chaîne en majuscules |
strrev() | Inverse une chaîne |
fopen() | Ouvre un fichier |
mysql_connect() | Ouvre une connexion à un serveur MySQL |
mysql_query() | Envoie une requête SQL à un serveur MySQL |
print_r() | Affiche le contenu d'un tableau |
count() | Compte le nombre d'éléments d'un tableau |
Toutes ces fonctions sont documentées dans le manuel en ligne sur www.php.net (IV. Index des fonctions ou IV. Function Reference pour la version anglaise). Elles sont regroupées par modules :
N.B. : Attention ! Les modules sont listés
dans l'ordre alphabétique de leur nom EN ANGLAIS
d'où l'impression de confusion dans la version
française du manuel en ligne.
Pensez aussi à utiliser la fonction de recherche
(très utile) située en haut de toutes les pages
du manuel en ligne ...
Une fonction s'utilise en général de la façon suivante :
<?php
$nom_en_min = "amélie poulain";
$nom_en_maj = strtoupper($nom_en_min);
echo "$nom_en_min<BR>";
echo "$nom_en_maj<BR>";
?>
|
Exécuter ce script |
Il y a 2 points essentiels avec les fonctions :
Certaines fonctions comme fopen(), mysql_connect(), etc ... renvoient la valeur FALSE lorsqu'elles échouent. C'est ce qui arrive par exemple quand on essaie d'ouvrir un fichier qui n'existe pas avec fopen() ou quand on essaie de se connecter à un serveur MySQL en donnant un mot de passe erroné avec mysql_connect().
De manière générale, lorsqu'on fait appel à ce genre de fonctions « à risques » il faut prévoir une alternative en cas d'échec. Dans la plupart des cas cette alternative est simple et radicale : on se contente d'afficher un message d'erreur et d'interrompre l'exécution du script avec l'instruction exit.
<?php
$filename = "un_certain_fichier";
$file = fopen($filename,"r");
if ($file == FALSE) {
echo "Impossible d'ouvrir le fichier $filename";
exit;
}
echo "Le fichier $filename est ouvert";
# Début du traitement des données du fichier
# ...
# ...
# Fin du traitement des données du fichier
fclose($file);
?>
|
Fonctionnement :
Une autre façcon d'obtenir le comportement ci-dessus est « Fais ce que je dis ou meurs ! » :
<?php
$filename = "un_certain_fichier";
$file = fopen($filename,"r")
or die("Impossible d'ouvrir le fichier $filename");
echo "Le fichier $filename est ouvert";
# Début du traitement des données du fichier
# ...
# ...
# Fin du traitement des données du fichier
fclose($file);
?>
|
L'instruction $file = fopen($filename,"r") or die("Impossible d'ouvrir le fichier $filename"); fonctionne de la façon suivante :
Page d'accueil de Hervé Pagès | Contact : herve.pages@free.fr |