SlideShare une entreprise Scribd logo
1  sur  48
Télécharger pour lire hors ligne
Initiation au
PHP
Cédric Leclinche
Qu’est-ce que PHP ?
 PHP: Hypertext Processor
 Langage de programmation libre
 Utilisé principalement pour créer des
pages web dynamiques
2
Historique
 Créé par Rasmus Lerdorf en 1994
 Sortie de la version 3 de PHP en 1998 par
Andi Gutmans et Zeev Suraski
 Réécriture du moteur interne de PHP
baptisé Zend Engine
 Sortie de la version 4 de PHP en 2000
 Sortie de la version 5 de PHP en 2004
 Prochaine version : PHP 7
3
Qui utilise PHP ?
 75% de parts de marché
 Plus de 200 millions de sites en PHP
 Ils utilisent PHP :
4
Qu’est-ce que ça peut faire ?
 Création de sites web dynamiques
 Création de scripts
 Exemples d’applications :
5
Comment ça marche ?
 Architecture client/serveur
 Langage interprété côté serveur
 Génère du code HTML
6
Comment ça marche ?
 Cas site statique
 Cas site dynamique
7
De quoi a-t-on besoin ?
 Serveur HTTP (Apache, Nginx, Lighttpd…)
 Serveur PHP
 Serveur de base de données (MySQL,
PostgreSQL, Oracle…)
8
De quoi a-t-on besoin ?
 Sous Windows : WAMP, EasyPHP
 Sous MAC : MAMP
 Sous Linux : XAMPP
9
Installer
 Télécharger wampserver sur le site
http://www.wampserver.com/
 Installer en double-cliquant dessus et se
laisser guider
 Lancer le logiciel et aller à la page
http://localhost dans votre navigateur
10
Remarques
 Les fichiers sont à mettre dans le dossier
wamp/www/
 Apache fonctionne sur le port 80 –
attention de ne pas avoir une application
qui l’utilise
11
Tester sans installer
 Serveur web portable (usbwebserver,
server2go…)
 Application en ligne (ideone,
writecodeonline)
12
Les bases de PHP
 Fichiers .php
 Commencent par <?php et finissent par
?>
 Afficher des informations avec « echo »
13
Exemple de page avec PHP
14
Inclure des fichiers
 Inclure fichier PHP dans un autre fichier
PHP
 Syntaxe : include(‘fichier.php’) ou
require(‘fichier.php’)
 Différence : require arrête le script si le
fichier est introuvable
15
Les commentaires
 Ligne qui ne sera pas interprétée par le
serveur
 Commentaire sur une seule ligne
 Commentaire multi-lignes
16
Les variables
 Espace de stockage pour une information
temporaire
 Afficher des variables, les modifier, réaliser
des opérations dessus
 Déclaration : $variable
17
Exemple
Cet exemple va afficher « Hello world »
18
Les types de variables
 Chaînes de caractères
Exemple : $var = « Hello world » ou $var =‘Hello
world‘;
 Numériques
Exemple : $var = 5;
 Booléens
Exemple : $var = true; ou $var = false;
19
Opérations sur les variables
 Opérations classiques : +, -, *, /
 Reste de la division entière: %
 Concaténation : mettre bout à bout
plusieurs chaînes de caractères
En PHP on utilise le « . »
20
Exemple
Affichage de la différence de deux
variables
21
Exemple
Concaténation de deux chaînes
22
Remarques
  devant un ‘ dans une chaîne de
caractère avec guillemets simples
 ‘ ‘ est une chaîne de caractère avec un
espace
23
Les tableaux
 Enregistrer plusieurs informations dans une
seule variable
 2 types de tableau :
 Tableau numéroté
 Tableau associatif
24
Tableau numéroté
 Associe une valeur à un nombre
(commence par l’index 0)
 Syntaxe : array(‘valeur 1’, ‘valeur 2’)
Clé Valeur
0 valeur 1
1 valeur 2
25
Tableau associatif
 Associe une valeur à une clé
 Syntaxe : array(‘clé 1’ => ‘valeur 1’, ‘clé 2’
=> ‘valeur 2’)
Clé Valeur
clé 1 valeur 1
clé 2 valeur 2
26
Les tableaux
 Récupérer une information :
