0% ont trouvé ce document utile (0 vote)
11 vues78 pages

Développement d'applications web PHP

ce que je sois savoir pour commencer la programmation web

Transféré par

arthurtotie
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
11 vues78 pages

Développement d'applications web PHP

ce que je sois savoir pour commencer la programmation web

Transféré par

arthurtotie
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

ICT305 - WEB APPLICATION

DEVELOPMENT
Licence 3 – Filière ICT4D
Université de Yaoundé I
Yaoundé, Décembre 2018

Njine Chuangueu
njinec@[Link]
2
PRESENTATION DU COURS

 Développement de sites web dynamique conformes au modèle client-serveur à


l’aide des langages de scripts coté serveur
 Connexion aux bases de données à l’aide des langages de scripts coté serveur et
encapsulation des requêtes pour effectuer les opérations CRUD
 Utilisation des langages de scripts coté client pour l’exécution des requêtes
asynchrones et la manipulation de l’arbre DOM

Niveau : Licence 3 – Semestre : 1 – Crédits : 4 – Charge horaire : 50hrs


Contrôle continu : 20% – Examen pratique : 40% – Examen final : 40%

Syllabus ICT305 Njine Chuangueu


3
OBJECTIFS DU COURS

 Décrire l’architecture des applications web déployées à travers le protocole IP


 Utiliser un langage de script coté serveur pour la génération des pages web
dynamiques
 Intégrer des bases de données aux applications web
 Réaliser des échanges asynchrones en utilisant un langage de script coté client
 Enumérer quelques Framework de développement d’application web
dynamique

Syllabus ICT305 Njine Chuangueu


4
COMPETENCES A DEVELOPPER

 Installer et configurer l’environnement minimal nécessaire au développement


des applications web
 Générer des pages web à l’aide d’un langage de script serveur
 Interroger un SGBD à l’aide d’un langage de script serveur
 Déterminer le langage de script (client ou serveur) approprié pour faire des
traitements
 Modifier l’arbre DOM d’une page web à l’aide d’un langage de script client
 Emettre des requêtes asynchrones à l’aide d’un langage de script client

Syllabus ICT305 Njine Chuangueu


5
PREREQUIS

 Produire des documents HTML valides et bien formés


 Différencier les éléments de type bloc des éléments de type en ligne
 Manipuler des formulaires HTML
 Appliquer un gabarit (feuille de styles) aux pages d’un site web
 Utiliser un langage de script coté client pour interagir avec l’utilisateur

Syllabus ICT305 Njine Chuangueu


6
RESSOURCES

 Serveur de page web Apache HTTP Server (version 2.0 au minimum)


 Moteur de script PHP (version 5.0 au minimum)
 Serveur MySQL (version 5.0 minimum)
 Logiciel d’administration phpMyAdmin
 Editeur de texte Notepad++ (version 5.0 minimum)
 Navigateur web (Internet Explorer, Mozilla Firefox, Google Chrome, …)

Syllabus ICT305 Njine Chuangueu


7
BIBLIOGRAPHIE

 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.

Syllabus ICT305 Njine Chuangueu


8
SOMMAIRE DU COURS

① L’architecture des applications web déployées à travers IP

② Génération de pages web à l’aide du langage de script PHP

③ Accéder à une base de données sous le SGBD MariaDB avec PHP

④ Programmation DOM avec JavaScript

⑤ Exécution de requêtes asynchrones AJAX

Syllabus ICT305 Njine Chuangueu


9

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

I) Généralités sur le langage PHP

II) Fonctionnalités avancées du langage PHP

III) Traitement des formulaires avec PHP

IV) La gestion des sessions en PHP

V) Introduction à la POO avec PHP

Conclusion

Chapitre 2 : Génération de pages web à l’aide du langage de script PHP Njine Chuangueu
11
Introduction

 PHP (Personal Home Page / PHP Hypertext PreProcessor) : Langage de


script coté serveur utilisé pour la génération dynamique des pages HTML
 Permet de manipuler des fichiers XML, des images, de créer des fichiers PDF, de
se connecter à des SGBD, de mettre en œuvre des services web, …
 Peut être utiliser en ligne de commande (en dehors d’un contexte web) ou pour
créer des applications avec interface graphique lourde via GTK
 Langage de script ayant une syntaxe proche du langage C et de Perl, et dont les
