Conception Developpement Web PHP

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 65

Chapitre 4: Le langage PHP

Langage PHP

1. PHP C'est quoi?


2. De quoi aura-t-on besoin?
3. Les bases du PHP
4. Les structures de contrôle
5. Les formulaires et fonctions agissant sur les variables
6. Fonctions mathématiques
7. Chaines de caractères
8. Les tableaux PHP
9.Les fonctions
10.Les sessions
11.Les fichiers
12.Accès aux bases de données
Chapitre 4: Le langage PHP
Un peu d'histoire

En 1994, et suite à un projet personnel, Rasmus Lerdorf a créé le langage PHP qui désignait
à l'époque Personnal Home Page. Ce projet a été animé par son besoin de mettre à jour
son CV en ligne au lieux de modifier le code source et réhéberger la page à chaque fois.

En 1997 Zeev Suraski et Andi Gutmans ont entamé des travaux d'amélioration du langage
PHP. La première version officielle est alors nommée PHP3 dont l'acronyme récursif
désigne désormais PHP Hypertext Preprocessor. Peu de temps après, ils ont développé le
moteur Zend Engine suite auquel, la version 4 de PHP est née.

En 2004, PHP5 a été créé. Il s'agit d'une version du langage qui supporte la Programmation
Orientée Objet (POO) d'une manière très avancée. C'est cette version qui est actuellement
utilisée par la plupart des développeurs PHP. Le successeur de PHP5 est PHP7 qui est
finalisé en décembre 2015 au dépend de PHP6 qui n'a pas été officialisé.
Chapitre 4: Le langage PHP

Un site dynamique c'est quoi?

En général, on peut regrouper les sites Web en deux catégories: les sites statiques et les
sites dynamiques.
Un site statique renferme un contenu figé qui ne change pas automatiquement et qui
reste le même tant que le Webmaster n'est pas intervenu pour le modifier manuellement.

Les sites dynamiques, quant-à eux, sont des sites Web dont le contenu change d'une
manière autonome. Celui ci peut changer en fonction de la date, le navigateur utilisé par le
client, la position géographique de celui-ci, les privilèges attribués à chaque utilisateur
suite à une authentification par exemple, l'historique de navigation etc...

Les sites dynamiques reposent sur des langages dits CGI (pour Common Gateway
Interface) dont PHP fait parti.
Chapitre 4: Le langage PHP
Particularités de PHP
PHP est un langage de programmation coté serveur. PHP s’exécute entièrement sur le
serveur qui héberge le site Web. Bien que son exécution est moins rapide que celle de
Javascript en raison du temps que prend la requête pour parvenir au serveur et la réponse
pour arriver jusqu'au navigateur, PHP dispose de plusieurs atouts qui se résumer dans les
points suivants:

• Code source confidentiel: Puisque PHP est un langage CGI qui s’execute sur le serveur,
alors son code source n'est jamais visible par le client, ce qui permet de manipuler des
données confidentielles.
• Open source: PHP est un langage de programmation libre de droit.
• Multi-plateforme: PHP s’exécute sur des serveurs d'applications que l'on peut installer
sur de nombreux systèmes d'exploitation (Unix/Linux, Windows, Mac OS, BSD...)
• Syntaxe simple et intuitive: Les personnes ayant déjà programmer en C ou en Javascript
trouvent PHP facile à manipuler.
Chapitre 4: Le langage PHP
Particularités de PHP

• Interfaçage simple avec les bases de données: Bien que PHP est souvent associé
au SGBD MySQL, il peut cependant interagir avec presque tous les SGDB connus,
d'autant plus à l'aide de l'interface PDO.
• Richesse fonctionnelle: PHP prend en charge de nombreuses bibliothèques qui
permettent de réussir des traitements de nature différente comme la manipulation du
DOM, la programmation réseau ou le traitement d'images...
• Supports disponibles: La documentation de PHP est très abondante et diversifiée surtout
grâce aux postes d’une très large communauté qui s'est formée autour de lui. Cependant le
support PHP officiel est disponible sur le site www.php.net. Si vous cherchez des
informations concernant une fonction, il suffit de taper son nom après l'URL. Par exemple,
pour obtenir des informations sur la fonction echo de PHP, il suffit de saisir l'URL
suivante: www.php.net/echo.
Chapitre 4: Le langage PHP De quoi aura-t-on besoin pour coder en PHP?
Chapitre 4: Le langage PHP De quoi aura-t-on besoin pour coder en PHP?

Préparer son serveur


Désormais, il n'est plus question de mettre nos pages Web n'importe où sur notre
ordinateur. En effet, il y aura un emplacement qui sera dédié à l'hébergement et qui sera
géré par le logiciel faisant office de serveur Web.