$tableau[‘clé’]
27
Les conditions
 Définition : Exécute certaines instructions si
la condition est vérifiée
 Syntaxe
«$a == $b» teste si les 2 variables sont égales
«$a != $b» teste si les 2 variables sont
différentes
«$a <= $b» teste si a est plus petit ou égal à b
28
Exemple
29
Les boucles
 Définition : Exécute plusieurs fois certaines
instructions si la condition est vérifiée
 3 types de boucle :
- while
- for
- do… while
30
Boucle while
 Syntaxe : while(condition){instructions}
31
Boucle do… while
 Syntaxe : do{instructions} while(condition);
 Exécution au-moins une fois
 Même principe que la boucle while mais
condition vérifiée à la fin et non au début
32
Boucle for
 Syntaxe : for(initialisation; condition; pas)
33
Les fonctions
 Définition : Série d’instructions réutilisable
 Fonctions disponibles : count(), unset(),
var_dump(), isset(), empty()…
https://php.net/manual/fr/funcref.php
34
Créer fonction
 Syntaxe :
function nom(argument){instructions}
35
Transmettre des données
 En passant par l’URL
 En passant par un formulaire
36
Avec l’URL
 http://www.adresse-du-
site.com/hello.php?prenom=Jack&nom=S
parrow
 Variable superglobale $_GET : tableau
avec les paramètres dans l’URL
Clé Valeur
prenom Jack
age Sparrow
37
Exemple d’utilisation
38
Avec un formulaire
 Utilisation d’un formulaire :
 Variable superglobale $_POST : tableau
avec les paramètres envoyées par le
formulaire
Clé Valeur
utilisateur admin
password admin
39
Exemple d’utilisation
 Page avec le formulaire
 Page site.php :
40
Les sessions
 Sauvegarde de variables sur le serveur
 Permettent de conserver des données sur
plusieurs pages
 Utilisées notamment pour les connexions
utilisateurs
41
Comment les utiliser ?
 session_start() avant tout code html pour
ouvrir la session
 $_SESSION[‘cle’] = ‘valeur’
 echo $_SESSION[‘cle’]
 Session_destroy() pour fermer la session
42
Les cookies
 Fichier enregistré sur l’ordinateur du
visiteur
 Retenir informations sur le visiteur
 Utilisés par exemple par les « Se souvenir
de moi »
43
Comment les utiliser ?
 setCookie(‘clé’, ‘valeur’, duree) avant
tout code html
 Exemple
 echo $_COOKIE[‘clé’]
44
Aller plus loin
 Lecture/Écriture dans des fichiers
 Connexion à des bases de données
 PHP CLI (Commande Line Interface)
45
Avez-vous des questions ?
46
Atelier – Création d’un
formulaire de connexion
 Création de deux pages : un formulaire et
une page avec le site
 Affichage du site avec le nom d’utilisateur
si jamais le mot de passe est correct
 Si le mot de passe est faux on redirige vers
le formulaire
47
Atelier – Aller plus loin
 Authentifier l’utilisateur
 Ajouter un message si le mot de passe est
faux
 Ajouter un case à cocher « Se souvenir de
moi »
48

Contenu connexe

Tendances

Chapitre i introduction et motivations
Chapitre i introduction et motivationsChapitre i introduction et motivations
Chapitre i introduction et motivationsSana Aroussi
 
Expose linux gestion des processus
Expose linux  gestion des processusExpose linux  gestion des processus
Expose linux gestion des processusFatima Zahra Fagroud
 
Support du cours : Programmation Web 2
Support du cours : Programmation Web 2Support du cours : Programmation Web 2
Support du cours : Programmation Web 2Faycel Chaoua
 
Tp1 - Initiation à Java-Eclipse
Tp1 - Initiation à Java-EclipseTp1 - Initiation à Java-Eclipse
Tp1 - Initiation à Java-EclipseLilia Sfaxi
 
Cours python avancé
Cours python avancéCours python avancé
Cours python avancépierrepo
 