instructions sont interprétées par le moteur de script Zend Engine

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

 Langage de programmation procédural dont les fonctionnalités sont regroupées


sous forme de modules (l’approche objet à été intégrée par la suite)
 La fonction phpinfo() invoquée dans un script retourne des informations sur
l’installation de PHP parmi lesquelles, la liste des modules installés
 Le fichier de configuration [Link] contient des directives permettant d’activer,
désactiver ou modifier des fonctionnalités
 Les fichiers configuration [Link]-dist et [Link]-recommended sont des
modèles utilisés lorsque le fichier [Link] n’existe pas

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]

** Avant de modifier le fichier [Link], effectuer une copie de sauvegarde **


 extension=php_pdf : Charge l’extension spécifiée au démarrage
 safe_mode = Off : Autorise les interaction entre PHP et le système hôte
 max_execution_time = 30 : Défini la durée max d’exécution des scripts (en sec)
 memory_limit = 8M : Défini la mémoire max allouée pour l’exécution des scripts
 display_errors = Off : Désactive les erreurs sur la sortie (dans la page web)
 magic_quotes_gpc = Off : Désactive le filtrage des paramètres HTTP
 upload_max_filesize = 2M : Défini la taille max des fichiers à uploader

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

 En y accédant à travers un navigateur web : L’URL comprend alors un chemin


vers un fichier d’extension .php ([Link]
 Le serveur web fait alors appel à un interpréteur de script pour que tout le code
PHP de la page web soit traduit en code HTML
 En faisant appel à l’exécutable [Link] (sous Windows) qui interprètera le
script en ligne de commande. Le résultat sera affiché sur la sortie standard
 On passera à ce programme le paramètre –q et le nom du script à exécuter
C:\Program Files\Wamp\bin\php\php5.3.0\[Link] –q [Link]

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

Architecture d’une application web

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

 On peut insérer des commentaires dans un code PHP de trois manières


<?php
// Commentaire
# Commentaire style Unix
/* Commentaire qui s’étend
sur plusieurs lignes */
?>
 Quelques mots clé de PHP : and, as, break, case, class, continue,
declare, default, die, do, echo, else, elseif, empty, endfor,
endforeach, endif, eval, exit, extends, for, foreach, function, if,
include, global, list, new, not, or, parent, print, require, return,
static, stdClass, switch, var, virtual, while, xor, …

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)

 Les types de données : integer, double, float, string, boolean (types


scalaires), array, object (types composés), resource, null (types spéciaux )
 Les fonctions settype() et gettype() permettent de définir et d’obtenir le type
d’une variable : <?php settype($r, "float"); echo gettype($r); ?>
 Les fonctions de la forme is_nomtype() permettent de tester si une variable est
d’un type précis : <?php echo is_null($r); echo is_double($r); ?>
 On peut effectuer des opérations de transtypage en utilisant settype() ou en
utilisant la syntaxe du langage C : <?php $n = (string) $r; ?>

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)

Les principaux opérateurs utilisés en PHP


 Opérateurs d’affectation : =, =&
 Opérateurs arithmétiques : +, -, *, /, %, ++, --
 Opérateurs de concaténation : .
 Opérateurs de comparaison : ==, <, >, <=, >=, <>, !=, ===, !==
 Opérateurs logique : !, &&, ||, and, or, xor
 Opérateurs sur les bits : ~, &, |, ^, <<, >>
 Opérateurs combiné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)

Priorité Opérateurs Priorité Opérateurs


1 () [] 9 ^
2 ! ~ ++ -- 10 |
3 * / % 11 &&
4 + - . 12 ||
5 << >> 13 = += -= *= ...
6 < <= >= > 14 and
7 == != === !== 15 xor
8 & 16 or

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)

Les structures conditionnelles usuelles en PHP sont : if(), if()...else,


if()...elseif()...else et switch()...case

<?php <?php <?php <?php


if(test) if (test) { if (test) { switch ($variable) {
{ ...; ...; case valeur :
...; } else { } elseif (test) { ...;
} ...; ...; break;
?> } } else { default :
?> ...; ...;
} }
?> ?>

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)

Les structures itératives usuelles en PHP sont : while(), do...while(), for() et


foreach()

<?php <?php <?php <?php