Parlant justement de serveur Web, il faut d'abord savoir que ce serveur exécute les
requêtes HTTP (HyperText Transfer Protocol) qui est le protocole de communication utilisé
pour transférer les données hypertextes entre le client et le serveur.

Serveur Apache
Apache est un serveur Web libre distribué sous la licence Apache. Il est le serveur Web le
plus populaire et le plus utilisé par les hébergeurs à travers la toile.

Il existe plusieurs logiciels qui font office de serveur Web et qui supportent automatiquement
le langage PHP. Wamp
Chapitre 4: Le langage PHP De quoi aura-t-on besoin pour coder en PHP?

Préparer son serveur

Une fois WAMP Server démarré, vous disposez désormais d'un serveur Web local à votre
machine. Pour interroger ce serveur vous pouvez taper sur l'URL de votre navigateur
préféré l'adresse http://localhost ou http://127.0.0.1. Ces deux adresses font référence au
serveur local (ou boucle locale dans le jargon des réseaux informatiques). Normalement,
vous devez obtenir la page propre au serveur qui contient des informations sur WAMP
Server.
Chapitre 4: Le langage PHP Intégration du code PHP

Où faut-il placer nos documents PHP?


Si vous voulez exécuter du code PHP, alors il faut faire appel au serveur d’application grâce à
l'URL http://localhost. Il est donc hors de question de cliquer sur un document PHP deux fois
pour l’exécuter dans un navigateur comme on avait l'habitude de faire avec HTML ou
Javascript.

Tout d'abord, il faut noter qu'un document PHP est toujours suffixé par l'extension .php.
C'est de cette manière que le serveur Web sait qu'il doit faire exécuter le document PHP par
le serveur d'application, qui renferme le moteur PHP, avant de le renvoyer au client.
Cependant, il faut placer nos documents PHP (et les autres documents du site Web d'ailleurs)
dans un endroit bien précis. Cet endroit s'appelle le Document Root (littéralement la racine
du serveur Web).

Sur WAMP Server le Document Root est le dossier du nom de www, il est par défaut situé
dans le dossier d'installation du logiciel (généralement C:/wamp/www). Il est donc important
de placer tous les documents PHP que nous allons créer dans ce répertoire.
Chapitre 4: Le langage PHP Intégration du code PHP

A quoi ressemble un document


PHP?
Une page PHP est suffixée par
l'extension .php, mais cela ne veut pas
dire qu'elle contient uniquement du
code PHP. En effet, elle peut
renfermer toutes les syntaxes que
nous avons vu jusqu'ici à savoir: HTML,
CSS et Javascript.

Il est donc tout à fait possible que


votre page PHP contienne 4 langages
différents à la fois.
Chapitre 4: Le langage PHP Intégration du code PHP
Si un document suffixé par .php est demandé par le client, le serveur d'application l'analyse d'abord pour chercher les scripts
PHP qu'ils contient et les exécute sur place. Le résultat obtenu est un document où le code PHP a été remplacé par le résultat
de son l’exécution. Ce document est renvoyé au navigateur du client qui, lui, exécute les codes restants qui ne sont rien
d'autre que des codes coté client comme HTML, CSS et Javascript.
Chapitre 4: Le langage PHP Intégration du code PHP

Délimiteurs PHP
Pour indiquer au serveur où est intégré le code PHP dans la page, il faut le placer dans des
délimiteurs (ou balises) spéciaux. Tout ce qui est déclaré entre ces délimiteurs sera exécuté
par le serveur avant de renvoyer la page au client.

• Délimiteur long: il s'agit du délimiteur classique de PHP. Le code PHP doit être placé
entre <?php et ?>. C'est le plus populaire et le plus recommandé.
Chapitre 4: Le langage PHP Les bases du PHP

