cours html php css mysql by mohamedddddd

VIEWS: 25 PAGES: 63

More Info
									                       Cours HTML / CSS / PHP / MySQL

                                           Pierre-Nicolas Clauss
                  Laboratoire Lorrain de Recherche en Informatique et ses Applications


                                               12 mars 2008




pierre-nicolas.clauss@loria.fr (LORIA)   Cours HTML / CSS / PHP / MySQL         12 mars 2008   1 / 63
  Plan



  1   HTML

  2   CSS

  3   PHP

  4   (My)SQL




pierre-nicolas.clauss@loria.fr (LORIA)   Cours HTML / CSS / PHP / MySQL   12 mars 2008   2 / 63
                                                 HTML
  Plan
  1   HTML
        Introduction
        Texte en HTML
        Listes en HTML
        Tableau en HTML
  2   CSS
        Utilité
        Syntaxe
  3   PHP
        Introduction
        Eléments du langage
        PHP avec HTML
  4   (My)SQL
        Introduction à SQL
        MySQL avec PHP
pierre-nicolas.clauss@loria.fr (LORIA)   Cours HTML / CSS / PHP / MySQL   12 mars 2008   3 / 63
                                                 HTML    Introduction
  Plan
  1   HTML
        Introduction
        Texte en HTML
        Listes en HTML
        Tableau en HTML
  2   CSS
        Utilité
        Syntaxe
  3   PHP
        Introduction
        Eléments du langage
        PHP avec HTML
  4   (My)SQL
        Introduction à SQL
        MySQL avec PHP
pierre-nicolas.clauss@loria.fr (LORIA)   Cours HTML / CSS / PHP / MySQL   12 mars 2008   4 / 63
                                                 HTML    Introduction
  Généralités sur l'HTML

         Language descriptif
                Pas de séquences de contrôle
                Description de la sémantique du document
         Balises
                Balise ouvrante : <TAG>
                Balise fermante : </TAG>
                Les deux en une : <TAG />
         Standardisé
                W3C : http ://www.w3c.org
                Dernière version : HTML 4.01
                     Strict
                     Transitional
                     Frameset
                Validation automatique : http ://validator.w3.org
                Balise DOCTYPE, sur la première ligne du chier
                        < !DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
                        "http ://www.w3.org/TR/html4/loose.dtd">

pierre-nicolas.clauss@loria.fr (LORIA)   Cours HTML / CSS / PHP / MySQL        12 mars 2008   5 / 63
                                                 HTML    Introduction
  Généralités sur l'HTML

         Encapsulation de type "pile"
  (Mal)formation
 <A> <B> </A> </B>           incorrect

 <A> <B> </B> </A>           correct


      Structure arborescente
  Arbre minimal
 <HTML>
   <HEAD>
     <TITLE />
   </HEAD>
   <BODY />
 </HTML>




pierre-nicolas.clauss@loria.fr (LORIA)   Cours HTML / CSS / PHP / MySQL   12 mars 2008   6 / 63
                                                 HTML    Introduction
  Généralités sur l'HTML



         Commentaires entre <!−− et −−>
         HTML + XML => XHTML
                Balises toujours fermées
                Transformation en d'autres formats
         HTML donne un découpage selon la sémantique du document
         Mise en forme visuelle
                en HTML : moins lisible, plus de code
                en CSS : plus lisible, regroupement et généralisation




pierre-nicolas.clauss@loria.fr (LORIA)   Cours HTML / CSS / PHP / MySQL   12 mars 2008   7 / 63
                                                 HTML    Texte en HTML
  Plan
  1   HTML
        Introduction
        Texte en HTML
        Listes en HTML
        Tableau en HTML
  2   CSS
        Utilité
        Syntaxe
  3   PHP
        Introduction
        Eléments du langage
        PHP avec HTML
  4   (My)SQL
        Introduction à SQL
        MySQL avec PHP
pierre-nicolas.clauss@loria.fr (LORIA)   Cours HTML / CSS / PHP / MySQL   12 mars 2008   8 / 63
                                                        HTML    Texte en HTML
  Espaces


          Tous les espaces blancs (y compris \t et \n) sont ignorés
          Cas particulier : l'espace seul => reproduit tel quel
  Exemple
  Mon t e x t e        avec des e s p a c e s
                 et p l u s i e u r s l i g n e s
  n ' a p p a r a i t pas comme c e c i



  Résultat
  Mon t e x t e avec des e s p a c e s e t p l u s i e u r s l i g n e s n ' a p p a r a i t pas comme c e c i


          Il faut utiliser des balises


pierre-nicolas.clauss@loria.fr (LORIA)          Cours HTML / CSS / PHP / MySQL                     12 mars 2008   9 / 63
                                                 HTML    Texte en HTML
  Texte

  Mise en forme au niveau paragraphe
      <BR> : aller à la ligne

      &nbsp; : insérer un espace

      <P> : commencer un nouveau paragraphe

      entre <PRE> et </PRE>, tout est reproduit tel quel

  Mise en forme au niveau phrase
      <EM> à </EM> : Mise en valeur (italique)

      <STRONG> à </STRONG> : Mise en valeur forte (gras)

      <CITE> à </CITE> : Citation courte (gras italique)

      <Q> à </Q> : Citation courte (entre guillements)

      <BLOCKQUOTE à </BLOCKQUOTE> : Citation longue (gras)