while(test) do for(expr;test;expr) foreach($tb as $elt) {
{ { { ...;
...; ...; ...; }
} } } foreach($tb as $i=>$elt) {
?> while(test); ?> ...;
?> }
?>

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)

 Pour empêcher que certains caractères ne soient interprétés, on utilise des


séquences d’échappement à l’aide du symbole \
<?php
echo 'Une bouteille d\'eau fraiche';
echo "Affichage d'un \"texte entre guillemets\" en PHP";
echo "1000\$ USD <=> 500000 Frs";
echo "C:\\Program Files\\Wamp\\www";
?>
 On utilise également la séquence d’échappement \n pour provoquer un retour à
la ligne, \r pour provoquer un retour chariot et \t pour une tabulation

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)

 La syntaxe heredoc permet d’affecter à une variable un texte sur plusieurs


lignes sans recourir au guillemets :

<?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)

 L’opérateur de concaténation des chaines de caractères en PHP est « . » :


<?php echo "Code UE : ".$code_ue." – Titre UE : ".$desc_ue; ?>
 On teste l’égalité des chaines de caractères à l’aide des opérateurs ==, === et != :
<?php $test = ($code_ue == $desc_ue) ? "Vrai" : "Faux"; ?>
 On peut également comparer des chaines de caractères à l’aide des opérateurs <,
>, <= et >= en fonction de l’ordre ASCII de leurs caractères
 Les fonctions strcmp(), strcasecmp(), strnatcmp(), strnatcasecmp() et leur
dérivés comparent également les chaines en renvoyant des entiers (-1, 0 et 1) :
<?php echo strcmp("Page 4", "Page 14"); ?>

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)

 Les fonctions printf(), sprintf(), vprintf() et vsprintf(), permettent de


faire des affichages formatés : <?php printf("En binaire : %b", $nb); ?>
 Les principaux formats utilisés sont : %b (binaire), %c (ASCII), %d (décimal), %f
(flottant), %o (octal), %s (chaine de caractères) et %x ou %X (hexadécimal)
 Les fonctions print_r() et var_dump() permettent entre autres d’afficher le
contenu des tableaux et des objets : <?php print_r($_REQUEST); ?>
 Les fonctions strtolower(), strtoupper(), ucwords() et ucfirst(), permettent
de modifier la casse d’une chaine: <?php echo ucfirst("une phrase."); ?>

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)

 La fonction strpos() et ses dérivés renvoient la position d’une sous chaine si


elle existe ou FALSE sinon : <?php $p = strpos("info@[Link]","@"); ?>
 La fonction strstr() et ses dérivés ainsi que la fonction substr() permettent
d’extraire des sous chaines : <?php echo substr(strstr($ch1,$ch2),3,9); ?>
 Les fonctions str_replace() et substr_replace() permettent de remplacer des
motifs dans des chaines : <?php srt_replace($sch,$mot,$txt); ?>
 Les fonctions str_word_count() et substr_count() comptent respectivement
les mots et motifs d’une chaine : <?php echo subsrt_count($txt,$mot); ?>

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)

 La fonction strlen() permet de retourner la longueur d’une chaine de


caractères : <?php $lg = strlen($code_ue.":".$desc_ue); ?>
 On peut accéder aux caractères d’une chaine à l’aide de la notation indicée :
<?php echo "Code : $code_ue[2]"; echo "Titre : ".$desc_ue{12}; ?>
 La fonction explode() permet de transformé une chaine de caractères en
tableau de sous chaines : <?php $tab = explode("#",$txt); ?>
 La fonction implode() permet de construire une chaine de caractères à partir
d’un tableau : <?php $str = implode(" : ",$tab); ?>

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)

 La fonction nl2br(), permet de transformer les sauts de lignes \n contenus dans


une chaine en saut de ligne HTML <br/> : <?php echo nl2br($txt); ?>
 La fonction strip_tags() permet d’enlever des balises dans une chaine de
caractères : <?php echo strip_tags("<script>alert('Hi');</script>"); ?>
 La fonction strspn() permet de vérifier la présence de certains caractères ou
sous chaines : <?php echo strspn($txt,$msq); ?>
 La fonction strcspn() permet d’effectuer l’opération inverse en retournant la