Les commentaires
•En PHP on peut intégrer des commentaires qui seront ignorés lors de l’exécution du
script par le serveur. Comme pour Javascript (ou pour le langage C) les commentaires
en PHP peuvent avoir deux formes:
Commentaire de fin de ligne: il s'agit d'un commentaire qui s'étend jusqu'à la fin de la
ligne à partir du symbole double slash (//).
•Commentaire sur plusieurs lignes: il s'agit d'un bloc qui peut contenir plusieurs lignes
comprises entre les symboles /* et */.
Chapitre 4: Le langage PHP Les bases du PHP

Variables PHP
Comme pour les autres langages de programmation, en PHP les variables servent à
stocker des valeurs qui peuvent changer au cours du programme. A l'instar de
Javascript, nous n'avons pas besoin de déclarer le type de la variable avant de s'en servir
et on peut lui affecter des valeurs de types différents tout au long du programme sans
recourir au CAST.
En PHP, les noms de variables sont préfixées par le symbole dollar ($) et commencent
par une lettre minuscule, majuscule ou le caractère souligné (_). Cependant, ils peuvent
contenir des chiffres au milieu ou à la fin. Les espaces ne sont pas autorisés.
Chapitre 4: Le langage PHP Les bases du PHP

Variables scalaires
En PHP, il existe des variables scalaires et des variables tableau (que l'on va traiter plus loin
dans ce cours). Le variables scalaires peuvent être:
• Des nombres entiers (nombres sans virgule positifs ou négatifs).
• Des nombres décimaux (de type double).
• Des chaines de caractères (des suites de caractères quelconques).
• Des booléens (qui peuvent avoir les valeurs true ou false).

Si une variable appelée dans le script existe déjà et a déjà reçu une valeur, celle ci sera
utilisée. Sinon alors le moteur PHP lui affecte la valeur 0 par défaut.
Chapitre 4: Le langage PHP Les bases du PHP

Les constantes PHP


Les constantes servent aussi à stocker des valeurs dans un programme, mais à l'inverse
des variables, leurs valeurs ne changent pas.

Fonction define()
Pour définir un constante on utilise la fonction define(cte,val). cte représente l'identifiant
de la constante à définir et val sa valeur.
Chapitre 4: Le langage PHP Les bases du PHP

Les opérateurs
Les opérateurs sont des symboles qui permettent de faire des opérations sur les
variables. Les opérateurs sont souvent les mêmes dans la plupart des langages de
programmation et ils sont représentés par des symboles similaires dans la plupart des
cas.
En PHP on distingue 5 familles d'opérateurs:
• Opérateurs arithmétiques.
• Opérateurs d'incrémentation.
• Opérateurs assignement.
• Opérateurs de comparaison.
• Opérateurs logiques.
Chapitre 4: Le langage PHP Les structures de contrôle

Les structures conditionnelles et boucles


Structure if else Structure switch case
Chapitre 4: Le langage PHP Les structures de contrôle

Les structures conditionnelles et boucles


Boucle for

Structure do while
Structure while
Chapitre 4: Le langage PHP Les structures de contrôle

Les structures conditionnelles et boucles

Mots-clés break et continue


Chapitre 4: Le langage PHP Fonctions mathématiques
Fonctions mathématiques standards
•abs($x): retourne la valeur absolue de $x.
•ceil($x): retourne l'arrondi supérieur de $x. Il s'agit du nombre entier immédiatement supérieur ou
égal $ x.
•floor($x): retourne l'arrondi inférieur de $x. Il s'agit du nombre entier immédiatement inférieur ou
égal $ x.
•round($x,$i): retourne l'arrondi le plus proche de $x avec la précision $i. Le nombre retourné aura $i
chiffres après la virgule.
•pow($x,$y): retourne $x à la puissance $y.
•max($a,$b,$c,...): retourne le nombre le plus grand parmi $a, $b, $c...
•min($a,$b,$c,...): retourne le nombre le plus petit parmi $a, $b, $c...
•log($x): retourne le logarithme naturel (népérien) de $x.
•log10($x): retourne le logarithme en base 10 de $x.
•exp($x): retourne l'exponentiel de $x.
•sqrt($x): retourne la racine carré de $x.
•hexdec($x): converti $x de la base hexadécimale à la base décimale.
•dechex($x): converti $x de la base décimale à la base hexadécimale.
•bindec($x): converti $x de la base binaire à la base décimale.
•decbin($x): converti $x de la base décimale à la base binaire.
Chapitre 4: Le langage PHP Fonctions mathématiques

Fonctions trigonométriques
•pi(): retourne la valeur approximative de PI (3,14159265359).
•sin($x): retourne le sinus de $x.
•cos($x): retourne le cosinus de $x.
•tan($x): retourne la tangente de $x.
•asin($x): retourne l'arc sinus de $x.
•acos($x): retourne l'arc cosinus de $x.
•atan($x): retourne l'arc tangente de $x.

Les fonctions qui traitent les nombres aléatoires


mt_rand(): La fonction mt_rand() permet de générer un nombre aléatoire entier compris entre 0 et RANDMAX
(qui représente la valeur maximale pouvant être générée). Si on désigne des paramètres entre les
parenthèses, par exemple mt_rand(1,4), alors l'un des nombre 1, 2, 3 ou 4 sera généré aléatoirement.
•mt_srand(): Cette fonction permet d'initialiser le moteur de génération des nombres aléatoires. Il est conseillé
de toujours faire suivre mt_rand() par mt_srand() pour garantir un meilleur résultat aléatoire la prochaine fois.
•mt_getrandmax(): Cette fonction permet de retourner le RANDMAX qui représente la valeur maximale que le
moteur de génération des nombres aléatoires peut générer. Sa valeur vaut 2147483647. Si la fonction
mt_rand() est déclarée sans paramètres, alors elle peut générer un nombre compris entre 0 et RANDMAX.
Chapitre 4: Le langage PHP Chaînes de caractères

Les chaînes de caractères en PHP


Concaténation de chaînes de caractères

Fonctions agissant sur les chaînes de caractères

•strlen($str): retourne un entier qui représente le nombre de caractères que contient la chaîne
$str.
•strtoupper($str): convertir la chaîne $str en majuscule.
•strtolower($str): convertir la chaîne $str en minuscule.
•ucfirst($str): convertit le premier caractère de la chaîne $str en majuscules.
Chapitre 4: Le langage PHP Chaînes de caractères

Fonctions agissant sur les chaînes de caractères


•trim($str): supprime les espaces de début de de fin de la chaîne $str.
•rtrim($str) ou chop($str): supprime les espaces de fin de la chaîne $str.
•substr($str,$deb,$nbr): extrait une partie de la chaîne de caractères en commençant de la
position $deb et en retournant $nbr caractères (Notez que la position du premier caractère
de la chaîne est 0).
•ord($car): retourne le code ASCII du caractère $car.
•chr($int): retourne le caractère correspondant au code ASCII $int.
•addslashes($str): ajoute des antislashs avant les caractères spéciaux comme l'antislash,
simple cote ou double cote qui se trouvent dans la chaîne de caractères $str.
•stripslashes($str): supprime les antislashs qui se trouvent dans la chaîne de caractères $str.
•strip_tags($str): supprime les balises HTML qui se trouvent dans la chaîne de caractères $str.
•htmlentities($str): convertit certains caractères de $str en mot clés HTML.
Chapitre 4: Le langage PHP Chaînes de caractères

Afficher les chaînes de caractères


Chapitre 4: Le langage PHP Les tableaux

Les variables tableau


Les tableaux en PHP sont des variables qui peuvent contenir plusieurs valeurs à la fois. Ils
peuvent être indexés ou associatifs et peuvent aussi avoir plusieurs dimensions.

Tableaux indexés
Un tableau indexé contient des indices numériques qui indexent le contenu souhaité. Ces
indexes commencent par défaut de 0 et s'incrémentent de 1 à chaque fois.
Pour créer un tableau indexé en PHP il existe plusieurs méthodes:
Chapitre 4: Le langage PHP Les tableaux

Tableaux associatifs
Si un tableau indexé contient des indices numériques qui indexent les entrées, un tableau
associatif , quant-à lui, contient des clés. Ces clés sont des chaînes de caractères qui
permettent d'avoir une idée plus claire sur le contenu indexé.

Par exemple, le dernier tableau créé contient trois valeurs "PHP", "Coté serveur" et 60.
Mais on ne sait pas ce que représentent réellement ces trois entrées. Essayons maintenant
de les déclarer au sein d'un tableau associatif.
Chapitre 4: Le langage PHP Les tableaux

Tableaux à plusieurs dimensions


Les tableaux qu'on a vu précédemment contiennent une seule dimensions.
Il est toute fois possible de créer des tableaux à plusieurs dimensions, soit directement
ou en déclarant les tableaux les uns dans les autres.

Pour simplifier on va voir l'exemple d'un tableau indexé à deux dimensions.


Chapitre 4: Le langage PHP Les tableaux

Parcourir un tableau: structure foreach


Pour parcourir un tableau, la solution la plus classique consiste à utiliser la boucle for ou la
boucle while. Cependant, PHP inclue une structure de contrôle qui s'applique
spécialement aux tableaux. Il s'agit de la structure foreach.
La structure foreach permet de parcourir un tableau élément par élément..
Chapitre 4: Le langage PHP Les tableaux

Fonctions agissant sur les tableaux


• count($tab) ou sizeof($tab): retourne un entier qui indique le nombre d'entrées du tableau.
• in_array($var,$tab): vérifie si la variable $var existe dans le tableau. Si oui la
fonction in_array() retourne true sinon elle retourne false.
• list($var1,$var2,$var3...): affecte chacune des entrées du tableau respectivement au variables $var1,
$var2, $var3...
• shuffle($tab): mélange le contenu du tableau en changeant l'indexe des entrées aléatoirement.
• sort($tab): trie dans l'ordre alphanumérique les éléments du tableau.
• rsort($tab): trie dans l'ordre alphanumérique inverse les éléments du tableau.
• array_rand($tab): retourne l'indexe de l'une des entrée du tableau aléatoirement.
• array_merge($tab1,$tab2,$tab3...): retourne un seul grand tableau qui contient les éléments des
tableaux $tab1, $tab2, $tab3...
• implode($sep,$tab) ou join($sep,$tab): retourne une chaîne de caractères constituée des éléments
du tableaux séparés par le contenu de la variable $sep.
• explode($occ,$str): cette fonction s'applique sur les chaînes de caractères. Elle crée un tableau en
éclatant la chaîne $str au niveau des occurrences $occ.
Chapitre 4: Le langage PHP Formulaires et fonctions agissant sur les variables

Récupération des champs de formulaire

Bien entendu, c'est ce qu'il y a de plus simple en HTML. Il s'agit d'un formulaire qui
contient deux champs, une zone de texte au nom de prenom et un bouton d'envoi du
nom de valider. Le formulaire utilise la méthode POST et envoie ses valeurs à la page
courante une fois le bouton d'envoi actionné.

Sur la page qui est sensée traiter le formulaire (la page courante dans ce cas), on doit
d'abord récupérer les valeurs postées par celui-ci. Pour ce faire, on a recourt aux variables
(tableaux) superglobales $_POST et $_GET.
Chapitre 4: Le langage PHP Formulaires et fonctions agissant sur les variables

Variables $_POST et $_GET


La variable $_POST est en réalité un tableau associatif, c'est à dire un tableau qui utilise
des clés au lieu d'indexes.

La variable $_POST contient la valeur du champ de formulaire dont le nom est passé en
tant que clé. Par exemple, pour récupérer la valeur que l’internaute a saisi dans la zone de
texte nommée prenom, on fait appel à la variable $_POST["prenom"].

La variable $_POST est appelée si le formulaire en question utilise la méthode POST. Si le


formulaire utilise la méthode GET alors on appelle la variable $_GET. Tout comme le
tableau $_POST, le tableau $_GET utilise comme clé, les noms des champs de formulaires.

$_POST et $_GET sont des variables superglobales, c'est à dire qu'elles sont reconnues
dans n'importe quel contexte (à l'intérieur des fonctions comme à l'extérieur, voir même à
l'intérieur des méthodes d'une classe dans le cas de PHP5 par exemple).
Chapitre 4: Le langage PHP Formulaires et fonctions agissant sur les variables