Présentation sécurité informatique naceur chafroud de cynapsys
Présentation sécurité informatique naceur chafroud de cynapsysPrésentation sécurité informatique naceur chafroud de cynapsys
Présentation sécurité informatique naceur chafroud de cynapsysJihen KOCHBATI
 
FormationPython2019.pptx
FormationPython2019.pptxFormationPython2019.pptx
FormationPython2019.pptxLamissGhoul1
 
Présentation de Django @ Orange Labs (FR)
Présentation de Django @ Orange Labs (FR)Présentation de Django @ Orange Labs (FR)
Présentation de Django @ Orange Labs (FR)Martin Latrille
 
Introduction à l’orienté objet en Python
Introduction à l’orienté objet en PythonIntroduction à l’orienté objet en Python
Introduction à l’orienté objet en PythonAbdoulaye Dieng
 
Cours algo: Les pointeurs
Cours algo: Les pointeursCours algo: Les pointeurs
Cours algo: Les pointeursSana REFAI
 
Admin linux utilisateurs_et_groupes cours 1
Admin linux utilisateurs_et_groupes cours 1Admin linux utilisateurs_et_groupes cours 1
Admin linux utilisateurs_et_groupes cours 1Mehdi Bouihi
 
Correction Examen 2016-2017 POO .pdf
Correction Examen 2016-2017 POO .pdfCorrection Examen 2016-2017 POO .pdf
Correction Examen 2016-2017 POO .pdfslimyaich3
 

Tendances (20)

COURS_PYTHON_22.ppt
COURS_PYTHON_22.pptCOURS_PYTHON_22.ppt
COURS_PYTHON_22.ppt
 
Python avancé : Classe et objet
Python avancé : Classe et objetPython avancé : Classe et objet
Python avancé : Classe et objet
 
Les collections en Java
Les collections en JavaLes collections en Java
Les collections en Java
 
Chapitre i introduction et motivations
Chapitre i introduction et motivationsChapitre i introduction et motivations
Chapitre i introduction et motivations
 
Expose linux gestion des processus
Expose linux  gestion des processusExpose linux  gestion des processus
Expose linux gestion des processus
 
Support du cours : Programmation Web 2
Support du cours : Programmation Web 2Support du cours : Programmation Web 2
Support du cours : Programmation Web 2
 
Tp1 - Initiation à Java-Eclipse
Tp1 - Initiation à Java-EclipseTp1 - Initiation à Java-Eclipse
Tp1 - Initiation à Java-Eclipse
 
Cours python avancé
Cours python avancéCours python avancé
Cours python avancé
 
Présentation sécurité informatique naceur chafroud de cynapsys
Présentation sécurité informatique naceur chafroud de cynapsysPrésentation sécurité informatique naceur chafroud de cynapsys
Présentation sécurité informatique naceur chafroud de cynapsys
 
FormationPython2019.pptx
FormationPython2019.pptxFormationPython2019.pptx
FormationPython2019.pptx
 
Présentation de Django @ Orange Labs (FR)
Présentation de Django @ Orange Labs (FR)Présentation de Django @ Orange Labs (FR)
Présentation de Django @ Orange Labs (FR)
 
Python avancé : Lecture et écriture de fichiers
Python avancé : Lecture et écriture de fichiersPython avancé : Lecture et écriture de fichiers
Python avancé : Lecture et écriture de fichiers
 
Introduction à l’orienté objet en Python
Introduction à l’orienté objet en PythonIntroduction à l’orienté objet en Python
Introduction à l’orienté objet en Python
 
Cours algo: Les pointeurs
Cours algo: Les pointeursCours algo: Les pointeurs
Cours algo: Les pointeurs
 
Admin linux utilisateurs_et_groupes cours 1
Admin linux utilisateurs_et_groupes cours 1Admin linux utilisateurs_et_groupes cours 1
Admin linux utilisateurs_et_groupes cours 1
 
Correction Examen 2016-2017 POO .pdf
Correction Examen 2016-2017 POO .pdfCorrection Examen 2016-2017 POO .pdf
Correction Examen 2016-2017 POO .pdf
 
Tp n 3 linux
Tp n 3 linuxTp n 3 linux
Tp n 3 linux
 