longueur de la première sous chaine ne contentant pas les caractères spécifiés

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)

 Jeux de caractères : Mécanisme qui détermine comment sont représentés les


caractères sous forme binaire. Tient également compte de la langue utilisée
 Principaux jeux de caractères utilisés dans le web : ISO-8859-1 et ISO-8859-15
(8bits, HTTP), US-ASCII (7bits, XML), UTF-8 (taille variable, XML)
 La fonction setlocale(), permet de gérer les conventions d’affichage propres à
certaines régions : <?php setlocale(LC_ALL, 'fr_FR'); ?>
 La fonction ord() retourne la valeur numérique associée à un caractère et la
fonction chr() permet l’inverse : <?php echo ord("a"); echo chr(97); ?>

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)

 Les fonctions addslashes(), addcslashes() et quotemeta(), permettent


d’échapper les caractères spéciaux : <?php echo addslashes($txt); ?>
 Les fonctions stripslashes() et stripcslashes() font les opérations inverses :
<?php echo stripslashes($txt); ?>
 Les fonctions htmlspecialchars() et htmlentities() remplacent les caractères
spéciaux en entités HTML : <?php echo htmlentities("<br/>"); ?>
 La fonction html_entity_decode() permet de remplacer les entités HTML par
des caractères ordinaires: <?php echo html_entity_decode($txt); ?>

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)

 La fonction iconv() permet de convertir une chaine de caractères d’un jeu à un


autre : <?php $ch_utf = iconv("ISO-8859-1","UTF-8",$ch_iso); ?>
 Le module ICONV doit être chargé parmi les extensions du moteur de script PHP
pour que cette fonction puisse être utilisée
 La fonction mb_convert_encoding() permet de réaliser la même opération :
<?php $ch_utf = mb_convert_encoding($ch_iso,"ISO-8859-1","UTF-8"); ?>
 Le module MBSTRING doit également être chargé parmi les extensions du
moteur de script PHP pour que cette fonction puisse être utilisée

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)

 Les tableaux en langage PHP : Collection d’éléments organisés sous forme de


paires « clés-valeurs » et accessibles à travers un seul identifiant
 Les tableaux en PHP peuvent contenir des éléments de types sont différents !!
En l’occurrence, les éléments peuvent être aussi des tableaux
 On distingue deux types de tableaux en PHP : les tableaux indexés
numériquement et les tableaux associatifs
 La taille des tableaux est gérée dynamiquement par l’interpréteur de script
PHP ! Il n’est pas nécessaire de préciser leur taille lors de la déclaration

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)

 La fonction array() permet de créer des tableaux indexés à travers la syntaxe


suivante : <?php $tab = array(5,"dix",25,50,"Cent",500,$billet); ?>
 Elle permet également de créer des tableaux associatifs à travers la syntaxe
suivante : <?php $tab = array(0=>0,$ver=>$ip,"DNS"=>"[Link]"); ?>
 La syntaxe $tableau[clé] permet d’accéder aux éléments d’un tableau, où clé
peut être une valeur numérique ou littérale : <?php echo $tab["DNS"]; ?>
 On peut aussi définir un tableau en initialisant une de ces cellules à l’aide de la
syntaxe suivante : <?php $tab[clé] = "Valeur"; ?>

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)

 La fonction range() permet d’initialiser un tableau avec une plage de valeur


numérique : <?php $tab = range(65, 90); ?>
 La fonction count() retourne le nombre d’élément d’un tableau. Pour un tableau
multidimensionnel, les éléments des sous tableaux ne sont pas pris en compte
 La fonction array_count_values() retourne dans un tableau associatif le
nombre de valeurs différentes d’un tableau et leur occurrence.
<?php
$tab = array("P","H","P");
print_r(array_count_values($tab)); // Array ([P] => 2 [H] => 1)
?>

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)

 Le parcours d’un tableau se fait à l’aide des structures itératives suscitées. La


structure foreach couvre les situations où les indices ne sont pas consécutifs !
 La fonction list() affecte à N variables, la valeur des N premiers éléments d’un
tableau indexé : <?php list($mat, $nom, $age, $tel) = $tab ; ?>
 La fonction extract() affecte les valeurs d’un tableau associatif à des variables
de même nom que ses clés : <?php extract($_GET); echo "$nom $tel"; ?>
 La fonction in_array() teste la présence d’un élément donné dans un tableau
