Vous êtes sur la page 1sur 42

Le langage PHP

Présenté par Rigel ADIKAN


PLAN
I- Historique et définition

II- Mise en place de l’environnement de développement

III- Variables, constantes, types de données

IV- Opérateurs numériques

V- Les tableaux

VI- Les instructions de contrôle

VII- Les fonctions


VIII-Les formulaires

IX- La programmation objet

X- Cookies et Session

XI- Introduction à MySQL

XII- Accès Objet MySQL avec PHP

XIII- PDO et MySQL


I- Historique et définition
Initialement appelé Personal Home Page, le langage PHP a été
développé à l’origine par Rasmus Lerdorf en 1994 pour enregistrer le
nombre de visiteurs sur son site. Il a vite été perfectionné par la
communauté Internet pour devenir un langage de script côté serveur, à la
fois très simple et très performant. Il s’interface parfaitement avec des
bases de données MySQL, mais peut aussi exploiter d’autres bases de
données (Informix, dBase, Oracle, SyBase, PostgreSQL...).

PHP signifie aujourd’hui Php Hypertext Preprocessor. Il permet de créer


des pages web dynamiques et interactives.
II- Mise en place de l’environnement de

développement
Pour contenir la masse d’informations collectées, PHP s’appuie généralement sur
une base de données, généralement MySQL mais aussi SQLite, et sur des serveurs
Apache.
PHP, MySQL et Apache forment d’ailleurs le trio ultradominant sur les serveurs
Internet. Quand ce trio est associé sur un serveur à Linux, on parle de système LAMP
(Linux, Apache, MySQL, PHP). PHP est utilisé aujourd’hui par plus des trois quarts des
sites dynamiques de la planète et par les trois quarts des grandes entreprises
françaises.

Pour un serveur Windows, on parle de système WAMP, mais ceci est beaucoup
moins courant. Voir : XAMP, MAMP
Il s’agira donc d’installer l’un de ces serveurs local afin d’interpréter du PHP.
III- Variables, constantes, types de données
❏ Variables
Une variable est le conteneur d’une valeur d’un des types utilisés par PHP
(entiers, flottants, chaînes de caractères, tableaux, booléens, objets, ressource ou
NULL). Chaque variable possède un identifiant particulier, qui commence toujours par
le caractère dollar ($) suivi du nom de la variable. Les règles de création des noms
de variable sont les suivantes :

● Le nom commence par un caractère alphabétique, pris dans les ensembles [a-z],
[AZ] ou par le caractère de soulignement (_)

● Les caractères suivants peuvent être les mêmes plus des chiffres.
● La longueur du nom n’est pas limitée, mais il convient d’être raisonnable sous
peine de confusion dans la saisie du code. Il est conseillé de créer des noms de
variable le plus « parlant » possible. En relisant le code contenant la variable
$nomClient, par exemple, vous comprenez davantage ce que vous manipulez
que si vous aviez écrit $x ou $y.

● La déclaration des variables n’est pas obligatoire en début de script. C’est là une
différence notable avec les langages fortement typés comme Java ou C. Vous
pouvez créer des variables n’importe où, à condition bien sûr de les créer avant
de les utiliser.
● L’initialisation des variables n’est pas non plus obligatoire et une variable non
initialisée n’a pas de type précis.

● Les noms des variables sont sensibles à la casse (majuscules et minuscules).


$mavar et $MaVar ne désignent donc pas la même variable.

❏ Les variables prédéfinies


PHP dispose d’un grand nombre de variables prédéfinies, qui contiennent des
informations à la fois sur le serveur et sur toutes les données qui peuvent transiter
entre le poste client et le serveur.
❏ Les constantes

➔ Définir des constantes personnalisées


Pour définir des constantes personnalisées, on utilise la fonction define() ou le mot
clé CONST.

Synthaxe 1 : boolean define(string nomCste, divers valeurCste, boolean casse)

Le paramètre casse vaut TRUE si le nom de la constante est insensible à la casse


et FALSE sinon. La fonction define() retourne TRUE si la constante a bien été définie et
FALSE en cas de problème, par exemple, si vous essayez de redéfinir une constante
existante, ce qui est interdit.
Toute tentative de modifier la valeur d’une constante en la redéfinissant provoque un
avertissement (warning) de la part du serveur.
Synthaxe 2 : CONST nomCste = valeurCste
➔ Les variables prédéfinies
❏ Les types de données

Les types scalaires de base Les types composés Les types scalaires de base

● integer ● array ● resource


● double ● object ● null
● float
● string
● boolean

➔ Déterminer le type d’une variable

La principale fonction permettant de déterminer le type d’une valeur est gettype(),


dont la syntaxe est la suivante : string gettype($mavar)
Voir : is_array(), is_integer(), is_bool(), is_scalar(), …
➔ Conversion de type

Pour convertir une variable d’un type dans un autre, utilisez la syntaxe suivante :

$result = (type_désiré) $mavar;

➔ Contrôler l’état d’une variable

Lors de l’envoi de données d’un formulaire vers le serveur, le script qui reçoit les
informations doit pouvoir détecter l’existence d’une réponse dans les champs du
formulaire. Les fonctions isset() et empty() permettent ce type de contrôle.
IV- Opérateurs numériques
Les opérateurs numériques connus dans les autres langages existent également
en php. Il s’agit de :

● + (Addition) ,
● - (Soustraction) ,
● * (Multiplication),
● / (Division),
● % (Modulo),
● -- (Décrémentation),
● ++ (Incrémentation)
V- Les tableaux
Un tableau peut être créé en utilisant la structure de langage array(). Il prend
un nombre illimité de paramètres, chacun séparé par une virgule, sous la forme
d'une paire key => value.

