SlideShare une entreprise Scribd logo
1  sur  48
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

Introduction au web cours.pdf
Introduction au web cours.pdfIntroduction au web cours.pdf
Introduction au web cours.pdfElomyakobi
 
Notions de base de JavaScript
Notions de base de JavaScriptNotions de base de JavaScript
Notions de base de JavaScriptKristen Le Liboux
 
Chapitre1: Langage Python
Chapitre1: Langage PythonChapitre1: Langage Python
Chapitre1: Langage PythonAziz Darouichi
 
Base de Données Chapitre I .pptx
Base de Données Chapitre I .pptxBase de Données Chapitre I .pptx
Base de Données Chapitre I .pptxAbdoulayeTraore48
 
Introduction à l’orienté objet en Python
Introduction à l’orienté objet en PythonIntroduction à l’orienté objet en Python
Introduction à l’orienté objet en PythonAbdoulaye Dieng
 
Gestion des utilisateurs et groupes / Users & groups management
Gestion des utilisateurs et groupes / Users & groups managementGestion des utilisateurs et groupes / Users & groups management
Gestion des utilisateurs et groupes / Users & groups managementABDELLAH EL MAMOUN
 
resume-theorique-m104-0401-61d5b38b21f67 (1).pptx
resume-theorique-m104-0401-61d5b38b21f67 (1).pptxresume-theorique-m104-0401-61d5b38b21f67 (1).pptx
resume-theorique-m104-0401-61d5b38b21f67 (1).pptxFootballLovers9
 
JNDI Java Naming Derectory Interfaces
JNDI Java Naming Derectory InterfacesJNDI Java Naming Derectory Interfaces
JNDI Java Naming Derectory Interfacesbenouini rachid
 
formation word 2010 partie 1.ppt
formation word 2010 partie 1.pptformation word 2010 partie 1.ppt
formation word 2010 partie 1.ppthamza536322
 
Intelligence Artificielle - Algorithmes de recherche
Intelligence Artificielle - Algorithmes de rechercheIntelligence Artificielle - Algorithmes de recherche
Intelligence Artificielle - Algorithmes de rechercheMohamed Heny SELMI
 
Alphorm.com Formation Laravel : Construire une Application de A à Z
Alphorm.com Formation Laravel : Construire une Application de A à ZAlphorm.com Formation Laravel : Construire une Application de A à Z
Alphorm.com Formation Laravel : Construire une Application de A à ZAlphorm
 
cours javascript.pptx
cours javascript.pptxcours javascript.pptx
cours javascript.pptxYaminaGh1
 
Créer des applications Java avec MongoDB
Créer des applications Java avec MongoDBCréer des applications Java avec MongoDB
Créer des applications Java avec MongoDBMongoDB
 
Session 3 : Réaliser une veille manuelle
Session 3 : Réaliser une veille manuelleSession 3 : Réaliser une veille manuelle
Session 3 : Réaliser une veille manuelleBachr
 

Tendances (20)

Introduction au web cours.pdf
Introduction au web cours.pdfIntroduction au web cours.pdf
Introduction au web cours.pdf
 
LES JOINTURES
LES JOINTURESLES JOINTURES
LES JOINTURES
 
Notions de base de JavaScript
Notions de base de JavaScriptNotions de base de JavaScript
Notions de base de JavaScript
 
Introduction au langage SQL
Introduction au langage SQLIntroduction au langage SQL
Introduction au langage SQL
 
Introduction à la Conception et Evaluation des IHM
Introduction à la Conception et Evaluation des IHMIntroduction à la Conception et Evaluation des IHM
Introduction à la Conception et Evaluation des IHM
 
Chapitre1: Langage Python
Chapitre1: Langage PythonChapitre1: Langage Python
Chapitre1: Langage Python
 
Base de Données Chapitre I .pptx
Base de Données Chapitre I .pptxBase de Données Chapitre I .pptx
Base de Données Chapitre I .pptx
 
Introduction à l’orienté objet en Python
Introduction à l’orienté objet en PythonIntroduction à l’orienté objet en Python
Introduction à l’orienté objet en Python
 
MongoDB.pptx
MongoDB.pptxMongoDB.pptx
MongoDB.pptx
 
Gestion des utilisateurs et groupes / Users & groups management
Gestion des utilisateurs et groupes / Users & groups managementGestion des utilisateurs et groupes / Users & groups management
Gestion des utilisateurs et groupes / Users & groups management
 
resume-theorique-m104-0401-61d5b38b21f67 (1).pptx
resume-theorique-m104-0401-61d5b38b21f67 (1).pptxresume-theorique-m104-0401-61d5b38b21f67 (1).pptx
resume-theorique-m104-0401-61d5b38b21f67 (1).pptx
 
JNDI Java Naming Derectory Interfaces
JNDI Java Naming Derectory InterfacesJNDI Java Naming Derectory Interfaces
JNDI Java Naming Derectory Interfaces
 
formation word 2010 partie 1.ppt
formation word 2010 partie 1.pptformation word 2010 partie 1.ppt
formation word 2010 partie 1.ppt
 
Intelligence Artificielle - Algorithmes de recherche
Intelligence Artificielle - Algorithmes de rechercheIntelligence Artificielle - Algorithmes de recherche
Intelligence Artificielle - Algorithmes de recherche
 
Alphorm.com Formation Laravel : Construire une Application de A à Z
Alphorm.com Formation Laravel : Construire une Application de A à ZAlphorm.com Formation Laravel : Construire une Application de A à Z
Alphorm.com Formation Laravel : Construire une Application de A à Z
 
Python avancé : Classe et objet
Python avancé : Classe et objetPython avancé : Classe et objet
Python avancé : Classe et objet
 
Codeigniter
CodeigniterCodeigniter
Codeigniter
 
cours javascript.pptx
cours javascript.pptxcours javascript.pptx
cours javascript.pptx
 
Créer des applications Java avec MongoDB
Créer des applications Java avec MongoDBCréer des applications Java avec MongoDB
Créer des applications Java avec MongoDB
 
Session 3 : Réaliser une veille manuelle
Session 3 : Réaliser une veille manuelleSession 3 : Réaliser une veille manuelle
Session 3 : Réaliser une veille manuelle
 

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 php -partie 1.pdf
Cours php -partie 1.pdfCours php -partie 1.pdf
Cours php -partie 1.pdf
 
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
 
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
 
Php_Mysql.pdf
Php_Mysql.pdfPhp_Mysql.pdf
Php_Mysql.pdf
 

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