Protection contre l'ARP poisoning et MITM
Protection contre l'ARP poisoning et MITMProtection contre l'ARP poisoning et MITM
Protection contre l'ARP poisoning et MITM
 
Plsql
PlsqlPlsql
Plsql
 
Tp n 4 linux
Tp n 4 linuxTp n 4 linux
Tp n 4 linux
 

Similaire à Initiation au php

Similaire à Initiation au php (20)

Php & My Sql
Php & My SqlPhp & My Sql
Php & My Sql
 
Php & My Sql
Php & My SqlPhp & My Sql
Php & My Sql
 
Cours Programmation web en PHP Cours Programmation web en PHP
Cours Programmation web en PHP Cours Programmation web en PHPCours Programmation web en PHP Cours Programmation web en PHP
Cours Programmation web en PHP Cours Programmation web en PHP
 
Php1
Php1Php1
Php1
 
PHP Training
PHP TrainingPHP Training
PHP Training
 
Cours php
Cours php Cours php
Cours php
 
Developpement web dynamique_Base de donnees.pdf
Developpement web dynamique_Base de donnees.pdfDeveloppement web dynamique_Base de donnees.pdf
Developpement web dynamique_Base de donnees.pdf
 
La première partie de la présentation PHP
La première partie de la présentation PHPLa première partie de la présentation PHP
La première partie de la présentation PHP
 
cours-gratuit.com--CoursPhp-id1055.ppt
cours-gratuit.com--CoursPhp-id1055.pptcours-gratuit.com--CoursPhp-id1055.ppt
cours-gratuit.com--CoursPhp-id1055.ppt
 
Cours3-PHPfgdwfwdffhddfbwdfwdfwdfwdfwfw.pdf
Cours3-PHPfgdwfwdffhddfbwdfwdfwdfwdfwfw.pdfCours3-PHPfgdwfwdffhddfbwdfwdfwdfwdfwfw.pdf
Cours3-PHPfgdwfwdffhddfbwdfwdfwdfwdfwfw.pdf
 
Cours php & Mysql - 1ére partie
Cours php & Mysql - 1ére partieCours php & Mysql - 1ére partie
Cours php & Mysql - 1ére partie
 
PHP.pptx
PHP.pptxPHP.pptx
PHP.pptx
 
Forma php
Forma phpForma php
Forma php
 
Formation php 1
Formation php 1Formation php 1
Formation php 1
 
Formation php 1
Formation php 1Formation php 1
Formation php 1
 
Resume SGBDR
Resume SGBDRResume SGBDR
Resume SGBDR
 
PHP mysql Xml.doc
PHP mysql Xml.docPHP mysql Xml.doc
PHP mysql Xml.doc
 
PHP mysql Xml.pdf
PHP mysql Xml.pdfPHP mysql Xml.pdf
PHP mysql Xml.pdf
 
PHP (Partie I) Par Mahdi Ben Alaya
PHP (Partie I) Par Mahdi Ben AlayaPHP (Partie I) Par Mahdi Ben Alaya
PHP (Partie I) Par Mahdi Ben Alaya
 
Programmation web cours php -- sahmi academy
Programmation web   cours php -- sahmi academyProgrammation web   cours php -- sahmi academy
Programmation web cours php -- sahmi academy
 

Plus de StrasWeb

Audit de site web
Audit de site webAudit de site web
Audit de site webStrasWeb
 
Initiation au référencement
 Initiation au référencement Initiation au référencement
Initiation au référencementStrasWeb
 
Construire et prototyper rapidement un concept d’application mobile
 Construire et prototyper rapidement un concept d’application mobile Construire et prototyper rapidement un concept d’application mobile
Construire et prototyper rapidement un concept d’application mobileStrasWeb
 
Les MOOC, apprendre autrement grâce à Internet
 Les MOOC, apprendre autrement grâce à Internet Les MOOC, apprendre autrement grâce à Internet
Les MOOC, apprendre autrement grâce à InternetStrasWeb
 