pierre-nicolas.clauss@loria.fr (LORIA)   Cours HTML / CSS / PHP / MySQL   12 mars 2008   10 / 63
                                                 HTML    Texte en HTML
  Texte


  Mise en forme au niveau phrase
      <CODE> à </CODE> : Extrait de code source (gras italique petit)

      <ABBR> à </ABBR> : Abbréviation (gras italique)

      <ACRONYM> à </ACRONYM> : Acronyme (gras italique)

      <SUP> à </SUP> : Mettre en exposant

      <SUB> à </SUB> : Mettre en indice

      <BIG> à </BIG> : Plus gros

      <SMALL> à </SMALL> : Plus petit

      Beaucoup d'autres : <DFN>, <SAMP>, <KBD>, <VAR>, <INS>, <DEL>, . . .



pierre-nicolas.clauss@loria.fr (LORIA)   Cours HTML / CSS / PHP / MySQL   12 mars 2008   11 / 63
                                                 HTML    Texte en HTML
  Texte




  Liens hypertexte
       Entre <A> et </A>
       Choisir le(s) bon(s) mot(s) pour servir de lien
       Liens internes (<A NAME=...>) ou externes (<A HREF=...>)
       Possibilité de lien sur une image
       Lier les pages de manière cohérente




pierre-nicolas.clauss@loria.fr (LORIA)   Cours HTML / CSS / PHP / MySQL   12 mars 2008   12 / 63
                                                 HTML    Listes en HTML
  Plan
  1   HTML
        Introduction
        Texte en HTML
        Listes en HTML
        Tableau en HTML
  2   CSS
        Utilité
        Syntaxe
  3   PHP
        Introduction
        Eléments du langage
        PHP avec HTML
  4   (My)SQL
        Introduction à SQL
        MySQL avec PHP
pierre-nicolas.clauss@loria.fr (LORIA)   Cours HTML / CSS / PHP / MySQL   12 mars 2008   13 / 63
                                                 HTML    Listes en HTML
  Listes non-ordonnées



         <UL> marque le début de la liste et </UL> sa n
         <LI> permet de commencer un nouvel item dans la liste


  Exemple
 <UL>
   <L I>1<SUP>e r</SUP> e l e m e n t
   <L I>2<SUP>eme</SUP> e l e m e n t
   <L I>3<SUP>eme</SUP> e l e m e n t
 </UL>




pierre-nicolas.clauss@loria.fr (LORIA)   Cours HTML / CSS / PHP / MySQL   12 mars 2008   14 / 63
                                                 HTML    Listes en HTML
  Listes ordonnées



     1   <OL>  marque le début de la liste et </OL> sa n
     2   <LI> permet de commencer un nouvel item dans la liste


  Exemple
 <OL>
   <L I>1<SUP>e r</SUP> e l e m e n t
   <L I>2<SUP>eme</SUP> e l e m e n t
   <L I>3<SUP>eme</SUP> e l e m e n t
 </OL>




pierre-nicolas.clauss@loria.fr (LORIA)   Cours HTML / CSS / PHP / MySQL   12 mars 2008   15 / 63
                                                   HTML       Listes en HTML
  Listes de dénitions



         <DL> marque le début de la liste et </DL> sa n
         <DT> permet de dénir un titre pour une dénition

         <DD> permet de dénir le contenu d'une dénition


  Exemple
 <DL>
   <DT><STRONG>Cout</STRONG>
   <DD>P r i x de r e v i e n t
   <DT><STRONG>B e n e f i c e</STRONG>
   <DD>Gain r e a l i s e pa r une p e r s o n n e ou une c o l l e c t i v i t e
 </DL>




pierre-nicolas.clauss@loria.fr (LORIA)   Cours HTML / CSS / PHP / MySQL             12 mars 2008   16 / 63
                                                 HTML    Tableau en HTML
  Plan
  1   HTML
        Introduction
        Texte en HTML
        Listes en HTML
        Tableau en HTML
  2   CSS
        Utilité
        Syntaxe
  3   PHP
        Introduction
        Eléments du langage
        PHP avec HTML
  4   (My)SQL
        Introduction à SQL
        MySQL avec PHP
