Your SlideShare is downloading. ×
Introduction à PHP
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Introduction à PHP

714
views

Published on

Programmation, développement Web

Programmation, développement Web


0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
714
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
31
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Introduction à PHP Saïd Radhouani Université de Genève avril 2008
  • 2. Qu’est-ce que PHP Serveur Client Navigateur (Mozilla) clic Serveur web (Apache) PHP requête HTTP réponse
  • 3. PHP ou HTML ? Serveur web (Apache) Navigateur web (Mozilla) HTTP Internet
  • 4. PHP ou HTML ? (2)
    • Code PHP : « côté serveur »
    • Navigateur client : HTML
    • Conséquence : le code source PHP est protégé
  • 5. Bases du langage
  • 6. Premier exemple
    • Le fichier essai.php contient :
    • Le navigateur recevra la page HTML :
    <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. Variables
    • Les variables commencent toutes par un $
    <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. Boucles
    • Comme dans tous les autres langages
    <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. Principes de base
    • 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 ;
    • echo $complet ; // affiche Bill Gates
    • echo $prenom .&quot; &quot;. $nom ; // idem ?>
  • 10. Principes de base
    • Pour afficher la date :
    <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. 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. Tableaux, fonctions
  • 13. Tableaux
    • Tableaux classiques (indicés par des entiers)
    $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. 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. La fonction foreach()
    • 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;; } ?>
    • </body></html>
    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. Les fonctions
    • Définir une fonction
    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. Formulaires
    • On utilise les formulaires HTML balise < form >
    • On récupère les données envoyées grâce aux variables globales
    • $_GET et $_POST
  • 18. Exemple de formulaire
    • 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 >
  • 19. Ce qui donne :
  • 20. Le code PHP
    • 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;; ?>
  • 21. Résultat Les paramètres
  • 22. Gestion des fichiers
    • La fonction de base est la fonction fopen( )
      • Ouvrir un fichier (le lire, le créer, ou y écrire)
      • Syntaxe : fopen(nomdufichier, mode);
    • Différents modes disponibles :
      • r : ouverture en lecture seulement
      • w : ouverture en écriture seulement (la fonction crée le fichier s'il n'existe pas)
      • a : ouverture en écriture seulement avec ajout du contenu à la fin du fichier (la fonction crée le fichier s'il n'existe pas)
      • r+ : ouverture en lecture et écriture
      • w+ : ouverture en lecture et écriture (la fonction crée le fichier s'il n'existe pas)
      • 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).
  • 23. Gestion des fichiers
    • Exemples :
      • $fp = fopen(&quot;fichier.txt&quot;,&quot;r&quot;); //lecture
      • $fp = fopen(&quot;ftp://user:psswd@exemple.com/fichier.txt&quot;,&quot;w&quot;);
      • //écriture depuis début du fichier
      • $fp = fopen(&quot;http://www.exemple.com/fichier.txt&quot;,&quot;a&quot;);
      • //écriture depuis fin du fichier
  • 24. Lecture dans un fichier
    • <?php
    • $monfichier = fopen(&quot;monfichier.txt&quot;,&quot;r&quot;);
    • if (!($monfichier)) {
    • print(&quot;Impossible d’ouvrir le fichier&quot;);
    • exit ;
    • }
    • while (!feof($monfichier)) {
    • $ligne = fgets($monfichier);
    • print &quot;$ligne <BR>&quot;;
    • }
    • fclose ($monfichier);
    • ?>
  • 25. Écriture dans un fichier
    • < ?php
    • $monfichier = fopen( &quot; monfichier.txt &quot; , &quot; w &quot; ) ; // ouverture en écriture
    • if ( !($monfichier)) {
    • print( &quot; Impossible de créer le fichier n &quot; ) ;
    • exit ;
    • }
    • fputs($monfichier,  &quot; $ligne1 &quot; ) ; // on écrit deux lignes
    • fputs($monfichier,  &quot; $ligne2 &quot; ) ;
    • fclose($monfichier) ; // on ferme le fichier, on libère les ressources
    • ?>
  • 26. Inclure un fichier
    • Fonction include()
    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.
  • 28. Exemple du TP
    • Récupérer les données d’un formulaire pour les utiliser dans une page
    • form1.php :
      • <form method=  &quot; post &quot;   action= &quot; form2.php &quot; >
      • Nom : <input type= &quot; texte &quot; name= &quot; nom &quot; size= &quot; 10 &quot; ><br>
      • Prénom : <input type= &quot; text &quot; name= &quot; prenom &quot; size= &quot; 10 &quot; ><br>
      • Age : <input type= &quot; text &quot; name= &quot; age &quot; size= &quot; 10 &quot; ><br>
      • <input type= &quot; submit &quot; value= &quot; OK &quot; >
      • </form >
    • Script de réception dans form2.php :
      • <?php
      • $nom = $_POST[ &quot; nom &quot; ]; $prenom = $_POST[ &quot; prenom &quot; ]; $age = $_POST[ &quot; age &quot; ];
      • echo &quot; Bonjour $prenom $nom , vous avez $age ans &quot; ;
      • ?>
  • 29. Pas de paramètres
  • 30. Exemple du TP - changer dynamiquement la couleur du fond de la page
    • form1.php :
    • <form method=«post» action=«  form2.php »>
      • Nom : <input type=«texte» name=« nom » size=«10»><br>
      • Prénom : <input type=«text» name=« prenom » size=«10»><br>
      • Age : <input type=«text» name=« age » size=«10»><br>
      • Sexe(m/f) : <input type=«text» name=« sexe » size=«1»><br>
      • <input type=«submit» value=«OK»>
      • </form>
    • form2.php :
    • <?// Gestion de la couleur du fond
      • $nom = $_POST[«nom»]; $prenom = $_POST[«prenom»];
      • $age = $_POST[«age»]; $sexe = $_POST[«sexe»];
    • If( $sexe ==«f») { echo «<body bgcolor= « #FF80C0»>»; } //rose, si f
      • else{ echo «<body bgcolor= « # 0080 FF»>»; } //bleu, si m
    • <?echo « Bonjour $prenom $nom , vous avez $age ans »;?>
  • 31.
  • 32. Exemple du TP - Protéger une page avec un mot de passe
    • protegee.html : « Vous êtes sur une page protégée par un mot de passe »
    • form1.php :
    • <form method=«post» action=« form2.php »>
    • <input type=«password» name=« pass » size=«8»>
    • <input type=«submit» value=«OK»>
    • </form>
    • form2.php :
      • <?php
      • $pass_in=$_POST[&quot;pass&quot;];
      • If( $pass_in ==« toto ») {
      • //redirige vers la page protégée
      • header(«Location: protegee.html »);
      • }
      • else{
    • echo «Vous n’ êtes pas autorisé à visualiser cette page»;
    • }
      • ?>
  • 33.
  • 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. Liens utiles
    • www.php.net
    • http://fr.php.net/manual/fr/index.php