Écriture collaborative : est-on plus intelligents à plusieurs ?
Écriture collaborative : est-on plus intelligents à plusieurs ?Écriture collaborative : est-on plus intelligents à plusieurs ?
Écriture collaborative : est-on plus intelligents à plusieurs ?StrasWeb
 
Wikipédia pour les étudiants
Wikipédia pour les étudiantsWikipédia pour les étudiants
Wikipédia pour les étudiantsStrasWeb
 
E-marketing pour les débutants
E-marketing pour les débutantsE-marketing pour les débutants
E-marketing pour les débutantsStrasWeb
 
JavaScript
JavaScriptJavaScript
JavaScriptStrasWeb
 
Utiliser les réseaux sociaux pour communiquer
 Utiliser les réseaux sociaux pour communiquer Utiliser les réseaux sociaux pour communiquer
Utiliser les réseaux sociaux pour communiquerStrasWeb
 
Licences libres : utopie ou modèle économique ?
 Licences libres : utopie ou modèle économique ? Licences libres : utopie ou modèle économique ?
Licences libres : utopie ou modèle économique ?StrasWeb
 
Le web, c’est 99 % de typographie.
Le web, c’est 99 % de typographie.Le web, c’est 99 % de typographie.
Le web, c’est 99 % de typographie.StrasWeb
 
Jquery - introduction au langage
Jquery - introduction au langageJquery - introduction au langage
Jquery - introduction au langageStrasWeb
 
L'auto hébergement
L'auto hébergementL'auto hébergement
L'auto hébergementStrasWeb
 
Naviguer en sécurité
Naviguer en sécuritéNaviguer en sécurité
Naviguer en sécuritéStrasWeb
 
Introduction aux principes du Responsive Web Design
 Introduction aux principes du Responsive Web Design Introduction aux principes du Responsive Web Design
Introduction aux principes du Responsive Web DesignStrasWeb
 
Héberger son site web
Héberger son site webHéberger son site web
Héberger son site webStrasWeb
 
Les tendances du webdesign
Les tendances du webdesignLes tendances du webdesign
Les tendances du webdesignStrasWeb
 
Initiation au CSS
Initiation au CSSInitiation au CSS
Initiation au CSSStrasWeb
 
Typographie pour le Web
Typographie pour le WebTypographie pour le Web
Typographie pour le WebStrasWeb
 
Découverte des licences libres
Découverte des licences libresDécouverte des licences libres
Découverte des licences libresStrasWeb
 

Plus de StrasWeb (20)

Audit de site web
Audit de site webAudit de site web
Audit de site web
 
Initiation au référencement
 Initiation au référencement Initiation au référencement
Initiation au référencement
 
Construire et prototyper rapidement un concept d’application mobile
 Construire et prototyper rapidement un concept d’application mobile Construire et prototyper rapidement un concept d’application mobile
Construire et prototyper rapidement un concept d’application mobile
 
Les MOOC, apprendre autrement grâce à Internet
 Les MOOC, apprendre autrement grâce à Internet Les MOOC, apprendre autrement grâce à Internet
Les MOOC, apprendre autrement grâce à Internet
 
Écriture collaborative : est-on plus intelligents à plusieurs ?
Écriture collaborative : est-on plus intelligents à plusieurs ?Écriture collaborative : est-on plus intelligents à plusieurs ?
Écriture collaborative : est-on plus intelligents à plusieurs ?
 
Wikipédia pour les étudiants
Wikipédia pour les étudiantsWikipédia pour les étudiants
Wikipédia pour les étudiants
 
E-marketing pour les débutants
E-marketing pour les débutantsE-marketing pour les débutants
E-marketing pour les débutants
 
JavaScript
JavaScriptJavaScript
JavaScript
 
Utiliser les réseaux sociaux pour communiquer
 Utiliser les réseaux sociaux pour communiquer Utiliser les réseaux sociaux pour communiquer
Utiliser les réseaux sociaux pour communiquer
 
Licences libres : utopie ou modèle économique ?
 Licences libres : utopie ou modèle économique ? Licences libres : utopie ou modèle économique ?
Licences libres : utopie ou modèle économique ?
 
Le web, c’est 99 % de typographie.
Le web, c’est 99 % de typographie.Le web, c’est 99 % de typographie.
Le web, c’est 99 % de typographie.
 