Fonctions agissant sur les variables


• empty(): permet de vérifier si la variable passée en paramètre est vide ou non. Si la
variable est vide (elle ne contient aucune valeur) elle retourne la valeur true, si non elle
retourne false.
• isset(): permet de vérifier si la variable passée en paramètre existe ou non. Si la variable
est déjà évoquée avant la fonction isset(), alors elle existe et cette dernière retourne true,
sinon elle retourne false.
• unset(): permet de supprimer la variable passée en paramètre. Si après unset() on appelle
la fonction isset() en leur passant la même variable, alors celle-ci retournera false.
• gettype(): permet de retourner le type de la variable passée en paramètre.
• is_numeric(): vérifie si la variable passée an paramètre ne contient qu'une suite de
caractères numériques. Si oui elle retourne true sinon elle retourne false.
• is_int(): vérifie si la variable passée an paramètre est de type entier ou non. Si oui, elle
retourne true sinon elle retourne false
• is_float(), is_long(), is_double(), is_string() et is_bool() qui vérifient chacune le type de
variable associée de la même manière que is_int().
Chapitre 4: Le langage PHP Déclaration des
Formulaires variables
et fonctions agissant sur les variables

En effet, avant de poster le formulaire, aucune des variables $prenom et $valider


n'existe encore, car les variables $_POST qu'on leur a affecté ne seront créés qu'une
fois le formulaire (utilisant la méthode POST) est envoyé en cliquant le bouton submit.

