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

Alphorm.com Support Formation Hacking & Sécurité Expert Vulnérabilités Web
Alphorm.com Support Formation Hacking & Sécurité Expert Vulnérabilités WebAlphorm.com Support Formation Hacking & Sécurité Expert Vulnérabilités Web
Alphorm.com Support Formation Hacking & Sécurité Expert Vulnérabilités Web
Alphorm
 

Tendances (20)

Les collections en Java
Les collections en JavaLes collections en Java
Les collections en Java
 
Chap 6 : classes et interfaces
Chap 6 : classes et interfacesChap 6 : classes et interfaces
Chap 6 : classes et interfaces
 
Chapitre8: Collections et Enumerations En Java
Chapitre8: Collections et Enumerations En JavaChapitre8: Collections et Enumerations En Java
Chapitre8: Collections et Enumerations En Java
 
eServices-Tp1: Web Services
eServices-Tp1: Web ServiceseServices-Tp1: Web Services
eServices-Tp1: Web Services
 
Alphorm.com Support Formation Hacking & Sécurité Expert Vulnérabilités Web
Alphorm.com Support Formation Hacking & Sécurité Expert Vulnérabilités WebAlphorm.com Support Formation Hacking & Sécurité Expert Vulnérabilités Web
Alphorm.com Support Formation Hacking & Sécurité Expert Vulnérabilités Web
 
Python avancé : Gestion d'erreurs et mécanisme d'exception
Python avancé : Gestion d'erreurs et mécanisme d'exceptionPython avancé : Gestion d'erreurs et mécanisme d'exception
Python avancé : Gestion d'erreurs et mécanisme d'exception
 
Cours JavaScript
Cours JavaScriptCours JavaScript
Cours JavaScript
 
Programmation orientée objet : Object, classe et encapsulation
Programmation orientée objet : Object, classe et encapsulationProgrammation orientée objet : Object, classe et encapsulation
Programmation orientée objet : Object, classe et encapsulation
 
Fondamentaux d’une API REST
Fondamentaux d’une API RESTFondamentaux d’une API REST
Fondamentaux d’une API REST
 
Java Foundations: Data Types and Type Conversion
Java Foundations: Data Types and Type ConversionJava Foundations: Data Types and Type Conversion
Java Foundations: Data Types and Type Conversion
 
Support JEE Servlet Jsp MVC M.Youssfi
Support JEE Servlet Jsp MVC M.YoussfiSupport JEE Servlet Jsp MVC M.Youssfi
Support JEE Servlet Jsp MVC M.Youssfi
 
Examen principal - PHP
Examen principal - PHPExamen principal - PHP
Examen principal - PHP
 
Tp1 - WS avec JAXWS
Tp1 - WS avec JAXWSTp1 - WS avec JAXWS
Tp1 - WS avec JAXWS
 
Cours php & Mysql - 1ére partie
Cours php & Mysql - 1ére partieCours php & Mysql - 1ére partie
Cours php & Mysql - 1ére partie
 
Support Web Services SOAP et RESTful Mr YOUSSFI
Support Web Services SOAP et RESTful Mr YOUSSFISupport Web Services SOAP et RESTful Mr YOUSSFI
Support Web Services SOAP et RESTful Mr YOUSSFI
 
Java entreprise edition et industrialisation du génie logiciel par m.youssfi
Java entreprise edition et industrialisation du génie logiciel par m.youssfiJava entreprise edition et industrialisation du génie logiciel par m.youssfi
Java entreprise edition et industrialisation du génie logiciel par m.youssfi
 
Développement d'un site web jee de e commerce basé sur spring (m.youssfi)
Développement d'un site web jee de e commerce basé sur spring (m.youssfi)Développement d'un site web jee de e commerce basé sur spring (m.youssfi)
Développement d'un site web jee de e commerce basé sur spring (m.youssfi)
 
Support de cours Spring M.youssfi
Support de cours Spring  M.youssfiSupport de cours Spring  M.youssfi
Support de cours Spring M.youssfi
 
Développement d'applications pour la plateforme Java EE
Développement d'applications pour la plateforme Java EEDéveloppement d'applications pour la plateforme Java EE
Développement d'applications pour la plateforme Java EE
 
Algorithmique
AlgorithmiqueAlgorithmique
Algorithmique
 

Similaire à Initiation au php

chapitre 4-PHP5 module web part2 (1).pdf
chapitre 4-PHP5 module web part2 (1).pdfchapitre 4-PHP5 module web part2 (1).pdf
chapitre 4-PHP5 module web part2 (1).pdf
imaneeaouattahee
 

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
 
Php1
Php1Php1
Php1
 
PHP Training
PHP TrainingPHP Training
PHP Training
 
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
 
chapitre 4-PHP5 module web part2 (1).pdf
chapitre 4-PHP5 module web part2 (1).pdfchapitre 4-PHP5 module web part2 (1).pdf
chapitre 4-PHP5 module web part2 (1).pdf
 
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
 
php2 : formulaire-session-PDO
php2 : formulaire-session-PDOphp2 : formulaire-session-PDO
php2 : formulaire-session-PDO
 

Plus de StrasWeb

Wikipédia pour les étudiants
Wikipédia pour les étudiantsWikipédia pour les étudiants
Wikipédia pour les étudiants
StrasWeb
 

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