Jquery - introduction au langage
Jquery - introduction au langageJquery - introduction au langage
Jquery - introduction au langage
 
L'auto hébergement
L'auto hébergementL'auto hébergement
L'auto hébergement
 
Naviguer en sécurité
Naviguer en sécuritéNaviguer en sécurité
Naviguer en sécurité
 
Introduction aux principes du Responsive Web Design
 Introduction aux principes du Responsive Web Design Introduction aux principes du Responsive Web Design
Introduction aux principes du Responsive Web Design
 
Héberger son site web
Héberger son site webHéberger son site web
Héberger son site web
 
Les tendances du webdesign
Les tendances du webdesignLes tendances du webdesign
Les tendances du webdesign
 
Initiation au CSS
Initiation au CSSInitiation au CSS
Initiation au CSS
 
Typographie pour le Web
Typographie pour le WebTypographie pour le Web
Typographie pour le Web
 
Découverte des licences libres
Découverte des licences libresDécouverte des licences libres
Découverte des licences libres
 

Initiation au php

  • 2. Qu’est-ce que PHP ?  PHP: Hypertext Processor  Langage de programmation libre  Utilisé principalement pour créer des pages web dynamiques 2
  • 3. Historique  Créé par Rasmus Lerdorf en 1994  Sortie de la version 3 de PHP en 1998 par Andi Gutmans et Zeev Suraski  Réécriture du moteur interne de PHP baptisé Zend Engine  Sortie de la version 4 de PHP en 2000  Sortie de la version 5 de PHP en 2004  Prochaine version : PHP 7 3
  • 4. Qui utilise PHP ?  75% de parts de marché  Plus de 200 millions de sites en PHP  Ils utilisent PHP : 4
  • 5. Qu’est-ce que ça peut faire ?  Création de sites web dynamiques  Création de scripts  Exemples d’applications : 5
  • 6. Comment ça marche ?  Architecture client/serveur  Langage interprété côté serveur  Génère du code HTML 6
  • 7. Comment ça marche ?  Cas site statique  Cas site dynamique 7
  • 8. De quoi a-t-on besoin ?  Serveur HTTP (Apache, Nginx, Lighttpd…)  Serveur PHP  Serveur de base de données (MySQL, PostgreSQL, Oracle…) 8
  • 9. De quoi a-t-on besoin ?  Sous Windows : WAMP, EasyPHP  Sous MAC : MAMP  Sous Linux : XAMPP 9
  • 10. Installer  Télécharger wampserver sur le site http://www.wampserver.com/  Installer en double-cliquant dessus et se laisser guider  Lancer le logiciel et aller à la page http://localhost dans votre navigateur 10
  • 11. Remarques  Les fichiers sont à mettre dans le dossier wamp/www/  Apache fonctionne sur le port 80 – attention de ne pas avoir une application qui l’utilise 11
  • 12. Tester sans installer  Serveur web portable (usbwebserver, server2go…)  Application en ligne (ideone, writecodeonline) 12
  • 13. Les bases de PHP  Fichiers .php  Commencent par <?php et finissent par ?>  Afficher des informations avec « echo » 13
  • 14. Exemple de page avec PHP 14
  • 15. Inclure des fichiers  Inclure fichier PHP dans un autre fichier PHP  Syntaxe : include(‘fichier.php’) ou require(‘fichier.php’)  Différence : require arrête le script si le fichier est introuvable 15
  • 16. Les commentaires  Ligne qui ne sera pas interprétée par le serveur  Commentaire sur une seule ligne  Commentaire multi-lignes 16
  • 17. Les variables  Espace de stockage pour une information temporaire  Afficher des variables, les modifier, réaliser des opérations dessus  Déclaration : $variable 17
  • 18. Exemple Cet exemple va afficher « Hello world » 18
  • 19. Les types de variables  Chaînes de caractères Exemple : $var = « Hello world » ou $var =‘Hello world‘;  Numériques Exemple : $var = 5;  Booléens Exemple : $var = true; ou $var = false; 19
  • 20. Opérations sur les variables  Opérations classiques : +, -, *, /  Reste de la division entière: %  Concaténation : mettre bout à bout plusieurs chaînes de caractères En PHP on utilise le « . » 20
  • 21. Exemple Affichage de la différence de deux variables 21
  • 23. Remarques  devant un ‘ dans une chaîne de caractère avec guillemets simples  ‘ ‘ est une chaîne de caractère avec un espace 23
  • 24. Les tableaux  Enregistrer plusieurs informations dans une seule variable  2 types de tableau :  Tableau numéroté  Tableau associatif 24
  • 25. Tableau numéroté  Associe une valeur à un nombre (commence par l’index 0)  Syntaxe : array(‘valeur 1’, ‘valeur 2’) Clé Valeur 0 valeur 1 1 valeur 2 25
  • 26. Tableau associatif  Associe une valeur à une clé  Syntaxe : array(‘clé 1’ => ‘valeur 1’, ‘clé 2’ => ‘valeur 2’) Clé Valeur clé 1 valeur 1 clé 2 valeur 2 26
  • 27. Les tableaux  Récupérer une information : $tableau[‘clé’] 27
  • 28. Les conditions  Définition : Exécute certaines instructions si la condition est vérifiée  Syntaxe «$a == $b» teste si les 2 variables sont égales «$a != $b» teste si les 2 variables sont différentes «$a <= $b» teste si a est plus petit ou égal à b 28
  • 30. Les boucles  Définition : Exécute plusieurs fois certaines instructions si la condition est vérifiée  3 types de boucle : - while - for - do… while 30
  • 31. Boucle while  Syntaxe : while(condition){instructions} 31
  • 32. Boucle do… while  Syntaxe : do{instructions} while(condition);  Exécution au-moins une fois  Même principe que la boucle while mais condition vérifiée à la fin et non au début 32
  • 33. Boucle for  Syntaxe : for(initialisation; condition; pas) 33
  • 34. Les fonctions  Définition : Série d’instructions réutilisable  Fonctions disponibles : count(), unset(), var_dump(), isset(), empty()… https://php.net/manual/fr/funcref.php 34
  • 35. Créer fonction  Syntaxe : function nom(argument){instructions} 35
  • 36. Transmettre des données  En passant par l’URL  En passant par un formulaire 36
  • 37. Avec l’URL  http://www.adresse-du- site.com/hello.php?prenom=Jack&nom=S parrow  Variable superglobale $_GET : tableau avec les paramètres dans l’URL Clé Valeur prenom Jack age Sparrow 37
  • 39. Avec un formulaire  Utilisation d’un formulaire :  Variable superglobale $_POST : tableau avec les paramètres envoyées par le formulaire Clé Valeur utilisateur admin password admin 39
  • 40. Exemple d’utilisation  Page avec le formulaire  Page site.php : 40
  • 41. Les sessions  Sauvegarde de variables sur le serveur  Permettent de conserver des données sur plusieurs pages  Utilisées notamment pour les connexions utilisateurs 41
  • 42. Comment les utiliser ?  session_start() avant tout code html pour ouvrir la session  $_SESSION[‘cle’] = ‘valeur’  echo $_SESSION[‘cle’]  Session_destroy() pour fermer la session 42
  • 43. Les cookies  Fichier enregistré sur l’ordinateur du visiteur  Retenir informations sur le visiteur  Utilisés par exemple par les « Se souvenir de moi » 43
  • 44. Comment les utiliser ?  setCookie(‘clé’, ‘valeur’, duree) avant tout code html  Exemple  echo $_COOKIE[‘clé’] 44
  • 45. Aller plus loin  Lecture/Écriture dans des fichiers  Connexion à des bases de données  PHP CLI (Commande Line Interface) 45
  • 47. Atelier – Création d’un formulaire de connexion  Création de deux pages : un formulaire et une page avec le site  Affichage du site avec le nom d’utilisateur si jamais le mot de passe est correct  Si le mot de passe est faux on redirige vers le formulaire 47
  • 48. Atelier – Aller plus loin  Authentifier l’utilisateur  Ajouter un message si le mot de passe est faux  Ajouter un case à cocher « Se souvenir de moi » 48