Aucune des deux variables (tableaux) $_POST n'existe avant de poster le formulaire.
Dans ce cas, au premier chargement de la page, les clés "prenom" et "valider" que
contiennent les crochés ne seront pas reconnus par le compilateur PHP qui générera des
erreurs de notification disant "Indefined index prenom" et "Indefined index valider".
Chapitre 4: Le langage PHP Les fonctions

Créer ses propres fonctions en PHP

Création et appel d'une fonction


Pour créer une fonction on fait appel au mot clé function comme ceci:
Chapitre 4: Le langage PHP Les fonctions

Portés des variables


Par défaut, une variable déclarée dans une fonction PHP est locale à cette fonction.
Elle n'est donc pas reconnue à l'extérieur de celle ci.
De même, une variable déclarée en dehors de la fonction n'est pas par défaut accessible
depuis l'intérieur.
La variable $a déclarée à l'extérieur de la fonction n'est pas reconnue à l'intérieur de celle-ci.
Au moment de son appel, la fonction f() essaiera d'afficher la variable locale $a qui n'existe pas.
La variable $b initialisée à l'intérieur de la fonction est locale à celle-ci également.
Alors rien ne s'affichera avec echo $b;.

Pour que les variables soient accessibles de partout on va


faire appel à la variable $GLOBALS et le mot clé global.
Chapitre 4: Le langage PHP Inclusions et arrêts prématurés