et renvoi un booléen : <?php if(in_array("[Link]",$tab)) echo 'OK'; ?>

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)

 La fonction array_search() teste la présence d’un élément donné dans un


tableau et renvoi sa clé : <?php $cle = array_search("IP",$tab); ?>
 Les fonctions sort(), rsort(), asort(), arsort(), ksort(), krsort(), natsort()
et natcasesort() permettent de trier les éléments d’un tableau
 La fonction array_slice() permet d’extraire un sous-tableau à partir d’un
tableau passé en paramètre : <?php $stb = array_slice($tab,1,3); ?>
 La fonction array_splice() permet de remplacer les éléments d’un tableau à
l’aide d’un autre tableau : <?php array_splice($tab,1,3,$stb); ?>

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)

 La fonction array_merge() permet de fusionner plusieurs tableaux en un seul


tableau : <?php $tab = array_merge($tb1, $tb2, $tb3); ?>
 Les fonctions array_push() et array_pop() permettent resp. d’ajouter et
d’enlever des éléments en fin de tableau : <?php array_push($tb,7,11); ?>
 Les fonctions array_unshift() et array_shift() permettent resp. d’ajouter et
d’enlever des éléments en début de tableau : <?php array_shift($tb); ?>
 La fonction array_unique() supprime les doublons d’un tableau en conservant
les dernières occurrences : <?php $utb = array_unique($tab); ?>

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)

 La syntaxe de définition d’une fonction est la suivante :


<?php
function nom_fonction($pr1, $pr2, $pr3="val1", $pr4="val2", ...)
{
instructions ;
...
return $res; // Facultatif
}
?>
 On appel la fonction en utilisant la syntaxe nom_fontion(liste paramètres) ;
<?php $var = connexion($host, $base, "admin"); ?>

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

 Variables prédéfinies : Ensemble de variables contenant des informations sur


le serveur et sur toutes les données échangées entre un client et le serveur
 Ces variables se présentent sous la forme de tableaux associatifs, encore
appelés super globales, accessibles en tout point de n’importe quel script
 Les principales super globales sont : $GLOBALS, $_COOKIE, $_ENV, $_FILES,
$_GET, $_POST, $_REQUEST, $_SERVER et $_SESSION
 La fonction get_defined_vars() permet de renvoyer un tableau associatif
contenant l’ensemble des super globales définies pour un script.

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

Résumé descriptif des principales super globales et leur contenu


 $GLOBALS : Contient le nom et la valeur de toutes les variables d’un script. Les
noms des variables sont les clés de ce tableau
 $_COOKIE : Contient le nom et la valeur des cookies stockés chez le client. Les
noms des cookies sont les clés de ce tableau
 $_ENV : Contient le nom et la valeur des variables d’environnement définie pour le
serveur sur le système d’exploitation hôte
 $_FILES : Contient le nom des fichiers uploadés par le client et des informations
telles que le type du fichier uploadé, sa taille et son nom temporaire

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)

 Il est possible, dans un script, de récupérer les informations d’entête contenues


dans les requêtes HTTP émises par les clients à travers $_SERVER
 $_SERVER["HTTP_USER_AGENT"] : Contient une valeur permettant d’identifier le
navigateur client (ex : Mozilla/5.0 (Windows NT 10.0; Win64; x64))
 $_SERVER["HTTP_REFERER"] : Contient l’URL de la page à partir de laquelle le
navigateur client indique provenir (ex : [Link]
 $_SERVER["HTTP_COOKIE"] : Contient le nom et la valeur des cookies envoyer par
le navigateur client (ex : locale=fr_FR)

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)

 $_SERVER["REMOTE_ADDR"] : Contient la valeur de l’adresse IP à partir de laquelle


le navigateur client à émis la requête (ex : [Link])
 $_SERVER["REMOTE_PORT"] : Contient la valeur du numéro de port source utilisé
par le navigateur client pour émettre sa requête (ex : 2896)
 $_SERVER["REQUEST_URI"] : Contient l’URL utilisé par le navigateur client pour