pierre-nicolas.clauss@loria.fr (LORIA)   Cours HTML / CSS / PHP / MySQL    12 mars 2008   17 / 63
                                                 HTML    Tableau en HTML
  Forme du tableau

         Un tableau commence par <TABLE> et nit par </TABLE>
         Une ligne dans un tableau commence par <TR> et nit par </TR>
         Une cellule dans une ligne commence par <TD> et nit par </TD>
         Une cellule d'en-tête dans une ligne commence par <TH> et nit par
         </TH>


  Exemple : 2 lignes x 3 colonnes
 <TABLE>
   <TR>
     <TD> C e l l u l e   1 ,1</TD>
     <TD> C e l l u l e   1 ,2</TD>
     <TD> C e l l u l e   1 ,3</TD>
   </TR>                                                Cellule 1,1 Cellule 1,2 Cellule 1,3
   <TR>
     <TD> C e l l u l e   2 ,1</TD>                     Cellule 2,1 Cellule 2,2 Cellule 2,3
     <TD> C e l l u l e   2 ,2</TD>
     <TD> C e l l u l e   2 ,3</TD>
   </TR>
 </TABLE>


pierre-nicolas.clauss@loria.fr (LORIA)   Cours HTML / CSS / PHP / MySQL      12 mars 2008   18 / 63
                                                 HTML    Tableau en HTML
  Forme du tableau


         On peut donner un "titre" au tableau entre <CAPTION> et </CAPTION>, en
         dehors des dénitions de lignes ou de cellules
         On peut ranger les lignes entre <THEAD> et </THEAD> pour indiquer
         qu'elles font partie de l'en-tête
         On peut ranger les lignes entre <TFOOT> et </TFOOT> pour indiquer
         qu'elles font partie du pied du tableau
         On peut ranger les lignes entre <TBODY> et </TBODY> pour indiquer
         qu'elles font partie des données
         Attention : <THEAD> et <TFOOT> doivent apparaître avant <TBODY>
         Il peut y avoir plusieurs <TBODY>



pierre-nicolas.clauss@loria.fr (LORIA)   Cours HTML / CSS / PHP / MySQL    12 mars 2008   19 / 63
                                                 HTML    Tableau en HTML
  Forme du tableau


         On peut donner des indications de taille sur les colonnes entre
         <COLGROUP> et </COLGROUP>

         Entre ces balises, on indique avec <COL width=...> la taille d'une colonne
         On peut aussi utiliser <COLGROUP span=XX width=YY> pour spécier XX
         colonnes de taille YY
         Les balises <TD> et <TH> ont les attributes :
                rowspan pour indiquer sur combien de lignes s'étant la cellule
                colspan pour indiquer sur combien de colonnes s'étant la cellule
                align pour indiquer l'alignement horizontal dans la cellule (left,right ou
                center)
                valign pour indiquer l'alignement vertical dans la cellule (top, middle,
                bottom)