Les inclusions
Il se trouve qu'un bout de code figure dans plusieurs documents constituant notre projet
Web (site ou application). Il s'agit souvent de codes qui assurent la connexion à la base de
données ou à définir des éléments qui figurent systématiquement sur toutes nos pages,
comme les entêtes, bas de pages et menu de navigation.

Le fait de déclarer le même code dans plusieurs pages rend celui-ici difficile à maintenir. En effet, imaginons que nous
voulons nous connecter à une base de données du nom de "mabase" installée sur le serveur local et à laquelle on peut
accéder avec l'utilisateur "user" et le mot de passe "pass". Si on veut se connecter à la base de données en
utilisant PDO(PHP Data Object), la syntaxe ressemblerait à ceci:
Chapitre 4: Le langage PHP Inclusions et arrêts prématurés

Structure include
La structure include permet d'appeler un fichier dans la page où elle a été déclarée. On la prend à tort
pour une fonction, mais en réalité il s'agit d'une structure et par conséquent, les parenthèses ne sont
pas obligatoire.

La syntaxe de la structure include ressemble à ceci:

Structure require
La structure require fonctionne pratiquement comme include. Il s'agit aussi d'une structure mais
on peut la déclarer avec des parenthèses. La principale différence entre les deux structures c'est
qu'à l'inverse de include qui se contente d'afficher une notification si le fichier appelé n'est pas
accessible, require quant-à-elle arrête nettement l’exécution du programme.
Chapitre 4: Le langage PHP Inclusions et arrêts prématurés

Les arrêts prématurés


Dans le cas normal, un programme s’exécute du début à la fin. L'arrêt de l’exécution après
avoir passé en vue toutes les instructions est donc tout à fait logique. Cependant, il se peut
qu'un programme s'arrête avant d'atteindre la fin prévue et cela est du principalement à
l'une des raisons suivantes:
• Erreur fatale: il s'agit d'une erreur stricte qui empêche le programme de se poursuivre.
Néanmoins, ce genre d'erreur pousse le compilateur à ne rien exécuter du tout car le
langage PHP est compilé.
• Arrêt prématuré: il s'agit d'un arrêt programmé par le développeur. Dans ce cas, même si
le programme ne s’exécute pas en entier, son arrêt est considéré comme normal car il a
été prévu.

Arrêt prématuré avec exit() et die()


Les fonctions exit() et die() sont similaires (des alias). Elles arrêtent le programme à l'endroit
où elle sont déclarées en affichant le message passé en argument (en tant que chaîne de
caractères).
Chapitre 4: Le langage PHP Inclusions et arrêts prématurés

Arrêt prématuré avec exit() et die()


Les fonction exit() et die() sont similaires (des alias). Elles arrêtent le programme à
l'endroit où elle sont déclarées en affichant le message passé en argument (en tant que
chaîne de caractères).
Chapitre 4: Le langage PHP Les sessions (et variables de session)

Principe des sessions


Les sessions constituent un moyen de stocker les données sur le serveur. En plus, ces
données sont propres à chaque utilisateur qui se connecte à celui-ci et sont associées à un
identifiant de session unique. Ils sont très utiles car ils permettent de faire persister des
informations aussi longtemps que le client est connecté voir même après qu'il ait quitté le
site Web. Ces informations sont accessibles par toutes les pages visitées par le client (d'où
le nom de session).

Quand une session est créée sur le serveur, ce dernier envoie son identifiant (unique) au
client sous forme d'un cookie.
Chapitre 4: Le langage PHP Les sessions (et variables de session)

Démarrer ou reprendre une session: session_start()

1. On lance une session avec session_start().


2. On récupère le contenu saisi dans le formulaire
d’authentification.
3.Une fois, l’internaute clique sur le bouton, le test du
mot de passe et le login se lance.
4. Si le login et le pass sont conformes, avec header,
on dirige notre internaute ver sa page web.
Si non un message d’erreur sera affiché.
Chapitre 4: Le langage PHP Les sessions (et variables de session)

Reprendre une session: session_start()

Dans chaque page qui constitue le compte


d’un internaute, on reprend la session avec
session_start().
Si la variable autoriser déclarer le tableau
$_SESSION ne correspond par à oui. Donc les
données récupérées du formulaire ne sont
pas conformes. L’internaute avec header sera
redirigé vers la première page
d’authentification.
Cette page contiendra un bouton ou un lien
vers deconnexion.php.
Détruire une sessions: session_destroy()
Au niveau de la page deconnexion.php; la
session doit être récupéré et détruite puis
l’internaute sera redirigé vers la première
page d’authentification.
Chapitre 4: Le langage PHP Les fichiers

Manipulation des fichiers en PHP