émettre sa requête (ex : [Link]
 $_SERVER["QUERY_STRING"] : Contient la liste des paramètres encodés dans l’URL
par le navigateur client (ex : phpinfo=1)

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

 Le langage PHP propose un grand nombre de fonctions pour réaliser divers


traitements allant de l’affichage simple à l’implémentation des services web.
 Ces fonctions sont réparties en modules encore appelé extensions. Le module
standard contient les fonctions natives de PHP (environ 500)
 La plupart des fonctions existantes sont décrites dans la documentation
officielle et il est recommandé de les utilisées plutôt que de les réinventer
 Parmi les modules les plus courants, on peut citer : bcmath, core, date, filter,
ereg, filter, gd, iconv, libxml, mbstring, mysql, PDO, session, xml, zip, zlib

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

 La fonction phpinfo() permet d’obtenir des informations sur la configuration


actuelle de PHP (version installée, variables prédéfinis, directives activées, …)
 La fonction get_loaded_extensions() permet de lister l’ensemble des modules
ou extensions installés sur le serveur
 La fonction get_extension_funcs() prend en paramètre le nom d’un module et
retourne la liste des fonctions du module
 La fonction function_exists() prend en paramètre le nom d’une fonction et
teste son existence. Elle retourne une valeur booléenne

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)

 Les fonctions round(), ceil(), et floor() permettent respectivement d’arrondir


des nombres réels : <?php echo round(17.523,1); ?> (Affiche 17.5)
 Les fonctions rand() et mt_rand() permettent de générer des nombre aléatoires
: <?php echo mt_rand(0,20); ?>
 La fonction base_convert() permet de convertir un nombre d’une base à une
autre : <?php echo base_convert(FE,16,10); ?> (Affiche 254)
 Les fonctions bindec(), decbin(), dechex() et decoct() permettent également
de convertir des nombres dans des bases prédéfinies

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)

 La fonction date() interprète un format de date et retourne une chaine de


caractères correspondant à une date : <?php echo date("d-m-y, H:i:s"); ?>
 La fonction getdate() retourne dans un tableau associatif toutes les
informations correspondant à un timestamp
 La fonction checkdate() vérifie si une date donnée dans l’ordre MM/JJ/AAAA
existe et retourne un booléen : <?php $bl = checkdate(29,2,2020); ?>
 La fonction strtotime(), retourne un timestamp à partir d’un format de date
ISO : <?php $tps = strtotime("12 December 2018"); ?>

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)

 Les techniques de chiffrements sont requises dans les applications lorsqu’on


manipule des données confidentielles
 Les cas d’utilisation les plus courants sont l’authentification des utilisateurs et la
vérification de l’intégrité des données
 La fonction md5() est généralement utilisée pour chiffré des mots de passe dans
les applications : <?php $md5_pwd = md5($password); ?>
 La fonction sha1_file() peut être utilisée pour contrôler l’intégrité d’un fichier
: <?php $sha = sha1_file($fichier); ?>

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

 Lorsque des données de taille réduite doivent persister au delà de l’exécution


d’un script, les fichiers constituent un bon moyen de stockage
 La fonction file_exists() teste l’existence d’un fichier dont le chemin d’accès
est passé en paramètre : <?php echo file_exists("C:/[Link]"); ?>
 Les fonctions is_file(), is_dir() et filetype() permettent de déterminer la
nature d’un fichier : <?php echo is_dir("C:/[Link]"); ?>
 Les fonctions is_readable(), is_writable() et is_executable() permettent de
déterminer les modes d’accès à un fichier

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

 La fonction fopen() ouvre un fichier dont le chemin d’accès et le mode sont


passés en paramètre et renvoi un descripteur de fichier
 Les différents mode d’accès utilisés par la fonction fopen() sont r, r+, w, w+, a
et a+ : <?php $fd = fopen("[Link]", "a"); ?>
 Les mode d’accès w et w+ provoquent automatiquement la création du fichier
spécifié en paramètre s’il n’existe pas
 La fonction fclose() prend en paramètre un descripteur de fichier et tente de
fermer le fichier identifié par ce descripteur : <?php echo fclose($fd); ?>

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

 La fonction fgetc() prend en paramètre un descripteur de fichier lit un


caractère à la fois dans le fichier référencé : <?php echo fgetc($fd); ?>
 Les fonctions fread() et fgets() permettent de lire nb octets dans un fichier à
travers son descripteur : <?php echo fread($fd,$nb); ?>
 Les fonctions fwrite() et fputs() permettent d’écrire dans un fichier à travers