Exemple : Déclaration de
tableau
Les modifications de type suivantes surviendront pour la clé key :

● Les chaînes de caractères contenant un entier valide, sauf si le nombre est


précédé d'un signe + seront modifiées en un type entier. I.e. la clé "8" sera
actuellement stockée comme l'entier 8. D'un autre côté, "08" ne sera pas modifié,
sachant que ce n'est pas un entier décimal valide.
● Les nombres à virgule flottante seront aussi modifiés en entier, ce qui signifie que
la partie après la virgule sera tronquée. I.e. la clé 8.7 sera stockée sous l'entier 8.
● Les booléens seront modifiés en entier également, i.e. la clé true sera stockée
sous l'entier 1 et la clé false sous l'entier 0.
● La valeur Null sera modifiée en une chaîne vide, i.e. la clé null sera stockée sous
la chaîne de caractère "".
Exemple sur la modification de type et l’écrasement

Résultat affiché
Exemple sur les tableaux indexés

Résultat affiché
Exemple avec des clés sur seulement quelques éléments

Il est possible de spécifier la clé seulement pour quelques éléments et ne pas la


fournir pour d'autres :
Résultat affiché
VI- Les instructions de contrôle
● if ● continue

● else ● switch

● elseif/else if ● return

● while ● require

● do-while ● include

● for ● require_once

● foreach ● include_once

● break ● goto
Exemples avec goto

Résultat
Résultat
VII- Les fonctions
Une fonction est un bloc de code qui n’est pas exécuté de manière linéaire
dans un script. Ce code ne le sera que lors de l’appel explicite de la fonction. Écrit
une seule fois, ce code peut être exécuté aussi souvent que nécessaire. Cela allège
d’autant l’ensemble du code. Fonction récursive

Définition d’une fonction


VIII- Les formulaires
Phase pratique
IX- La programmation objet
Phase pratique
X-Cookies et Session
Cette section aborde les différentes méthodes qui permettent de conserver des
informations pour améliorer le service rendu par un site. Il peut s’agir de conserver des
choix fait par un visiteur entre deux visites pour adapter le contenu de la page
d’accueil aux besoins de ce dernier. C’est ce que permettent les cookies.

Il est en outre possible de conserver des informations saisies dans une page et
de les rendre accessibles à toutes les autres pages d’un même site. Le mécanisme de
session autorise ce type d’action, qui est à la base de la gestion de panier utilisée sur
tous les sites de commerce en ligne.
Ecriture des cookies

Pour écrire un cookie, comme pour envoyer des en-têtes au moyen de la


fonction header() , il est impératif qu’aucun contenu HTML n’ait été envoyé au poste
client avant l’écriture du cookie. Autrement dit, aucune instruction PHP d’affichage, ne
serait-ce que pour afficher un seul caractère, ne doit figurer dans le script avant la
fonction qui va créer le cookie.
Pour écrire un cookie, vous utilisez la fonction suivante :

boolean setcookie(string nom_cookie,[string valeur, integer datefin, string


chemin, string domaine, integer securite] )
Les paramètres de la fonction setcookie() sont les suivants :

● nom_cookie
C’‘est une chaîne définissant le nom du cookie. Ce nom obéissant aux mêmes
règles de nommage que les variables, il faut éviter les caractères spéciaux. Ce nom
sert à identifier le cookie pour les opérations de lecture de leur contenu.

● valeur :
Contient la valeur associée au cookie. Il s’agit d’une chaîne de caractères,
même pour un nombre. Il y a donc lieu d’effectuer au besoin un transtypage pour
effectuer des calculs avec cette valeur.
● datefin :
C’est un entier qui permet de stocker un timestamp UNIX exprimé en seconde
(voir le chapitre 8) définissant la date à partir de laquelle le cookie n’est plus utilisable.
Si ce paramètre est omis, le cookie n’est valable que pendant le temps de
connexion du visiteur sur le site. Pour définir cette date, vous utilisez le plus souvent
la fonction time() , qui donne le timestamp en cours, auquel vous ajoutez la durée
désirée par un nombre de seconde. Pour une durée de validité de vingt-quatre
heures, par exemple, vous écrivez time() +86400 .
● chemin :
définit dans une chaîne le chemin d’accès aux dossiers qui contiennent les
scripts autorisés à accéder au cookie. Les scripts contenus dans les
sous-dossiers éventuels de ce dossier ont également accès au cookie. Si la
valeur est / , le cookie est lisible sur l’ensemble du domaine domaine . Si la
valeur est /repertoire/ , le cookie est uniquement lisible dans le répertoire
/repertoire/ ainsi que tous ses sous-répertoires ( /repertoire/sousrep/ par
exemple) du domaine domaine . La valeur par défaut est le répertoire qui
contient le script ayant créé le cookie.
● domaine :
définit le nom entier du domaine à partir duquel vous pouvez accéder au
cookie. Vous écrivez, par exemple, www.mondomaine.com , et non
mondomaine.com seulement. Lorsque ce nom de domaine est le même que celui
qui a créé le cookie, ce qui est le cas le plus fréquent, vous pouvez omettre ce
paramètre.
● securite
C’est une valeur de type boolean qui vaut TRUE (ou la valeur 1) si le cookie doit
être transmis par une connexion sécurisée (avec une adresse du type
https://www.mondomaine.com ) et FALSE (ou la valeur 0) dans le cas contraire, qui est
la valeur par défaut.

La fonction setcookie() renvoie une valeur booléenne TRUE qui permet de contrôler si
l’écriture du cookie a eu lieu et FALSE en cas de problème (si le navigateur client refuse
les cookies, par exemple).

Vous aimerez peut-être aussi