Quand on parle de fichiers en PHP on sous entend les fichiers texte. Ces fichiers peuvent
contenir des données que l'on peut afficher sur une page Web ou peuvent servir d'espace
de stockage pour y enregistrer le résultat de l’exécution de nos scripts PHP.
Chapitre 4: Le langage PHP Les fichiers

Fonctions de test et d'évaluation de fichiers

• file_exists($fichier): vérifie si le fichier $fichier existe ou non. S'il existe elle


retourne true sinon false.
• filesize($fichier): retourne la taille du fichier $fichier en octets.
• filetype($fichier): retourne le type du fichier $fichier.
• is_executable($fichier): vérifie si le fichier $fichier est exécutable ou non. Il retourne un
résultat booléen.
• is_file($fichier): vérifie si le $fichier est un fichier et non pas un répertoire ou un lien
symbolique. Il retourne un résultat booléen.
• is_link($fichier): vérifie si $fichier est un lien symbolique. Il retourne un résultat booléen.
• unlink($fichier): détruit le fichier $fichier en le supprimant de son emplacement.
• copy($src,$dst): copie le fichier $src dans $dst. $src et $dst peuvent être des chemins
absolus ou relatifs.
• rename($old,$new): renomme le fichier $old en $new.
Chapitre 4: Le langage PHP Les fichiers
Fonctions d'accès aux fichiers
Si les fonctions précédentes permettent d'agir sur le fichier en un seul lot (évaluation ou
lecture et écriture du contenu en entier). Les fonctions qui vont suivre quant-à-elles, agissent
partiellement sur le fichier, ligne par ligne, voir lettre par lettre. Ce qui permet un meilleur
contrôle de celui-ci.

Fonction fopen():

La fonction fopen($fichier,$mode) permet d'ouvrir le fichier spécifié par la variable $fichier en


mode $mode. La fonction fopen() retourne un identifiant d'ouverture qui sera utile pour les
fonctions qui vont suivre.

Les différents modes d'ouvertures possibles sont:


Chapitre 4: Le langage PHP Les fichiers

• Fonction fclose()
La fonction fclose($fp) ferme le fichier identifié par $fp. $fp est l'identifiant de l'ouverture du
fichier retourné par la fonction fopen().
Chapitre 4: Le langage PHP Les fichiers

• Fonction file()
Lit le fichier et retourne son contenu sous format tableau.
• Fonction explode()
explode() retourne un tableau de chaînes de caractères, chacune d'elle étant une sous-
chaîne du paramètre string extraite en utilisant le séparateur delimiteur.
 Lire des données
$lignes résultat de file contiendra les deux lignes du
fichier.

Pour chaque ligne, on applique $split pour


récupérer chaque données à la fois en fonction du
délimiteur mentionné.
Ici split[0] va contenir le CIN ; split[1] les noms;
split[2] les prénoms et split[3] les adresse.
Chapitre 4: Le langage PHP Les fichiers

• Fonction fputs()
La fonction fputs($fp,$chaine) permet d'écrire dans le fichier la chaîne de caractère $chaine à
partir de la position actuelle du pointeur. S'il y a déjà du contenu à l'endroit où l'on souhaite
écrire, alors il sera écrasé lettre par lettre jusqu'à ce que l'écriture de $chaine finisse.

 Ecrire des données Ouverture du fichier en mode ajout

Ecriture des données avec le délimiteur |

Assurer le retour à la ligne pour chaque


enregistrement.
Chapitre 4: Le langage PHP Les bases de données mysql

 Stockage de données
La base de données (BDD) est un système qui enregistre des informations. Ce qui est
très important ici, c'est que ces informations sont toujours classées.

Les SGBD (Système de Gestion des Bases de Données) sont les programmes qui se chargent
du stockage des données. Les plus connus sont, pour rappel :
- MySQL : libre et gratuit, c'est probablement le SGBD le plus connu. Nous l'utiliserons dans
cette partie ;
- PostgreSQL : libre et gratuit comme MySQL, avec plus de fonctionnalités mais un peu moins
connu ;
- SQLite: libre et gratuit, très léger mais très limité en fonctionnalités ;
-Oracle : utilisé par les très grosses entreprises ; sans aucun doute un des SGBD les plus
complets, mais il n'est pas libre et on le paie le plus souvent très cher ;
Chapitre 4: Le langage PHP Les bases de données mysql

 Stockage de données
- les ordres au SGBD sont donnés en langage SQL.
Vous allez devoir communiquer avec le SGBD pour lui donner l'ordre de récupérer ou
d'enregistrer des données. Pour lui « parler », on utilise le langage SQL.
La bonne nouvelle, c'est que le langage SQL est un standard, c'est-à-dire que quel que
soit le SGBD que vous utilisez, vous vous servirez du langage SQL. La mauvaise, c'est
qu'il y a en fait quelques petites variantes d'un SGBD à l'autre, mais cela concerne
généralement les commandes les plus avancées.
Chapitre 4: Le langage PHP Les bases de données mysql

 Stockage de données
