Introduction à PHP Saïd Radhouani Université de Genève avril 2008
Qu’est-ce que PHP Serveur Client Navigateur (Mozilla) clic Serveur web (Apache) PHP requête HTTP réponse
PHP ou HTML ? Serveur web (Apache) Navigateur web (Mozilla) HTTP Internet
PHP ou HTML ?  (2) <ul><li>Code PHP : « côté serveur » </li></ul><ul><li>Navigateur client : HTML </li></ul><ul><li>Conséq...
Bases du langage
Premier exemple <ul><li>Le fichier essai.php contient : </li></ul><ul><li>Le navigateur recevra la page HTML : </li></ul><...
Variables <ul><li>Les variables commencent toutes par un $ </li></ul><html> <body> <?php // mettons 10 dans $variable $var...
Boucles <ul><li>Comme dans tous les autres langages </li></ul><html> <body> <?php // l'intérêt du $ for  ( $i =0;  $i <4; ...
Principes de base <ul><li>Concaténer des chaînes de caractères => on utilise le point <?php $prenom  = &quot;Bill&quot;; $...
Principes de base <ul><li>Pour afficher la date : </li></ul><html> <body> <?php echo   date (&quot;d/m/Y&quot;); echo  &qu...
Deuxième exemple <html> <body> <?php // le mois de l'année: $month  =  date (&quot;m&quot;); if  (  $month  == &quot;07&qu...
Tableaux, fonctions
Tableaux <ul><li>Tableaux classiques (indicés par des entiers) </li></ul>$bonjour  =  array (&quot;ciao&quot;, &quot;couco...
Tableaux (suite) Tentons : $bonjour [&quot;informatique&quot;] = &quot;abc&quot;; $bonjour [10000] = &quot;xyz&quot;; On o...
La fonction foreach() <ul><li>Fonctionne comme une boucle for, mais parcourt tous les éléments d'un tableau <html><body> <...
Les fonctions <ul><li>Définir une fonction </li></ul>function  maxi(  $x ,  $y  ) { if  (  $x  >  $y  ) { return   $x ; } ...
Formulaires <ul><li>On utilise les formulaires HTML   balise  < form > </li></ul><ul><li>On récupère les données envoyées ...
Exemple de formulaire <ul><li>Code HTML classique : < form   action =&quot;traitement.php&quot;  method =&quot;get&quot;> ...
Ce qui donne :
Le code PHP <ul><li>On récupère les données et on les affiche (fichier traitement.php) <?php $age  =  $_GET [&quot;age&quo...
Résultat Les paramètres
Gestion des fichiers <ul><li>La fonction de base est la fonction  fopen( ) </li></ul><ul><ul><li>Ouvrir un fichier (le lir...
Gestion des fichiers <ul><li>Exemples : </li></ul><ul><ul><li>$fp = fopen(&quot;fichier.txt&quot;,&quot;r&quot;); //lectur...
Lecture dans un fichier <ul><li><?php </li></ul><ul><li>$monfichier = fopen(&quot;monfichier.txt&quot;,&quot;r&quot;);  </...
Écriture dans un fichier <ul><li>< ?php </li></ul><ul><li>$monfichier = fopen( &quot; monfichier.txt &quot; ,  &quot; w &q...
Inclure un fichier <ul><li>Fonction  include() </li></ul>haut.html : <html> <head> <title>Mon site</title> </head> <body> ...
Exemple du TP <ul><li>Récupérer les données d’un formulaire pour les utiliser dans une page </li></ul><ul><li>form1.php  :...
Pas de paramètres
Exemple du TP -  changer dynamiquement la couleur du fond de la page <ul><li>form1.php  : </li></ul><ul><li>  <form method...
Exemple du TP -  Protéger une page avec un mot de passe <ul><li>protegee.html  : « Vous  êtes sur une page protégée par un...
Exemple du TP - inclure des fichiers <html> <head> <title>Site dynamique en PHP</title> </head> <?php // Gestion de la cou...
Liens utiles <ul><li>www.php.net </li></ul><ul><li>http://fr.php.net/manual/fr/index.php </li></ul>
Prochain SlideShare
Chargement dans…5
×

Introduction à PHP

1 147 vues

Publié le

Programmation, développement Web

0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
1 147
Sur SlideShare
0
Issues des intégrations
0
Intégrations
77
Actions
Partages
0
Téléchargements
45
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Introduction à PHP

  1. 1. Introduction à PHP Saïd Radhouani Université de Genève avril 2008
  2. 2. Qu’est-ce que PHP Serveur Client Navigateur (Mozilla) clic Serveur web (Apache) PHP requête HTTP réponse
  3. 3. PHP ou HTML ? Serveur web (Apache) Navigateur web (Mozilla) HTTP Internet
  4. 4. PHP ou HTML ? (2) <ul><li>Code PHP : « côté serveur » </li></ul><ul><li>Navigateur client : HTML </li></ul><ul><li>Conséquence : le code source PHP est protégé </li></ul>
  5. 5. Bases du langage
  6. 6. Premier exemple <ul><li>Le fichier essai.php contient : </li></ul><ul><li>Le navigateur recevra la page HTML : </li></ul><html> <body> <?php echo &quot;bonjour &quot;; echo &quot;salut &quot;; echo 1+2*3; ?> <p> ci-dessus du php </p> </body> </html> <html> <body> bonjour salut 7 <p> ci-dessus du php </p> </body> </html> Tout le code PHP contenu entre les balises <?php et ?> est exécuté ligne à ligne. Les instructions se terminent par ; Ce qui se trouve hors des balises <?php et ?> est envoyé tel quel. Balises <?php code php ici ?> Instructions ex: echo &quot;du texte&quot; ;
  7. 7. Variables <ul><li>Les variables commencent toutes par un $ </li></ul><html> <body> <?php // mettons 10 dans $variable $variable = 10; // affichons $variable echo $variable ; echo &quot;<p>&quot;; echo 10 + 5.2; ?> </body> </html> <html> <body> 10<p>15.2 </body> </html>
  8. 8. Boucles <ul><li>Comme dans tous les autres langages </li></ul><html> <body> <?php // l'intérêt du $ for ( $i =0; $i <4; $i ++) { echo &quot; Number $i <br />n&quot;; } ?> </body> </html> <html> <body> Number 0 <br /> Number 1 <br /> Number 2 <br /> Number 3 <br /> </body> </html> Number 0 Number 1 Number 2 Number 3 Fichier .php présent sur le serveur Fichier tel qu’il est Reçu par le navigateur Rendu
  9. 9. Principes de base <ul><li>Concaténer des chaînes de caractères => on utilise le point <?php $prenom = &quot;Bill&quot;; $nom = &quot;Gates&quot;; $complet = $prenom .&quot; &quot;. $nom ; </li></ul><ul><li>echo $complet ; // affiche Bill Gates </li></ul><ul><li>echo $prenom .&quot; &quot;. $nom ; // idem ?> </li></ul>
  10. 10. Principes de base <ul><li>Pour afficher la date : </li></ul><html> <body> <?php echo date (&quot;d/m/Y&quot;); echo &quot;<br />n&quot;; echo &quot;<b>&quot;. date (&quot;H:m:s&quot;).&quot;</b>&quot;; echo &quot;<br />n&quot;; ?> </body> </html> <html> <body> 26/02/2007<br /> <b>13:02:56</b><br/> </body> </html> 15/04/2008 17:02:56 Fichier .php présent sur le serveur Fichier tel qu’il est Reçu par le navigateur Rendu
  11. 11. Deuxième exemple <html> <body> <?php // le mois de l'année: $month = date (&quot;m&quot;); if ( $month == &quot;07&quot; || $month == &quot;08&quot; ) { echo &quot;Bonnes vacances&quot;; } else { $restant = 7 - $month ; echo &quot;C'est les vacances dans <i> $restant </i> mois !&quot;; } ?> </body> </html> <html> <body> C'est les vacances dans <i>3</i> mois ! </body> </html> C'est les vacances dans 3 mois ! Fichier .php présent sur le serveur Fichier tel qu’il est Reçu par le navigateur Rendu
  12. 12. Tableaux, fonctions
  13. 13. Tableaux <ul><li>Tableaux classiques (indicés par des entiers) </li></ul>$bonjour = array (&quot;ciao&quot;, &quot;coucou&quot;, &quot;salut&quot;, &quot;hello&quot; ); echo $bonjour [2]; // affiche salut $rien = array (); Tableau à zéro élément : Tableau initialisé avec 4 éléments : On accède aux différents éléments comme suit : On peut modifier le contenu : $bonjour [2] = &quot;ciocio&quot;; echo $bonjour [2]; // affiche ciocio On récupère sa taille avec count() echo count ( $bonjour ) // affiche 4 0 ciao 1 coucou 2 salut 3 hello
  14. 14. Tableaux (suite) Tentons : $bonjour [&quot;informatique&quot;] = &quot;abc&quot;; $bonjour [10000] = &quot;xyz&quot;; On obtient tout simplement le tableau suivant : On accède à ses éléments comme avant : echo $bonjour [&quot;informatique&quot;]; // affiche &quot;abc&quot; On récupère toujours sa taille avec count() echo count ( $bonjour ); // affiche 6 0 ciao 1 coucou 2 ciocio 3 hello informatique abc 10000 xyz
  15. 15. La fonction foreach() <ul><li>Fonctionne comme une boucle for, mais parcourt tous les éléments d'un tableau <html><body> <?php $bureau = array(&quot;youni&quot;,&quot;jb&quot;,&quot;miky&quot;,&quot;andi&quot;); foreach ( $bureau as $surnom ) { echo &quot; $surnom est au <i>bureau</i> de FRED<br />n&quot;; } ?> </li></ul><ul><li></body></html> </li></ul>youni est au bureau de FRED jb est au bureau de FRED miky est au bureau de FRED andi est au bureau de FRED <html> <body> youni est au <i>bureau</i> de FRED<br /> jb est au <i>bureau</i> de FRED<br /> miky est au <i>bureau</i> de FRED<br /> andi est au <i>bureau</i> de FRED<br /> </body> </html>
  16. 16. Les fonctions <ul><li>Définir une fonction </li></ul>function maxi( $x , $y ) { if ( $x > $y ) { return $x ; } else { return $y ; } } Mot-clef function Syntaxe habituelle pour les arguments echo maxi( 3, 7 ); // affiche 7
  17. 17. Formulaires <ul><li>On utilise les formulaires HTML balise < form > </li></ul><ul><li>On récupère les données envoyées grâce aux variables globales </li></ul><ul><li>$_GET et $_POST </li></ul>
  18. 18. Exemple de formulaire <ul><li>Code HTML classique : < form action =&quot;traitement.php&quot; method =&quot;get&quot;> < p > Âge: < input type =&quot;text&quot; name =&quot;age&quot; /> < br /> École: < input type =&quot;text&quot; name =&quot;ecole&quot; /> < input type =&quot;submit&quot; value =&quot;OK&quot; /> </ p > </ form > </li></ul>
  19. 19. Ce qui donne :
  20. 20. Le code PHP <ul><li>On récupère les données et on les affiche (fichier traitement.php) <?php $age = $_GET [&quot;age&quot;]; $school = $_GET [&quot;ecole&quot;]; echo &quot;Vous êtes de l'école $school .&quot;; echo &quot; <br /> &quot;; echo &quot;Vous êtes né en &quot;.(2008- $age ).&quot;.&quot;; ?> </li></ul>
  21. 21. Résultat Les paramètres
  22. 22. Gestion des fichiers <ul><li>La fonction de base est la fonction fopen( ) </li></ul><ul><ul><li>Ouvrir un fichier (le lire, le créer, ou y écrire) </li></ul></ul><ul><ul><li>Syntaxe : fopen(nomdufichier, mode); </li></ul></ul><ul><li>Différents modes disponibles : </li></ul><ul><ul><li>r : ouverture en lecture seulement </li></ul></ul><ul><ul><li>w : ouverture en écriture seulement (la fonction crée le fichier s'il n'existe pas) </li></ul></ul><ul><ul><li>a : ouverture en écriture seulement avec ajout du contenu à la fin du fichier (la fonction crée le fichier s'il n'existe pas) </li></ul></ul><ul><ul><li>r+ : ouverture en lecture et écriture </li></ul></ul><ul><ul><li>w+ : ouverture en lecture et écriture (la fonction crée le fichier s'il n'existe pas) </li></ul></ul><ul><ul><li>a+ : ouverture en lecture et écriture avec ajout du contenu à la fin du fichier (la fonction crée le fichier s'il n'existe pas). </li></ul></ul>
  23. 23. Gestion des fichiers <ul><li>Exemples : </li></ul><ul><ul><li>$fp = fopen(&quot;fichier.txt&quot;,&quot;r&quot;); //lecture </li></ul></ul><ul><ul><li>$fp = fopen(&quot;ftp://user:psswd@exemple.com/fichier.txt&quot;,&quot;w&quot;); </li></ul></ul><ul><ul><li>//écriture depuis début du fichier </li></ul></ul><ul><ul><li>$fp = fopen(&quot;http://www.exemple.com/fichier.txt&quot;,&quot;a&quot;); </li></ul></ul><ul><ul><li>//écriture depuis fin du fichier </li></ul></ul>
  24. 24. Lecture dans un fichier <ul><li><?php </li></ul><ul><li>$monfichier = fopen(&quot;monfichier.txt&quot;,&quot;r&quot;); </li></ul><ul><li>if (!($monfichier)) { </li></ul><ul><li>print(&quot;Impossible d’ouvrir le fichier&quot;); </li></ul><ul><li>exit ; </li></ul><ul><li>} </li></ul><ul><li>while (!feof($monfichier)) { </li></ul><ul><li>$ligne = fgets($monfichier); </li></ul><ul><li>print &quot;$ligne <BR>&quot;; </li></ul><ul><li>} </li></ul><ul><li>fclose ($monfichier); </li></ul><ul><li>?> </li></ul>
  25. 25. Écriture dans un fichier <ul><li>< ?php </li></ul><ul><li>$monfichier = fopen( &quot; monfichier.txt &quot; , &quot; w &quot; ) ; // ouverture en écriture </li></ul><ul><li>if ( !($monfichier)) { </li></ul><ul><li>print( &quot; Impossible de créer le fichier n &quot; ) ; </li></ul><ul><li>exit ; </li></ul><ul><li>} </li></ul><ul><li>fputs($monfichier,  &quot; $ligne1 &quot; ) ; // on écrit deux lignes </li></ul><ul><li>fputs($monfichier,  &quot; $ligne2 &quot; ) ; </li></ul><ul><li>fclose($monfichier) ; // on ferme le fichier, on libère les ressources </li></ul><ul><li>?> </li></ul>
  26. 26. Inclure un fichier <ul><li>Fonction include() </li></ul>haut.html : <html> <head> <title>Mon site</title> </head> <body> bas.html : <a href=&quot;mailto:toto@titi.ch&quot;> envoyer un mail </a> </body> </html> page1.php : <?php include(&quot;haut.html&quot;); ?> <h1>Première page</h1> Du blabla <?php include(&quot;bas.html&quot;); ?>
  27. 27.
  28. 28. Exemple du TP <ul><li>Récupérer les données d’un formulaire pour les utiliser dans une page </li></ul><ul><li>form1.php : </li></ul><ul><ul><li><form method=  &quot; post &quot;   action= &quot; form2.php &quot; > </li></ul></ul><ul><ul><li>Nom : <input type= &quot; texte &quot; name= &quot; nom &quot; size= &quot; 10 &quot; ><br> </li></ul></ul><ul><ul><li>Prénom : <input type= &quot; text &quot; name= &quot; prenom &quot; size= &quot; 10 &quot; ><br> </li></ul></ul><ul><ul><li>Age : <input type= &quot; text &quot; name= &quot; age &quot; size= &quot; 10 &quot; ><br> </li></ul></ul><ul><ul><li><input type= &quot; submit &quot; value= &quot; OK &quot; > </li></ul></ul><ul><ul><li></form > </li></ul></ul><ul><li>Script de réception dans form2.php : </li></ul><ul><ul><li><?php </li></ul></ul><ul><ul><li>$nom = $_POST[ &quot; nom &quot; ]; $prenom = $_POST[ &quot; prenom &quot; ]; $age = $_POST[ &quot; age &quot; ]; </li></ul></ul><ul><ul><li>echo &quot; Bonjour $prenom $nom , vous avez $age ans &quot; ; </li></ul></ul><ul><ul><li>?> </li></ul></ul>
  29. 29. Pas de paramètres
  30. 30. Exemple du TP - changer dynamiquement la couleur du fond de la page <ul><li>form1.php : </li></ul><ul><li> <form method=«post» action=«  form2.php »> </li></ul><ul><ul><li>Nom : <input type=«texte» name=« nom » size=«10»><br> </li></ul></ul><ul><ul><li>Prénom : <input type=«text» name=« prenom » size=«10»><br> </li></ul></ul><ul><ul><li>Age : <input type=«text» name=« age » size=«10»><br> </li></ul></ul><ul><ul><li>Sexe(m/f) : <input type=«text» name=« sexe » size=«1»><br> </li></ul></ul><ul><ul><li><input type=«submit» value=«OK»> </li></ul></ul><ul><ul><li></form> </li></ul></ul><ul><li>form2.php : </li></ul><ul><li><?// Gestion de la couleur du fond </li></ul><ul><ul><li>$nom = $_POST[«nom»]; $prenom = $_POST[«prenom»]; </li></ul></ul><ul><ul><li>$age = $_POST[«age»]; $sexe = $_POST[«sexe»]; </li></ul></ul><ul><li>If( $sexe ==«f») { echo «<body bgcolor= « #FF80C0»>»; } //rose, si f </li></ul><ul><ul><li>else{ echo «<body bgcolor= « # 0080 FF»>»; } //bleu, si m </li></ul></ul><ul><li><?echo « Bonjour $prenom $nom , vous avez $age ans »;?> </li></ul>
  31. 31.
  32. 32. Exemple du TP - Protéger une page avec un mot de passe <ul><li>protegee.html : « Vous êtes sur une page protégée par un mot de passe » </li></ul><ul><li>form1.php : </li></ul><ul><li><form method=«post» action=« form2.php »> </li></ul><ul><li><input type=«password» name=« pass » size=«8»> </li></ul><ul><li><input type=«submit» value=«OK»> </li></ul><ul><li></form> </li></ul><ul><li>form2.php : </li></ul><ul><ul><li><?php </li></ul></ul><ul><ul><li>$pass_in=$_POST[&quot;pass&quot;]; </li></ul></ul><ul><ul><li>If( $pass_in ==« toto ») { </li></ul></ul><ul><ul><li>//redirige vers la page protégée </li></ul></ul><ul><ul><li>header(«Location: protegee.html »); </li></ul></ul><ul><ul><li>} </li></ul></ul><ul><ul><li>else{ </li></ul></ul><ul><li>echo «Vous n’ êtes pas autorisé à visualiser cette page»; </li></ul><ul><li>} </li></ul><ul><ul><li>?> </li></ul></ul>
  33. 33.
  34. 34. Exemple du TP - inclure des fichiers <html> <head> <title>Site dynamique en PHP</title> </head> <?php // Gestion de la couleur du fond echo &quot;<body bgcolor= &quot; FF8000&quot;>&quot; ?> haut.php droits.txt </body> </html> bas.php <?php Include &quot; haut.php &quot;; ?> <br/> <p align= ‘ center ’ ><a href=«page2.php»> lien vers la page 2</a></p> <br/><br/><br/><br/> <?php echo «p align= ‘ center ’ >»; Include « droits.txt »; Include « bas.php »; ?> Index.php &nbsp : espace © Copyright 2008
  35. 35. Liens utiles <ul><li>www.php.net </li></ul><ul><li>http://fr.php.net/manual/fr/index.php </li></ul>

×