son descripteur : <?php fputs($fd,"Bonjour"); ?>
 La fonction filesize() retourne la taille d’un fichier dont le chemin d’accès est
passé en paramètre : <?php $lg = filesize("C:/[Link]"); ?>

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

 Les formulaires constituent le mécanisme principal à partir duquel les


internautes communiquent des informations au serveur
 Un formulaire est constituer de champs permettant à un internaute de saisir ou
sélectionner des données, et de boutons permettant de les soumettre
 Chaque champ du formulaire est identifié par un nom dont l’expression littérale
est la valeur de l’attribut name
 Lorsqu’un formulaire est soumis, les données saisies sont associées aux noms
des champs, puis encoder soit dans l’URL, soit dans le corps de la requête HTTP

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

 La fonction get_magic_quotes_gpc() permet de savoir si la directive


magic_quotes_gpc est activée ou pas. Elle retourne une valeur booléenne
 On peut par exemple utiliser le code suivant pour contrôler le contenu de la
variable login d’un formulaire :
if(get_magic_quotes_gpc()) {
$login = $_REQUEST['login'] ;
} else {
$login = addslashes($_REQUEST['login']) ;
}

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)

 Un fichier uploadé est disponible dans le tableau $_FILES["fichier"] où la clé


fichier représente le nom du champ input correspondant dans le formulaire
 $_FILES["fichier"]["name"] : Contient le nom qu’avait le fichier chez le client
 $_FILES["fichier"]["type"] : Contient le type de fichier transféré
 $_FILES["fichier"]["size"] : Contient la taille du fichier en octets
 $_FILES["fichier"]["tmp_name"] : Nom du fichier sur le serveur
 $_FILES["fichier"]["error"] : Indique le statu du téléchargement
 Les fonctions move_uploaded_file(), permet de sauvegarder le fichier

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

 La fonction session_start() initialise une session. Elle doit être la 1ière


instruction utilisée pour tous scripts voulant accéder aux variables de session
 On crée des variables de session en définissant des couple clé-valeur dans
$_SESSION : <?php $_SESSION["login"] = $login; ?>
 La fonction session_destroy() détruit une session qui a été initialisée. La
fonction unset() peut être utilisée pour détruire les variable de session
 La fonction header() peut par exemple être utilisée pour rediriger un utilisateur
sur la page d’authentification si une variable de session est absente

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

Le bout de code suivant permet d’illustrer l’utilisation des variables de session


<?php
session_start();
if(!isset($_SESSION['bienvenue'])
{
header('Location: [Link]') ;
}
else
{
echo $_SESSION['bienvenue'] ;
}
?>

Chapitre 2 : Génération de pages web à l’aide du langage de script PHP Njine Chuangueu
77
Conclusion

Le langage de script PHP :


 Est un langage interprété qui s’exécute coté serveur et qui permet de générer
dynamiquement le code HTML à renvoyer au navigateur
 Met les données des échanges HTTP à la disposition des développeurs à travers
des variables d’environnement (super globales) accessibles à tous les scripts
 Offre à travers ces nombreuses API des fonctionnalités avancées telles que la
connexion aux bases de données, l’envoi d’email, la connexion aux serveur
d’annuaires, la manipulation des fichiers XML, la génération de fichier PDF ou
encore la mise en œuvre de services web, …

Chapitre 2 : Génération de pages web à l’aide du langage de script PHP Njine Chuangueu
78
Bibliographie

Pour en savoir plus :


 Lerdorf, Rasmus & Tatroe, Kevin. Programming PHP. Sebastopol : O’Reilly,
2002. p. 528. ISBN : 1-56592-610-2.
 Engels, Jean. PHP 5 – Cours et exercices. 2e. Paris : Eyrolles, 2009. p. 662. ISBN :
978-2-212-12486-6.
 Daspet, Eric & de Geyer, Cyril Pierre. PHP 5 avancé. 4e. Paris : Eyrolles, 2007.
p. 822. ISBN-13 : 978-2-212-12167-4.
 [Link]. « PHP documentation » [En ligne]. Disponible sur :
[Link]

Chapitre 2 : Génération de pages web à l’aide du langage de script PHP Njine Chuangueu

Vous aimerez peut-être aussi