- Le PHP est l’intermédiaire entre vous et mysql

1.le serveur utilise toujours PHP, il lui fait donc passer le


message ;
2.PHP effectue les actions demandées et se rend compte qu'il a
besoin de MySQL. Il fait donc passer le travail à MySQL ;
3.MySQL fait le travail que PHP lui avait soumis et lui répond ;
4.PHP renvoie au serveur que MySQL a bien fait ce qui lui était
demandé.
Chapitre 4: Le langage PHP Les bases de données mysql

 Stockage de données
- Structure d’une base de données

Une base de données est un


ensemble de tables liées. Chaque
table contient un ensemble de
champs.

Au lieu maintenant de stocker nos


enregistrements dans des fichiers nous
allons directement les stockées dans les
tables qui leurs correspondent.
Chapitre 4: Le langage PHP Les bases de données mysql

 phpMyAdmin
Chapitre 4: Le langage PHP Les bases de données mysql

 phpMyAdmin
1- Création d’une base de données
Chapitre 4: Le langage PHP Les bases de données mysql

 phpMyAdmin
1- Création des tables
Chapitre 4: Le langage PHP Les bases de données mysql

 phpMyAdmin
1- Création des tables
Chapitre 4: Le langage PHP Les bases de données mysql

 phpMyAdmin
Insertion/modification/suppression d’enregistrements
Chapitre 4: Le langage PHP Les bases de données mysql

 phpMyAdmin
Ordre SQL
Chapitre 4: Le langage PHP Les bases de données mysql

 Etablir la connexion entre PHP et la BDD

L'extension PDO : c'est un outil complet qui permet d'accéder à n'importe quel type
de base de données. On peut donc l'utiliser pour se connecter aussi bien à MySQL
que PostgreSQL ou Oracle.

Le gros avantage de PDO est que vous pouvez l'utiliser de la même manière pour vous
connecter à n'importe quel autre type de base de données (PostgreSQL, Oracle…).
Chapitre 4: Le langage PHP Les bases de données mysql

 Etablir la connexion entre PHP et la BDD

La ligne de code crée un objet $bdd. C'est un


objet qui représente la connexion à la base de
données. On crée la connexion en indiquant
dans l'ordre les paramètres suivants:

- le nom d'hôte (localhost) ;


- la base de données (base_php) ;
- le login (root) ;
- le mot de passe (sous WAMP il n'y a pas de
mot de passe, j'ai donc mis une chaîne vide,
sous MAMP le mot de passe estroot).
Chapitre 4: Le langage PHP Les bases de données mysql

 Récupérer des données

- La méthode query est appelé via l’objet $bdd récupéré


comme résultat de la connexion via PDO (diapo
précédente).
- Cette méthode permet d’interroger votre base de
données en utilisant la requête SQL spécifiée.
- La méthode fetch permet de récupérer le résultat lu ligne
par ligne.
- $data est un tableau associatif qui contient tous les
enregistrements obtenus via la requête SQL lancée.
- Ces cases disposent du même nom spécifié dans votre
table.
- Ici $data est un tableau à une colonne nommée CIN.
Chapitre 4: Le langage PHP Les bases de données mysql

 Récupérer des données

Le code suivant permet de sélectionner le nom, le


prénom des clients dont le montant dans leurs comptes
bancaires est inférieur à 0. (des débiteurs).

Les résultats obtenus sont affichés sous format d’un


tableau html.

$d1 contient deux colonnes nom et prénom et l’ensemble


des lignes résultats de la requête.

Chaque ligne de $d1 sera affichée au niveau d’un tr et


deux td du tableau html.
Chapitre 4: Le langage PHP Les bases de données mysql

 Ecrire des données en utilisant des marqueurs

Les marqueurs nous permette de signaler à la requête à exécuter qu’ils seront remplacés par la valeur des variables
passées au niveau de la méthode execute.

C bout de code permet d’insérer un nouveau client dont les informations sont stockées dans les variables php $nom,
$prenom, $adresse et $CIN. Ces données peuvent être récupérées via $_POST au niveau d’un formulaire.
Chapitre 4: Le langage PHP Les bases de données mysql

 Modifier des données en utilisant des marqueurs

Ce bout de code permet de modifier le montant du compte dont le numéro est stocké dans
$numC.
La nouvelle valeur du montant est stockée dans $m.

 Supprimer des données en utilisant des marqueurs

Ce bout de code permet de supprimer le compte du client dont le CIN est $CIN.

Vous aimerez peut-être aussi