Développement d'applications web PHP
Développement d'applications web PHP
DEVELOPMENT
Licence 3 – Filière ICT4D
Université de Yaoundé I
Yaoundé, Décembre 2018
Njine Chuangueu
njinec@[Link]
2
PRESENTATION DU COURS
Engels, Jean. XHTML et CSS – Cours et exercices. Paris : Editions Eyrolles, 2006.
p. 523. ISBN : 2-212-11637-3.
Engels, Jean. PHP 5 – Cours et exercices. 2e. Paris : Eyrolles, 2009. p. 662. ISBN :
978-2-212-12486-6.
Rigeaux, Philippe. Pratique de MySQL et PHP – Conception et réalisation de sites
web dynamiques. 4e. Paris : Dunod, 2009. p. 557. ISBN : 978-2-10-053752-5.
Templier, Thierry et Gougeon, Arnaud. JavaScript pour le Web 2.0. Paris :
Eyrolles, 2009. p. 509. ISBN : 978-0-470-43131-3.
Plasse, Michel. Développez en Ajax. Paris : Eyrolles, 2006. p. 325. ISBN-13 : 978-
2-212-11965-7.
Génération de
pages web à
l’aide du langage
de script PHP
CHAPITRE ②
Njine Chuangueu
10
Génération de pages web à l’aide du
langage de script PHP
Introduction
Conclusion
Chapitre 2 : Génération de pages web à l’aide du langage de script PHP Njine Chuangueu
11
Introduction
Chapitre 2 : Génération de pages web à l’aide du langage de script PHP Njine Chuangueu
12
I) Généralités sur le langage PHP
Configuration de l’environnement de PHP
Chapitre 2 : Génération de pages web à l’aide du langage de script PHP Njine Chuangueu
13
I) Généralités sur le langage PHP
Exemple de configuration du fichier [Link]
Chapitre 2 : Génération de pages web à l’aide du langage de script PHP Njine Chuangueu
14
I) Généralités sur le langage PHP
Exécution d’un script PHP
Chapitre 2 : Génération de pages web à l’aide du langage de script PHP Njine Chuangueu
15
I) Généralités sur le langage PHP
Exécution d’un script PHP
Chapitre 2 : Génération de pages web à l’aide du langage de script PHP Njine Chuangueu
16
I) Généralités sur le langage PHP
Les bases du langage PHP
Les scripts PHP sont des bouts de codes que l’on insère dans des pages HTML
d’extension .php à l’aide des balises
<?php
instructions_PHP ;
?>
On peut également utilisé l’élément script pour inclure du code PHP
<script language="php">
instructions_PHP ;
</script>
Chapitre 2 : Génération de pages web à l’aide du langage de script PHP Njine Chuangueu
17
I) Généralités sur le langage PHP
Les bases du langage PHP
Chapitre 2 : Génération de pages web à l’aide du langage de script PHP Njine Chuangueu
18
I) Généralités sur le langage PHP
Les bases du langage PHP (Variables, constantes et types)
Les noms des mots clés et ceux des classes et fonctions définies par l’utilisateur
sont insensibles à la casse, contrairement aux noms des variables
Le langage PHP est un langage pauvrement typé ! Le type d’une variable est
implicitement déterminé par sa valeur. Sa déclaration n’est pas nécessaire !
Le nom d’une variable commence toujours par "$" et est suivi d’une lettre ou de
"_", puis de tous autres caractères alphanumériques : <?php $nb1 = 2; ?>
La fonction isset() permet de tester si une variable existe. Elle renvoi TRUE si
la variable testée contient une valeur, FALSE sinon. <?php echo isset($nb); ?>
Chapitre 2 : Génération de pages web à l’aide du langage de script PHP Njine Chuangueu
19
I) Généralités sur le langage PHP
Les bases du langage PHP (Variables, constantes et types)
La fonction empty() teste une variable et retourne FALSE si la variable n’est pas
initialisée, contient 0 ou null et TRUE sinon. <?php echo empty($nb); ?>
La fonction unset() permet de détruire ou déréférencé une variable dont le
nom est spécifié en paramètre. <?php unset($nb1); ?>
Le type d’une variable peut changer suivant les affectations !
<?php
$nb = 5; // Contient un entier
$nb = "cinq"; // Contient une chaine de caractère
?>
Chapitre 2 : Génération de pages web à l’aide du langage de script PHP Njine Chuangueu
20
I) Généralités sur le langage PHP
Les bases du langage PHP (Variables, constantes et types)
Une constante se définie avec la fonction define() et reçoit une valeur qui ne
peut être que de type scalaire. Son nom peut être sensible à la casse ou pas.
<?php define("PI", "3,14"); echo Pi; /* Autorisé ! */ ?>
<?php define("PI", "3,14", TRUE); echo pI; /* Autorisé ! */ ?>
<?php define("PI", "3,14", FALSE); echo pi; /* Non autorisé ! */ ?>
La fonction defined() permet de tester l’existence d’une constante. Elle renvoi
TRUE si la constante existe, FALSE sinon. <?php echo defined("EXP"); ?>
Les fonctions get_defined_vars() et get_defined_constants() permettent
respectivement de lister les variables et constantes prédéfinies du langage PHP.
Chapitre 2 : Génération de pages web à l’aide du langage de script PHP Njine Chuangueu
21
I) Généralités sur le langage PHP
Les bases du langage PHP (Variables, constantes et types)
Chapitre 2 : Génération de pages web à l’aide du langage de script PHP Njine Chuangueu
22
I) Généralités sur le langage PHP
Les bases du langage PHP (Opérateurs et priorités)
Chapitre 2 : Génération de pages web à l’aide du langage de script PHP Njine Chuangueu
23
I) Généralités sur le langage PHP
Les bases du langage PHP (Opérateurs et priorités)
Chapitre 2 : Génération de pages web à l’aide du langage de script PHP Njine Chuangueu
24
I) Généralités sur le langage PHP
Les bases du langage PHP (Structures de contrôle)
Chapitre 2 : Génération de pages web à l’aide du langage de script PHP Njine Chuangueu
25
I) Généralités sur le langage PHP
Les bases du langage PHP (Structures de contrôle)
Chapitre 2 : Génération de pages web à l’aide du langage de script PHP Njine Chuangueu
26
I) Généralités sur le langage PHP
Les bases du langage PHP (Chaines de caractères)
En PHP, les chaines de caractères sont des séquences de caractères délimités par
des guillemets ou apostrophes :
<?php
$code_ue = "ICT 305";
$desc_ue = 'Web Application Development';
?>
Si une chaine de caractères contient l’identifiant d’une variable, le contenu de
cette variable n’est évaluer que si cette chaine est délimité par des guillemets
<?php
echo "Cours de $code_ue"; // Affiche « Cours de ICT 305 »
echo 'Cours de $desc_ue'; // Affiche « Cours de $desc_ue »
?>
Chapitre 2 : Génération de pages web à l’aide du langage de script PHP Njine Chuangueu
27
I) Généralités sur le langage PHP
Les bases du langage PHP (Chaines de caractères)
Chapitre 2 : Génération de pages web à l’aide du langage de script PHP Njine Chuangueu
28
I) Généralités sur le langage PHP
Les bases du langage PHP (Chaines de caractères)
<?php
$code_ue = "ICT305";
$texte = <<< delimiteur
Le cours de Développement d’Application Web ($code_ue) s’appuie
sur les notions de bases acquises dans les cours de Création
d’Application Web et de Développement de Bases de données
delimiteur;
echo $texte;
?>
Chapitre 2 : Génération de pages web à l’aide du langage de script PHP Njine Chuangueu
29
I) Généralités sur le langage PHP
Les bases du langage PHP (Chaines de caractères)
Chapitre 2 : Génération de pages web à l’aide du langage de script PHP Njine Chuangueu
30
I) Généralités sur le langage PHP
Les bases du langage PHP (Chaines de caractères)
Chapitre 2 : Génération de pages web à l’aide du langage de script PHP Njine Chuangueu
31
I) Généralités sur le langage PHP
Les bases du langage PHP (Chaines de caractères)
Les fonctions ltrim(), rtrim() et trim(), suppriment les espaces autour d’une
chaine: <?php echo "<pre>".trim(" Même les tabulations ")."</pre>"; ?>
La fonction str_pad() permet de compléter la longueur d’une chaine à l’aide
d’un caractère : <?php echo str_pad("Attention",25,"*",STR_PAD_BOTH); ?>
La fonction str_repeat() permet de répéter une chaine de caractères un certain
nombre de fois : <?php echo str_repeat("*",50); ?>
La fonction wordwrap() permet d’afficher des textes longs en opérant des
retours à la ligne automatiques : <?php echo wordwrap($txt,50,"<br/>"); ?>
Chapitre 2 : Génération de pages web à l’aide du langage de script PHP Njine Chuangueu
32
I) Généralités sur le langage PHP
Les bases du langage PHP (Chaines de caractères)
Chapitre 2 : Génération de pages web à l’aide du langage de script PHP Njine Chuangueu
33
I) Généralités sur le langage PHP
Les bases du langage PHP (Chaines de caractères)
Chapitre 2 : Génération de pages web à l’aide du langage de script PHP Njine Chuangueu
34
I) Généralités sur le langage PHP
Les bases du langage PHP (Chaines de caractères)
Chapitre 2 : Génération de pages web à l’aide du langage de script PHP Njine Chuangueu
35
I) Généralités sur le langage PHP
Les bases du langage PHP (Codage des caractères)
Chapitre 2 : Génération de pages web à l’aide du langage de script PHP Njine Chuangueu
36
I) Généralités sur le langage PHP
Les bases du langage PHP (Codage des caractères)
Chapitre 2 : Génération de pages web à l’aide du langage de script PHP Njine Chuangueu
37
I) Généralités sur le langage PHP
Les bases du langage PHP (Codage des caractères)
Chapitre 2 : Génération de pages web à l’aide du langage de script PHP Njine Chuangueu
38
I) Généralités sur le langage PHP
Les bases du langage PHP (Tableaux)
Chapitre 2 : Génération de pages web à l’aide du langage de script PHP Njine Chuangueu
39
I) Généralités sur le langage PHP
Les bases du langage PHP (Tableaux)
Dans un tableau indexé numériquement, les clés sont des valeurs entières
commençant à 0. Les éléments sont identifiés par leur position
Dans un tableau associatif, les clés sont des valeurs littérales (chaines de
caractères). Les éléments sont référencés par leur clé
En PHP, il est possible de définir des tableaux ou l’on retrouve à la fois des clés à
valeur numérique et littérale !
En PHP, tout tableau est implémenté sous forme de tableau associatif ! Les
tableaux indexés sont des tableaux associatifs dont les clés sont numériques
Chapitre 2 : Génération de pages web à l’aide du langage de script PHP Njine Chuangueu
40
I) Généralités sur le langage PHP
Les bases du langage PHP (Tableaux)
Chapitre 2 : Génération de pages web à l’aide du langage de script PHP Njine Chuangueu
41
I) Généralités sur le langage PHP
Les bases du langage PHP (Tableaux)
Lorsque les éléments d’un tableau sont des tableaux eux-mêmes, on parle de
tableau multidimensionnel
La fonction array() permet également de les créer à travers la syntaxe suivante
: <?php $tab = array(array(val,...), array(cle=>val,...), ...); ?>
La syntaxe $tableau[clé1][clé2][...] permet d’accéder aux éléments
contenus dans les sous tableaux d’un tableau multidimensionnel
On peut aussi définir un tableau multidimensionnel en l’initialisant à l’aide de la
syntaxe suivante : <?php $tab[clé1][cle2] = "Valeur"; ?>
Chapitre 2 : Génération de pages web à l’aide du langage de script PHP Njine Chuangueu
42
I) Généralités sur le langage PHP
Les bases du langage PHP (Tableaux)
Chapitre 2 : Génération de pages web à l’aide du langage de script PHP Njine Chuangueu
43
I) Généralités sur le langage PHP
Les bases du langage PHP (Tableaux)
Chapitre 2 : Génération de pages web à l’aide du langage de script PHP Njine Chuangueu
44
I) Généralités sur le langage PHP
Les bases du langage PHP (Tableaux)
Chapitre 2 : Génération de pages web à l’aide du langage de script PHP Njine Chuangueu
45
I) Généralités sur le langage PHP
Les bases du langage PHP (Tableaux)
Chapitre 2 : Génération de pages web à l’aide du langage de script PHP Njine Chuangueu
46
I) Généralités sur le langage PHP
Les bases du langage PHP (Fonctions)
Les fonctions : Blocs d’instructions qu’on peut appeler à n’importe quel endroit
dans le script. Elles peuvent prendre des paramètres ou retourner des valeurs
L’entête d’une fonction se défini avec le mot clé function suivi du nom de la
fonction et des parenthèses comprenant éventuellement des paramètres
Il est déconseillé de commencer le nom d’une fonction par deux « __ », car cette
convention est réservée aux noms des fonctions natives de PHP5
Le corps d’une fonction est un bloc d’instructions délimité par des accolades qui
se termine le cas échéant par le renvoi d’une valeur à l’aide du mot clé return
Chapitre 2 : Génération de pages web à l’aide du langage de script PHP Njine Chuangueu
47
I) Généralités sur le langage PHP
Les bases du langage PHP (Fonctions)
Chapitre 2 : Génération de pages web à l’aide du langage de script PHP Njine Chuangueu
48
I) Généralités sur le langage PHP
Les bases du langage PHP (Fonctions)
Les variables définies dans une fonction sont locales à cette fonction et ne sont
utilisables qu’à l’intérieur de cette fonction
Les variables définies dans un script sont visibles partout dans ce script, sauf à
l’intérieur des éventuelles fonctions qui auront été définies dans ce script
Les modifications effectuées dans le corps d’une fonction sur une variable
passée en paramètre n’affecte pas sa valeur d’origine dans le script principal
Les variables utilisées par un script et les variables utilisées par une fonction
sont gérées dans des espaces distincts
Chapitre 2 : Génération de pages web à l’aide du langage de script PHP Njine Chuangueu
49
I) Généralités sur le langage PHP
Les bases du langage PHP (Fonctions)
Une variable, locale à une fonction, déclarée avec le mot clé static conserve ses
différentes valeurs à chaque appel de la fonction durant l’exécution du script :
<?php
function visiteurs() {
static $nb=0;
echo ++$nb;
}
visiteurs(); // Affiche 1
visiteurs(); // Affiche 2
?>
Chapitre 2 : Génération de pages web à l’aide du langage de script PHP Njine Chuangueu
50
I) Généralités sur le langage PHP
Les bases du langage PHP (Fonctions)
En déclarant une variable à l’aide du mot clé global dans une fonction, celle-ci
devient accessible à l’intérieur et à l’extérieur de la fonction :
<?php
$nb = 18;
function carre() {
global $nb;
$nb *= $nb;
}
carre();
echo $nb; // Affiche 324
?>
Chapitre 2 : Génération de pages web à l’aide du langage de script PHP Njine Chuangueu
51
I) Généralités sur le langage PHP
Les bases du langage PHP (Fonctions)
On peut conserver les modifications apportées aux variables dans une fonction
sans pour autant modifier leur portée (c’est à dire sans utiliser global)
La définition classique d’une fonction implique que le passage des paramètres
se fasse par copie des valeurs. De même, la valeur renvoyer est une copie
On peut passer à une fonction comme paramètres, les références des variables
qui ont été définies dans le script principal
On peut également dans une fonction renvoyer la référence d’une variable
définie localement au lieu de renvoyer sa valeur
Chapitre 2 : Génération de pages web à l’aide du langage de script PHP Njine Chuangueu
52
I) Généralités sur le langage PHP
Les bases du langage PHP (Fonctions)
L’entête d’une fonction définie avec des paramètres passés par référence à la
syntaxe suivante : function nom_fonction(&$var1, &$var2, ...)
Exemple :
<?php
function visiteurs(&$var) {
$var++;
}
$nb = 304;
visiteurs($nb);
echo $nb; //Affiche 305
?>
Chapitre 2 : Génération de pages web à l’aide du langage de script PHP Njine Chuangueu
53
I) Généralités sur le langage PHP
Les bases du langage PHP (Fonctions)
L’entête d’une fonction définie avec une valeur de retour par référence à la
syntaxe suivante : function &nom_fonction(...)
Exemple :
<?php
function &surface($c) {
$s = $c*$c;
return $s;
}
$nb = surface(5);
echo $nb; //Affiche 25
?>
Chapitre 2 : Génération de pages web à l’aide du langage de script PHP Njine Chuangueu
54
I) Généralités sur le langage PHP
Les bases du langage PHP (Fonctions)
Une fonction peut être défini n’importe où dans un script PHP5, même après
l’instruction qui l’appelle
Lorsque des fonctions peuvent être utilisées dans plusieurs scripts différents, il
devient nécessaire de les définir dans un fichier séparer et d’inclure celui ci
Les fonctions include(), require(), include_once(), et require_once()
insèrent dans des scripts les fonctions définies dans des fichiers séparés
Par convention, les fichiers comportant des fonctions définies par un utilisateur
sont nommés avec l’extension .[Link]
Chapitre 2 : Génération de pages web à l’aide du langage de script PHP Njine Chuangueu
55
II) Fonctionnalités avancées du langage PHP
Les variables prédéfinies
Chapitre 2 : Génération de pages web à l’aide du langage de script PHP Njine Chuangueu
56
II) Fonctionnalités avancées du langage PHP
Les variables prédéfinies
Chapitre 2 : Génération de pages web à l’aide du langage de script PHP Njine Chuangueu
57
II) Fonctionnalités avancées du langage PHP
Les variables prédéfinies
$_GET : Contient le nom et la valeur des données issues d’un formulaire envoyé
par la méthode GET. Les noms des champs sont les clés de ce tableau
$_POST : Contient le nom et la valeur des données issues d’un formulaire envoyé
par la méthode POST. Les noms des champs sont les clés de ce tableau
$_REQUEST : Contient l’ensemble des variables contenues dans les tableaux
$_COOKIE, $_GET, $_POST et $_FILES
$_SERVER : Contient entre autres les informations liées au serveur web, le contenu
des entête HTTP ou encore le nom du script en cours d’exécution
$_SESSION : Contient le nom et la valeur de l’ensemble des variables de sessions
Chapitre 2 : Génération de pages web à l’aide du langage de script PHP Njine Chuangueu
58
II) Fonctionnalités avancées du langage PHP
Les variables prédéfinies (Informations d’entête)
Chapitre 2 : Génération de pages web à l’aide du langage de script PHP Njine Chuangueu
59
II) Fonctionnalités avancées du langage PHP
Les variables prédéfinies (Informations d’entête)
Chapitre 2 : Génération de pages web à l’aide du langage de script PHP Njine Chuangueu
60
II) Fonctionnalités avancées du langage PHP
Fonctions usuelles et extensions
Chapitre 2 : Génération de pages web à l’aide du langage de script PHP Njine Chuangueu
61
II) Fonctionnalités avancées du langage PHP
Fonctions usuelles et extensions
Chapitre 2 : Génération de pages web à l’aide du langage de script PHP Njine Chuangueu
62
II) Fonctionnalités avancées du langage PHP
Fonctions usuelles et extensions (Fonctions mathématiques)
Chapitre 2 : Génération de pages web à l’aide du langage de script PHP Njine Chuangueu
63
II) Fonctionnalités avancées du langage PHP
Fonctions usuelles et extensions (Dates et heures)
Le temps est décompté sous forme d’instant Unix (timestamp) qui exprime le
nombre de secondes s’étend écoulés depuis le 01 Janvier 1970 à 00h 00m 00s
La fonction time() retourne un entier correspondant au nombre de seconde de
l’instant présent : <?php echo time()+7*24*3600; ?>
La fonction mktime() produit un timestamp à partir des composantes
individuelles d’une date: <?php $tps = mktime(7,30,0,1,23,2019); ?>
La fonction microtime(), retourne dans une chaine de caractères le nombre de
microseconde et de seconde de l’instant présent
Chapitre 2 : Génération de pages web à l’aide du langage de script PHP Njine Chuangueu
64
II) Fonctionnalités avancées du langage PHP
Fonctions usuelles et extensions (Dates et heures)
Chapitre 2 : Génération de pages web à l’aide du langage de script PHP Njine Chuangueu
65
II) Fonctionnalités avancées du langage PHP
Fonctions usuelles et extensions (Chiffrement)
Chapitre 2 : Génération de pages web à l’aide du langage de script PHP Njine Chuangueu
66
II) Fonctionnalités avancées du langage PHP
Accès aux fichiers
Chapitre 2 : Génération de pages web à l’aide du langage de script PHP Njine Chuangueu
67
II) Fonctionnalités avancées du langage PHP
Accès aux fichiers
Chapitre 2 : Génération de pages web à l’aide du langage de script PHP Njine Chuangueu
68
II) Fonctionnalités avancées du langage PHP
Accès aux fichiers
Chapitre 2 : Génération de pages web à l’aide du langage de script PHP Njine Chuangueu
69
III) Traitement des formulaires avec PHP
Rappels sur les formulaires HTML
Chapitre 2 : Génération de pages web à l’aide du langage de script PHP Njine Chuangueu
70
III) Traitement des formulaires avec PHP
Réception des données
Lorsque le serveur web reçoit la requête HTTP contenant les données saisies, il
les met à la disposition de l’interpréteur de script PHP
L’interpréteur de script récupère ces informations, opère le cas échéant certains
traitements et les met à la disposition du script cible à travers les super globales
Les super globales susceptibles d’être initialisées à la suite d’une requête sont :
$_GET, $_POST, $_COOKIE, $_REQUEST et $_FILES,
Les fonctions isset(), stripslashes(), addslashes(), filter_input(),
peuvent être utilisées pour contrôler les données reçues
Chapitre 2 : Génération de pages web à l’aide du langage de script PHP Njine Chuangueu
71
III) Traitement des formulaires avec PHP
Réception des données
Chapitre 2 : Génération de pages web à l’aide du langage de script PHP Njine Chuangueu
72
III) Traitement des formulaires avec PHP
Réception des données (Fichiers uploadés)
Chapitre 2 : Génération de pages web à l’aide du langage de script PHP Njine Chuangueu
73
IV) La gestion des sessions en PHP
Rappels sur les cookies
Les cookies sont de petits fichiers sauvegardés par le navigateur sur le poste
client qui contiennent des valeurs envoyés par le serveur web
Ces fichiers ont des contraintes concernant leur taille. La taille maximale d’un
cookie est limité à 4ko.
Les données (valeurs) que contient ce fichier peuvent être utilisées pour pré
remplir les champs d’un formulaire ou facilité les saisies semi-automatiques
Ils peuvent être utilisés pour identifier un utilisateur et stocker ses préférences.
Chaque fois que celui-ci accède au site, il fourni le cookie dans sa requête HTTP
Chapitre 2 : Génération de pages web à l’aide du langage de script PHP Njine Chuangueu
74
IV) La gestion des sessions en PHP
Notion de session
Les sessions sont un mécanisme du langage PHP mis en œuvre pour palier à la
nature sans état du protocole HTTP
Elle peuvent être mis en œuvre à l’aide des cookies et leur implémentation est
transparente pour le développeur
Lorsqu’elles sont mis en œuvre à l’aide des cookies, celles-ci sont alors stockées
sur le serveur, sans limite sur leur taille
Les variables définies dans une session sont disponibles pendant toute sa durée
et sont accessibles à travers $_SESSION pour tous les scripts de cette session
Chapitre 2 : Génération de pages web à l’aide du langage de script PHP Njine Chuangueu
75
IV) La gestion des sessions en PHP
Notion de session
Chapitre 2 : Génération de pages web à l’aide du langage de script PHP Njine Chuangueu
76
IV) La gestion des sessions en PHP
Notion de session
Chapitre 2 : Génération de pages web à l’aide du langage de script PHP Njine Chuangueu
77
Conclusion
Chapitre 2 : Génération de pages web à l’aide du langage de script PHP Njine Chuangueu
78
Bibliographie
Chapitre 2 : Génération de pages web à l’aide du langage de script PHP Njine Chuangueu