pierre-nicolas.clauss@loria.fr (LORIA)   Cours HTML / CSS / PHP / MySQL    12 mars 2008   20 / 63
                                                 HTML    Tableau en HTML
  Bordures du tableau



  <TABLE>     a les attributs :
         border pour indiquer l'épaisseur des bordures
         rules pour indique le type de bordure entre les cellules :
                none : pas de bordure
                groups : bordures entre les groupes de lignes (<THEAD>, <TFOOT>,
                <TBODY> et les groupes de colonnes (<COLGROUP>, <COL>)
                rows : bordures entre les lignes uniquement
                cols : bordures entre les colonnes uniquement
                 all : bordures autour de toutes les cellules




pierre-nicolas.clauss@loria.fr (LORIA)   Cours HTML / CSS / PHP / MySQL    12 mars 2008   21 / 63
                                                   CSS
  Plan
  1   HTML
        Introduction
        Texte en HTML
        Listes en HTML
        Tableau en HTML
  2   CSS
        Utilité
        Syntaxe
  3   PHP
        Introduction
        Eléments du langage
        PHP avec HTML
  4   (My)SQL
        Introduction à SQL
        MySQL avec PHP
pierre-nicolas.clauss@loria.fr (LORIA)   Cours HTML / CSS / PHP / MySQL   12 mars 2008   22 / 63
                                                   CSS   Utilité
  Plan
  1   HTML
        Introduction
        Texte en HTML
        Listes en HTML
        Tableau en HTML
  2   CSS
        Utilité
        Syntaxe
  3   PHP
        Introduction
        Eléments du langage
        PHP avec HTML
  4   (My)SQL
        Introduction à SQL
        MySQL avec PHP
pierre-nicolas.clauss@loria.fr (LORIA)   Cours HTML / CSS / PHP / MySQL   12 mars 2008   23 / 63
                                                            CSS     Utilité
  Mise en forme

         Séparation de la forme et du fond
                 HTML décrit le fond
                 CSS décrit la forme
         Centralisation de l'aspect visuel
         On insère du CSS entre :
         <STYLE t y p e=" t e x t / c s s ">
         <!−−
           du CSS i c i
         − >
          −
         </STYLE>

         Ou on lie un chier CSS avec :
         <LINK r e l=" s t y l e s h e e t " t y p e=" t e x t / c s s " h r e f=" . . . ">

         Ou on ajoute du CSS à une balise :
         <BALISE s t y l e=" . . . ">



pierre-nicolas.clauss@loria.fr (LORIA)       Cours HTML / CSS / PHP / MySQL                   12 mars 2008   24 / 63
                                                   CSS   Syntaxe
  Plan
  1   HTML
        Introduction
        Texte en HTML
        Listes en HTML
        Tableau en HTML
  2   CSS
        Utilité
        Syntaxe
  3   PHP
        Introduction
        Eléments du langage
        PHP avec HTML
  4   (My)SQL
        Introduction à SQL
        MySQL avec PHP
pierre-nicolas.clauss@loria.fr (LORIA)   Cours HTML / CSS / PHP / MySQL   12 mars 2008   25 / 63
                                                   CSS   Syntaxe
  Format d'une classe CSS

         Le CSS est formé d'un ensemble de classes.
         Une classe s'écrit de cette façon :
         nom {
           attribut : valeur ;
            ...
         }

         nom peut être :
                Un nom de balise : les attributs s'appliquent à toutes ces balises
                Un nom générique (commençant par un point) : les attributs
                s'appliquent aux balises utilisant class ="nom" (sans le point)
                Un mélange des deux, séparés par des virgules : les attributs
                s'appliquent suivant les deux points précédents
         attribut désigne quel élément visuel est modié (couleur, bordure,
         fond, marges . . ..
         valeur désigne par quelle valeur est remplacée l'attribut désigné
pierre-nicolas.clauss@loria.fr (LORIA)   Cours HTML / CSS / PHP / MySQL   12 mars 2008   26 / 63
                                                            CSS      Syntaxe
  Exemple de CSS
  style.css
  body {
     f o n t −f a m i l y : A r i a l ;
  }
  p {
     background − c o l o r :#F0C0C0 ;
     border : thin s o l i d black ;
  }
  . titre {
     color : yellow ;
  }


  index.html
 <HTML>
   <HEAD>
     <LINK r e l=" s t y l e s h e e t " t y p e=" t e x t / c s s " h r e f=" s t y l e . c s s ">
     <TITLE>Exemple CSS</TITLE>
   </HEAD>
   <BODY>
     <H1 c l a s s=" t i t r e ">Exemple</H1>
     <P>Un p a r a g r a p h e avec b o r d u r e e t c o u l e u r de f o n t
   </BODY>
 </HTML>


pierre-nicolas.clauss@loria.fr (LORIA)       Cours HTML / CSS / PHP / MySQL                           12 mars 2008   27 / 63
                                                  PHP
  Plan
  1   HTML
        Introduction
        Texte en HTML
        Listes en HTML
        Tableau en HTML
  2   CSS
        Utilité
        Syntaxe
  3   PHP
        Introduction
        Eléments du langage
        PHP avec HTML
  4   (My)SQL
        Introduction à SQL
        MySQL avec PHP
pierre-nicolas.clauss@loria.fr (LORIA)   Cours HTML / CSS / PHP / MySQL   12 mars 2008   28 / 63
                                                  PHP    Introduction
  Plan
  1   HTML
        Introduction
        Texte en HTML
        Listes en HTML
        Tableau en HTML
  2   CSS
        Utilité
        Syntaxe
  3   PHP
        Introduction
        Eléments du langage
        PHP avec HTML
  4   (My)SQL
        Introduction à SQL
        MySQL avec PHP
pierre-nicolas.clauss@loria.fr (LORIA)   Cours HTML / CSS / PHP / MySQL   12 mars 2008   29 / 63
                                                  PHP    Introduction
  Pages dynamiques


  Exemple statique
 <HTML>
   <HEAD><TITLE>Page s t a t i q u e</TITLE></HEAD>
   <BODY>
     Nous sommes l e 28/03/2007
   </BODY>
 </HTML>



         Problème : Acher une page diérente en fonction de l'utilisateur, de
         l'environnement, . . .
         Solution : Utiliser un langage de programmation évolué, par exemple
         PHP.



pierre-nicolas.clauss@loria.fr (LORIA)   Cours HTML / CSS / PHP / MySQL   12 mars 2008   30 / 63
                                                  PHP    Introduction
  Présentation


         Langage récent (crée en 1994)
         Versions utilisée :
                4.3 (plus répandue)
                5.0 (avec une couche objet)
         Langage de script
                Langage interprété
                Présence d'un interpréteur côté serveur
         Intégré au code HTML
         Syntaxe proche du C et du Java
         Interface simple avec beaucoup de SGBD



pierre-nicolas.clauss@loria.fr (LORIA)   Cours HTML / CSS / PHP / MySQL   12 mars 2008   31 / 63
                                                  PHP    Introduction
  Modèle d'exécution



     1   Le client demande une page PHP
     2   Le serveur web exécute le code de la page
            1   Lancement de l'interpréteur
            2   Exécution du code
     3   Le serveur web renvoie le résultat de l'exécution
     4   Le client ache le résultat

         Pour le client, il est impossible de voir le code PHP
         Seul le résultat de l'exécution est récupéré par le client




pierre-nicolas.clauss@loria.fr (LORIA)   Cours HTML / CSS / PHP / MySQL   12 mars 2008   32 / 63
                                                  PHP    Introduction
  Premier exemple

  Code côté serveur
 <HTML>
   <HEAD><TITLE>Page dynamique </TITLE></HEAD>
   <BODY>
   <?php
      echo ( "Nous sommes l e " ) ;
      echo ( d a t e ( " j /m/Y" ) ) ;
   ?>
   </BODY>
 </HTML>



  Résultat côté client
  <HTML>
    <HEAD><TITLE>Page statique</TITLE></HEAD>
   <BODY>
     Nous sommes le 12 mars 2008
   </BODY>
  </HTML>



pierre-nicolas.clauss@loria.fr (LORIA)   Cours HTML / CSS / PHP / MySQL   12 mars 2008   33 / 63
                                                  PHP    Eléments du langage
  Plan
  1   HTML
        Introduction
        Texte en HTML
        Listes en HTML
        Tableau en HTML
  2   CSS
        Utilité
        Syntaxe
  3   PHP
        Introduction
        Eléments du langage
        PHP avec HTML
  4   (My)SQL
        Introduction à SQL
        MySQL avec PHP
pierre-nicolas.clauss@loria.fr (LORIA)   Cours HTML / CSS / PHP / MySQL        12 mars 2008   34 / 63
                                                  PHP    Eléments du langage
  Mélange HTML/PHP




         PHP s'intègre dans l'HTML entre <?php et ?>
         Les instructions se nissent par ;
         Les commentaires sont soit entre /*et */, soit après //
         Manuel complet en français : http ://www.php.net/manual/fr




pierre-nicolas.clauss@loria.fr (LORIA)   Cours HTML / CSS / PHP / MySQL        12 mars 2008   35 / 63
                                                     PHP     Eléments du langage
  Les variables


         Les variables sont préxées par $
         Leur nom suit les règles classiques
         Exemple : $my_var_03
         Les noms sont sensibles à la casse : $var = $Var

         Pas de déclaration, typage implicite
         Exemple :
         $my_var_03 = 5 4 ;              // Maintenant , c ' e s t un e n t i e r
         $my_var_03 = " p i f " ;        // Maintenant , c ' e s t une c h a i n e

         Attention aux fautes de frappes dans les noms de variables



pierre-nicolas.clauss@loria.fr (LORIA)    Cours HTML / CSS / PHP / MySQL             12 mars 2008   36 / 63
                                                  PHP     Eléments du langage
  Les types


         Entiers : 54
         Flottants : 54.3
         Chaînes : "54" ou '54'
         Booléens : false ou true
         Tableaux
         Fonctions de test :
                isset ($var) : renvoie true si $var existe
                unset($var) : détruit $var
                is_integer ($var), is_string ($var), . . . : renvoie true   si   $var   est un entier, une
                chaîne, . . .




pierre-nicolas.clauss@loria.fr (LORIA)   Cours HTML / CSS / PHP / MySQL                     12 mars 2008     37 / 63
                                                  PHP    Eléments du langage
  Les constantes et l'achage


  Constantes
      On les dénit à l'aide de la commande dene
      Exemples : dene ("PI", 3.14)
      On les utilise directement (sans $) : echo(PI)

  Achage
     On peut acher avec la commande echo (avec ou sans parenthèses)
     print est équivalente à echo

     On peut faire un achage comme en C avec printf



pierre-nicolas.clauss@loria.fr (LORIA)   Cours HTML / CSS / PHP / MySQL        12 mars 2008   38 / 63
                                                  PHP    Eléments du langage
  Opérateurs




         Arithmétiques : + − ∗ / % ++ −−
         Aectation : = .= += −= ∗= /= %=
         Comparaison : == < != > === <= !== >=
         Logiques : and && or || xor !
         Conditionnel : ... ? ... : ...




pierre-nicolas.clauss@loria.fr (LORIA)   Cours HTML / CSS / PHP / MySQL        12 mars 2008   39 / 63
                                                     PHP         Eléments du langage
  Conditionnelles et boucles


                                                            switch ( expr ) {
    i f ( cond ) {                                            c a s e VALEUR_1 :
    ...                                                           ...
    }                                                             break ;
    e l s e i f ( cond ) {                                    c a s e VALEUR_2 :
    ...                                                           ...
    }                                                             break ;
    else {                                                    default :
    ...                                                           ...
    }                                                             break ;
                                                            }



    f o r ( i n i t ; cond ; modif ) {    w h i l e ( cond ) {                     do {
    ...                                   ...                                      ...
    }                                     }                                        } w h i l e ( cond ) ;




pierre-nicolas.clauss@loria.fr (LORIA)   Cours HTML / CSS / PHP / MySQL                         12 mars 2008   40 / 63
                                                         PHP   Eléments du langage
  Les tableaux



         Chaque élément du tableau a une clé et une valeur
         Pas de déclaration du tableau
         Les valeurs des éléments ne sont pas forcément toutes du même type
         Exemple de remplissage à la volée :
         $tab [ 0 ] = 5 4 ;
         $tab [ 1 ] = " p i f " ;
         $tab [ " p a f " ] = f a l s e ;

         Exemple de remplissage direct :
         $tab = a r r a y ( 5 4 , " p i f " ) ;
         $tab = a r r a y ( " p a f " => f a l s e ) ;




pierre-nicolas.clauss@loria.fr (LORIA)      Cours HTML / CSS / PHP / MySQL           12 mars 2008   41 / 63
                                                           PHP   Eléments du langage
  Parcours de tableaux




         Parcours "classique" avec                   for

         Parcours spécique :
           f o r e a c h ( $tab as $ v a l u e ) {                    f o r e a c h ( $tab as $key => $ v a l u e ) {
           ...                                                        ...
           }                                                          }




pierre-nicolas.clauss@loria.fr (LORIA)     Cours HTML / CSS / PHP / MySQL                      12 mars 2008       42 / 63
                                                    PHP   Eléments du langage
  Les chaînes de caractères

         Délimitées par ' : contenu non interprété
         Délimitées par " : contenu interprété
         Les unes peuvent contenir les autres
         Concaténation avec .
         Exemple :
         $pif = " toto " ;                     //   Contient   " toto "
         $ p a f = " comme $ p i f " ;         //   Contient   " comme t o t o "
         $pouf = ' pas comme $ p i f ' ;       //   Contient   " pas comme $ p i f "
         $bim = $ p i f . $ p a f ;            //   Contient   " t o t o comme t o t o "

         Accès à un caractère : $bim[0]
         strlen ( $str ) : longueur de $str

         substr ( $str , start [, len ]) : sous-chaîne de $str commençant au caractère start,
         et faisant éventuellement len caractères de long
         Comparaison avec ==, === ou strcmp

pierre-nicolas.clauss@loria.fr (LORIA)   Cours HTML / CSS / PHP / MySQL                    12 mars 2008   43 / 63
                                                  PHP     Eléments du langage
  Les fonctions


         f u n c t i o n ma_fonc ( $param1 , $param2 , . . . ) {
             ...
             return . . . ;
         }


         Pas de type pour les paramètres ou la valeur de retour
         Nombre xé de paramètres
         Le nom ne commence pas par $
         Le nom est insensible à la casse
         Le résultat est renvoyé avec la commande return
                Une seule valeur de retour
         Passage des paramètres par valeur (par défaut)
                Passage par référence : &$param



pierre-nicolas.clauss@loria.fr (LORIA)   Cours HTML / CSS / PHP / MySQL         12 mars 2008   44 / 63
                                                              PHP      Eléments du langage




         Les variables utilisées à l'intérieur d'une fonctions sont détruites à la
         n, sauf :
                 si on les dénit avec               static
                 si on les dénit avec               global
         f u n c t i o n ma_fonc ( ) {
             s t a t i c $appels = 0;
             $ a p p e l s ++;
             echo ( "J ' a i e t e a p p e l l e e $ a p p e l s f o i s " ) ;
         }
         f u n c t i o n ma_fonc2 ( ) {
             g l o b a l $var ;
             $var = 54;
         }
         $var = 0;
         ma_fonc2 ( ) ;
         echo ( $ v a r ) ;




pierre-nicolas.clauss@loria.fr (LORIA)        Cours HTML / CSS / PHP / MySQL                 12 mars 2008   45 / 63
                                                    PHP      Eléments du langage
  Inclusion de chiers




         On utilise      require (" chier "), include (" chier "), require_once(" chier "),
         include_once(" chier ")

         Les variantes include provoquent des warnings au lieu d'erreurs en cas de
         problème
         Les variantes _once n'incluent le chier que si celui n'a pas déjà été inclu




pierre-nicolas.clauss@loria.fr (LORIA)   Cours HTML / CSS / PHP / MySQL                      12 mars 2008   46 / 63
                                                  PHP    PHP avec HTML
  Plan
  1   HTML
        Introduction
        Texte en HTML
        Listes en HTML
        Tableau en HTML
  2   CSS
        Utilité
        Syntaxe
  3   PHP
        Introduction
        Eléments du langage
        PHP avec HTML
  4   (My)SQL
        Introduction à SQL
        MySQL avec PHP
pierre-nicolas.clauss@loria.fr (LORIA)   Cours HTML / CSS / PHP / MySQL   12 mars 2008   47 / 63
                                                      PHP      PHP avec HTML
  Utilisation des formulaires


  On peut "dialoguer" avec le visiteur en utilisant les formulaires
      En méthode GET : données encodées dans l'URL
         index .php?var=value&var2=value2...

         En méthode POST : données cachées mais pas de navigation avec
         Précédent/Suivant
  Exemple de formulaire
 <FORM a c t i o n=" t r a i t e m e n t . php" method=" p o s t ">
   prenom : <INPUT t y p e=" t e x t " name=" prenom ">
   age : <INPUT t y p e=" t e x t " name=" age ">
   <INPUT t y p e=" submit " v a l u e=" Envoyer ">
 </FORM>




pierre-nicolas.clauss@loria.fr (LORIA)   Cours HTML / CSS / PHP / MySQL        12 mars 2008   48 / 63
                                                  PHP    PHP avec HTML
  Eléments de formulaire


  Il existe diérents type pour les balises INPUT :
        text : une zone de texte sur une seule ligne
        password : idem, mais avec achage d'étoiles
        le : permet la selection d'un chier
        checkbox : une case à cocher
        button : un bouton simple (pas d'action sans javascript)
        hidden : un champ "texte" caché
        radio : un bouton d'option
        reset : un bouton de remise à zéro
        submit : un bouton de soumission


pierre-nicolas.clauss@loria.fr (LORIA)   Cours HTML / CSS / PHP / MySQL   12 mars 2008   49 / 63
                                                  PHP    PHP avec HTML
  PHP avec formulaires


         Le script de traitement des formulaires reçoit un tableau pré-rempli
         $_GET pour la méthode GET

         $_POST pour la méthode POST

         Il contient les données du formulaire
  Exemple de traitement
  <?php
     $prenom = $_POST[ " prenom " ] ;
     $age = $_POST[ " age " ] ;
     echo ( " Bonjour $prenom , vous avez $age ans " ) ;
  ?>




pierre-nicolas.clauss@loria.fr (LORIA)   Cours HTML / CSS / PHP / MySQL   12 mars 2008   50 / 63
                                                  PHP    PHP avec HTML
  Persistence des données


         On veut parfois garder de l'information entre plusieurs pages :
                Login / Password
                Préférences de navigation
                Sélection de produits à acheter (panier, ...)
         On utilise donc les sessions PHP.
                Les sessions permettent de stocker des informations côté serveur
                Elles sont identiées par un numéro qui reste valide tant que le visiteur
                reste connecté
                Le numéro est transmis au serveur soit dans l'URL, soit dans un cookie
         Les données se placent et se récupèrent dans $_SESSION, comme pour
         les formulaires



pierre-nicolas.clauss@loria.fr (LORIA)   Cours HTML / CSS / PHP / MySQL   12 mars 2008   51 / 63
                                                  PHP    PHP avec HTML
  Utilisation des sessions



         Les sessions utilisent les cookies : il faut donc ouvrir la session avant
         d'acher quoi que ce soit (voir fonction setcookie )
         Note : Les valeurs des cookies sont dans le tableau pré-rempli $_COOKIE
         Le cookie utilisé (ou la variable dans $_GET à defaut) s'appelle
         PHPSESSID
         La session existe dès qu'elle est crée et jusqu'à ce qu'elle soit détruite
                Création (et réouverture) : session_start ()
                Destruction : session_destroy ()
                Note : les session s'autodétruisent après un certain temps
                (généralement 30 min)




pierre-nicolas.clauss@loria.fr (LORIA)   Cours HTML / CSS / PHP / MySQL   12 mars 2008   52 / 63
                                               (My)SQL
  Plan
  1   HTML
        Introduction
        Texte en HTML
        Listes en HTML
        Tableau en HTML
  2   CSS
        Utilité
        Syntaxe
  3   PHP
        Introduction
        Eléments du langage
        PHP avec HTML
  4   (My)SQL
        Introduction à SQL
        MySQL avec PHP
pierre-nicolas.clauss@loria.fr (LORIA)   Cours HTML / CSS / PHP / MySQL   12 mars 2008   53 / 63
                                               (My)SQL   Introduction à SQL
  Plan
  1   HTML
        Introduction
        Texte en HTML
        Listes en HTML
        Tableau en HTML
  2   CSS
        Utilité
        Syntaxe
  3   PHP
        Introduction
        Eléments du langage
        PHP avec HTML
  4   (My)SQL
        Introduction à SQL
        MySQL avec PHP
pierre-nicolas.clauss@loria.fr (LORIA)   Cours HTML / CSS / PHP / MySQL       12 mars 2008   54 / 63
                                               (My)SQL   Introduction à SQL
  Dénition



         SQL est un langage puissant de requête
         Il permet de faire une demande complexe à une base de données dans
         un langage proche de l'anglais
         On l'utilise pour récupérer, ajouter, supprimer et créer des données
         dans une base de données
         Les bases de données utilisent des tables :
                chaque ligne est un enregistrement de champs avec des valeurs
                les requêtes se font sur ces champs




pierre-nicolas.clauss@loria.fr (LORIA)   Cours HTML / CSS / PHP / MySQL       12 mars 2008   55 / 63
                                               (My)SQL   Introduction à SQL
  Exemple
                        Table 'PersosXVI'
    Nom                 Prenom Age Activite
    CARTIER             Jacques           44       Explorateur
    CALVIN              Jean              26       Réformateur
    CHASTEL             Jean              19       Assassin
    PARE                Ambroise          44       Chirurgien
  Requête interrogative
  SELECT ∗ FROM PersosXVI;


  Requête sélective
  SELECT Nom, Prenom FROM PersosXVI;


  Requête restrictive
  SELECT ∗ FROM PersosXVI WHERE Prenom = 'Jean';

  On peut complètement mélanger les types de requêtes
pierre-nicolas.clauss@loria.fr (LORIA)   Cours HTML / CSS / PHP / MySQL       12 mars 2008   56 / 63
                                               (My)SQL   Introduction à SQL
  Exemple complexe

                             Table 'PersosXVI'                                 Table 'RoiXVI'
    Nom                 Prenom Age Activite                           Roi     Id Nom
    CARTIER             Jacques           44       Explorateur        3       1     Henri II
    CALVIN              Jean              26       Réformateur        1       2     Charles IX
    CHASTEL             Jean              19       Assassin           4       3     Francois Ier
    PARE                Ambroise          44       Chirurgien         2       4     Henri IV
  Requête croisée
  SELECT p.Nom, p.Activite FROM PersosXVI p, RoiXVI r WHERE p.Roi = r.Id AND r.Nom = 'Francois Ier'
  ORDER BY p.Nom DESC;


  Résultat
   CARTIER Explorateur


pierre-nicolas.clauss@loria.fr (LORIA)   Cours HTML / CSS / PHP / MySQL           12 mars 2008        57 / 63
                                               (My)SQL   Introduction à SQL
  Exemple de fonctions

                        Table 'PersosXVI'
    Nom                 Prenom Age Activite
    CARTIER             Jacques           44       Explorateur
    CALVIN              Jean              26       Réformateur
    CHASTEL             Jean              19       Assassin
    PARE                Ambroise          44       Chirurgien
  Décompte
  SELECT count(∗) FROM PersosXVI;


  Somme
  SELECT sum(Age) FROM PersosXVI;

  Ce type de requête peut simplier le code de traitement


pierre-nicolas.clauss@loria.fr (LORIA)   Cours HTML / CSS / PHP / MySQL       12 mars 2008   58 / 63
                                               (My)SQL   Introduction à SQL
  Manipulation des données

                        Table 'PersosXVI'
    Nom                 Prenom Age Activite
    CARTIER Jacques                      44       Explorateur
    CALVIN  Jean                         26       Réformateur
    CHASTEL Jean                         19       Assassin
  Requête d'insertion
  INSERT INTO PersosXVI(Nom, Prenom, Age, Activite) VALUES('PARE', 'Ambroise', 44, 'Chirurgien');


  Requête de mise à jour
  UPDATE PersosXVI SET Age = 43 WHERE Nom = 'CARTIER';


  Requête de suppression
  DELETE FROM PersosXVI WHERE Prenom = 'Jean';



pierre-nicolas.clauss@loria.fr (LORIA)   Cours HTML / CSS / PHP / MySQL              12 mars 2008   59 / 63
                                               (My)SQL   MySQL avec PHP
  Plan
  1   HTML
        Introduction
        Texte en HTML
        Listes en HTML
        Tableau en HTML
  2   CSS
        Utilité
        Syntaxe
  3   PHP
        Introduction
        Eléments du langage
        PHP avec HTML
  4   (My)SQL
        Introduction à SQL
        MySQL avec PHP
pierre-nicolas.clauss@loria.fr (LORIA)   Cours HTML / CSS / PHP / MySQL   12 mars 2008   60 / 63
                                               (My)SQL      MySQL avec PHP
  Accès au serveur




  Connexion
         $c = mysql_connect("localhost", "login", "mdp");

         $c   est   false   en cas d'erreur de connexion

  Choix de la base
         $s = mysql_select_db("nom", $c);

         $s   est   false   en cas d'erreur




pierre-nicolas.clauss@loria.fr (LORIA)   Cours HTML / CSS / PHP / MySQL      12 mars 2008   61 / 63
                                                    (My)SQL   MySQL avec PHP
  Requêtes

  Exécution
         $res = mysql_query("une requete", $c);

         $res   est   false   en cas d'erreur

  Récupération de(s) résultat(s)
         $row = mysql_fetch_row($res);

         $tab = mysql_fetch_array($res);

         $obj = mysql_fetch_object($res);


         $row [0]; $row [1]; ...

         $tab["champ"]; ...    ou $tab [0];   ...

         obj −>champ; ...




pierre-nicolas.clauss@loria.fr (LORIA)   Cours HTML / CSS / PHP / MySQL        12 mars 2008   62 / 63
                                               (My)SQL   MySQL avec PHP
  Fonctions annexes




         mysql_num_rows($res)   : retourne le nombre de résultats d'un SELECT
         mysql_aected_rows($res) : retourne le nombre de ligne aectées par un
         INSERT, un UPDATE ou un DELETE
         mysql_insert_id($c) : retourne le dernier incrément d'un champ
         AUTO_INCREMENT
  Attention aux injections SQL !




pierre-nicolas.clauss@loria.fr (LORIA)   Cours HTML / CSS / PHP / MySQL   12 mars 2008   63 / 63

								
To top