UCAD Cours Php 1011

download UCAD Cours Php 1011

of 19

Transcript of UCAD Cours Php 1011

  • 8/19/2019 UCAD Cours Php 1011

    1/50

    Langage PHPles fondamentaux

    M. DIENG Abdoulaye

    UCAD/FST/DMI/Li!"o

  • 8/19/2019 UCAD Cours Php 1011

    2/50

    y

    #b$etif %&n&"al

    A'u&"i" les om(&tenes

    n&essai"es (ou" d&)elo((e" dessites *eb dynami'ues

  • 8/19/2019 UCAD Cours Php 1011

    3/50

    #b$etifs o(&"ationnels

    Sto+e" et utilise" des donn&es , l-aide des)a"iables et des o(&"ateu"s

    Mani(ule" des tableaux et des anes de

    a"at0"es D&fini" et utilise" des fontions Cont"1le" le flux d-ex&ution des

    inst"utions

     T"aite" des fo"mulai"es et des fiie"su(load&s G&"e" le tem(s G&"e" des sessions Inte"fae" !2! a)e MyS3L 

  • 8/19/2019 UCAD Cours Php 1011

    4/50

    Le Sommai"e

    4. 3u5est e 'ue !2!67. 2isto"i'ue de !2!6

    8. !"ini(e defontionnement9. Exem(le int"odutif :. Les ty(es de base

    ;. Les onstantes. Les fontions

    4?.Les st"utu"es deont"1le44.Le t"ansfe"t de

    donn&es47.La %estion du tem(s48.La %estion des

    sessions49.!2! @ MyS3L

  • 8/19/2019 UCAD Cours Php 1011

    5/50

    3u5este 'ue !2!6

    !2! est un lan%a%e de s"i(t ex&ut& du 1t& se")eu" etutilis& essentiellement (ou" "&e" des (a%es *ebdynami'ues.

    A la diff&"ene des (a%es stati'uesB les (a%es dynami'uesdoi)ent s5ada(te" besoin de l5eu"eB a0s , des basesde donn&esB "&(onse (e"sonnalis&eB t"aitement de

    fo"mulai"eB et. Les ("ini(aux onu""ents de !2! sont AS! et S!B maisles atouts ma$eu"s de !2! sont – %"atuit& et dis(onibilit& du ode sou"e– "iesse fontionnelle–

    dis(onibilit& su" le *eb de nomb"eux s"i(ts– failit& d5inlu"e le !2! au sein d5une (a%e tml– sim(liit& d5inte"faHa%e a)e des bases de donn&es– int&%"ation au sein de nomb"eux se")eu"s eb– (e"fo"manes &le)&es

    – sim(liit& d-a(("entissa%e et d-utilisation.

  • 8/19/2019 UCAD Cours Php 1011

    6/50

    2isto"i'ue de !2!

    D&but 4>>: Mise en li%ne (a" Jasmus Le"do"f de la ("emi0"e )e"sionBessentiellement en !e"lB (ou" note" les a0s , son CK. Il la ba(tisaainsi !e"sonal Sommai"e !a%e ToolsB (uis !e"sonal 2ome !a%e )4.?

    t& 4>>: "&ation de !2!/FI )7B essentiellement en lan%a%e C etint&%"ant des st"utu"es de ont"1leB un (a+a%e (e"mettantd5inte"("&te" les fo"mulai"es FIB Fo"m Inte"("ete" ainsi 'u-un su((o"tde mS3L.

    En 4>>=B des d&)elo((eu"s d-a((liations d-eomme"e ee)Su"as+i et Andi Gutmans "e$oi%nent Jasmus (ou" mett"e au (oint!2! 8 et le "eba(tise !2! 2y(e"text !"e("oesso" O

    En 7??? (ubliation de !2! 9 a)e un nou)eau syst0me d5analyseu"syntaxi'ue (lus a)an& a((el& le end en%ine. Ce moteu" ("o0de en

    deux &ta(es d5analyse (uis d5ex&ution En 7??9 (ubliation de !2! : 'ui utilise end En%ine 7 a)e un

    nou)eau mod0le ob$et AtuellementB la de"ni0"e )e"sion stable est !2! :.8.: de(uis le

    ?;/?4/44

  • 8/19/2019 UCAD Cours Php 1011

    7/50

    3    

    2  

     4

    6

    5  

    1

    !"ini(e de fontionnement

      lient *eb se")eu" *eb

      4. "e'uPte de donn&es7. ati)ation du moteu" !2! moteu" !2!

      8. onnexion au se")eu" QDD  9. ext"ation des donn&es  :. fo"mata%e en 2TML  ;. "&(onse se")eu" QDD 

  • 8/19/2019 UCAD Cours Php 1011

    8/50

    Exem(le int"odutifR6

     / la )a"iable titre sto+e le tit"edu s"i(t /  tit"e 5 S"i(t int"odutif 56VR2TMLV R2EADV  R6((

      W affie le tit"e de la (a%e  eo X RtitleV tit"e R/titleVX  6V R/2EADV RQ#DYV   

    // affie le ontenu de la (a%eeo 52elloB o"ld Z5 

  • 8/19/2019 UCAD Cours Php 1011

    9/50

     Ty(es salai"esnum&"i'ues et bool&en

    !ye entier:• un entie" ou inte%e" "e("&sente un entie" "elatif 87 bits• %&n&"alement ent"e ^7 49< =98 ;9= et 7 49< =98 ;9<

    !ye réel• Un "&el ou double "e("&sente un nomb"e , )i"%ule.• de 4B

  • 8/19/2019 UCAD Cours Php 1011

    10/50

     Ty(es salai"esane de a"at0"es

    une st"in% "e("&sente une suite de a"at0"es il y a 7:; a"at0"esB mais une st"in% est

    illimit&e. une onstante st"in% est d&limit&e (a" des

    %uillemets 5 ou X . Les %uillemets (e"mettent d-inte"("&te"d-&)entuels a"at0"es d-ation ou )a"iables

    ("&sents dans la ane 'u-ils d&limitent. l-antislas _ (e"met d-&a((e" ou de

    d&s(&ialise" les a"at0"es 5B XB _B

    #lication , o""i%e"  echo 'je n'ai rien compris ';

  • 8/19/2019 UCAD Cours Php 1011

    11/50

     Ty(es salai"es'uel'ues fontions

    gettye%$var  "etou"ne le ty(e de )a" settye%$var& "tye'désiré"  "en)oie t"ue si le

    ty(e de )a" est modifi&e intval%$var& do(bleval%$var& strval%$var:

    (e"mettent de on)e"ti" is'string%$var& is'bool%$var& is'int%$var&

    is'do(ble%$var& is'n(meric%$var&is'array%$var : (e"mettent de teste" un ty(e

    isset%$var "en)oie false si var  n-est (as

    initialis&e ou )aut NULL emty%$var "en)oie true si var  n-est (asinitialis&e ou )aut NULLB ?B ?.?B XX ou X?X.

    (nset%$var d&t"uit la )a"iable )a"

  • 8/19/2019 UCAD Cours Php 1011

    12/50

     Ty(es salai"es'uel'ues fontions su" les st"in%s

    strlenst"  "en)oie la lon%ueu" de st". strcmst"4B st"7 om(a"e al(ab&ti'uement

    st"4 et st"7 trimst" su(("ime des es(aes de d&but et de fin de

    ane.

    addslashesst" d&s(&ialise les a"at0"es 5B XB _ strislashesst" su(("ime les antislass s(bstrst"BiB$  "etou"ne une sous ane de $str

    de taille $* et d&butant , la (osition $i a""ay exlode st"in% se( B st"in% st"

    "etou"ne un tableau de anesB aune d5elle &tantune sousane du (a"am0t"e string ext"aite enutilisant le s&(a"ateu" sep.

  • 8/19/2019 UCAD Cours Php 1011

    13/50

  • 8/19/2019 UCAD Cours Php 1011

    14/50

     Tableaux("&sentation

    Un tableau est un "e%"ou(ement de donn&esde ty(es distints ou nonB d&si%n& (a" unidentifiateu" uni'ue

    Ca'ue donn&e est "e(&"&e (a" une l& ou

    indie de ty(e entie" (ositif ou de ty(est"in%Un tableau est d&finie (a" la fontion array% 

    #lication8 , o""i%e"$tab = aray('toto, 200, !"#);%% $ass stoc&e n tabea associatif

    $ass = array('nom' = *aye', 'prenom' = 'N+or');

    %% as de dobe -otes a.ec echo

    echo $tab/#;%%A a i+ne si.ante, afficher e pr1nom si.i d nom

  • 8/19/2019 UCAD Cours Php 1011

    15/50

     Tableaux'uel'ues fontions

    c(rrenttab"etou"ne la )aleu" ou"ante de $tab next%$tab et rev%$tab: mPme "1le 'ue c(rrent mais

    next a)ane d-abo"d le (ointeu"B tandis 'ue rev  le "euled-abo"d.

    reset%$tab: d&(lae le (ointeu" de $tab au d&but et"etou"ne la ("emi0"e )aleu" de eluii.

    in9array%$var&$tab )&"ifie si une )aleu" existe dans un

    tableau co(nt%$tab "etou"ne le nomb"e d-&l&ment d-un tableau. array'search%$val&$tab "etou"ne la l& assoi&e , la

    )aleu" )al. each%$tab  "etou"ne le ou(le l&/)aleu" ou"ant extract%$tab  "eHoit un tableau assoiatif $tab et "&e

    des )a"iables dont les noms sont les l&s de $tabB et leu"affete les )aleu"s assoi&es. list%$var&$var7& assi%ne une liste de )a"iables en une

    seule inst"ution. sort%$tab et rsort%$tab la ("emi0"e (e"met le t"i

    al(anum&"i'ue des &l&ments de tabB et le seond faitl-in)e"se.

    array'merge%$tab&$tab7& onat0ne les tableaux(ass&s en a"%ument

  • 8/19/2019 UCAD Cours Php 1011

    16/50

    #(&"ateu"sa"itm&ti'ues/assi%nation/lo%i'ues

    #(&"ateu"s arithméti(es   B 9B =B /B moduloB in"&mentB 99

    d&"&ment #(&"ateu"s d-assignation   ? affetationB ? a$oute" ,B=?B /?B 9?B ? #(&"ateu"s logi(es   #,@B AA etB #JB BB ouB C-4 ou exlusifB D non

    A K K F F

    Q K F F KAQ K F F F

    A Q K K F K

    A c#J Q F K F K

    Z A F F K K

    K"aie si toutes les o(&"andes sont)"ai

    K"aie si au moins l-un des o(&"andesest )"ai

    K"aie si un seul des o(&"andes est)"ai

  • 8/19/2019 UCAD Cours Php 1011

    17/50

    #(&"ateu"som(a"aison/onat&nation/te"nai"e

    #(&"ateu"s de comaraison   ?? &%alit&B

  • 8/19/2019 UCAD Cours Php 1011

    18/50

    Fontions("&sentation

    Les fontions (e"mettent de d&ou(e" un ("o%"amme(ou" le "end"e (lus lisible et (lus faile , d&bo%ue" ainsi'ue de "&utilise" du ode 'ui "e)ient sou)ent.

    Une fontion n-est ex&ut&e 'ue lo"s'u-elle est a((el&e. Il est fo"tement "eommand& de d&fini" une fontion

    a)ant son a((el.5yntaxe de la dé+inition d’(ne +onction:

      +(nction  nomDeLaFontion a"%\4B a"%\7B [ g odeDeLaFontion h

     ret(rn (e"met , une fontion de "en)oye" une )aleu"

  • 8/19/2019 UCAD Cours Php 1011

    19/50

    Fontions)isibilit& des )a"iables

    Une )a"iable loale n-est aessible 'u-au sein de lafontion 'ui la ontient.  Une )a"iable %lobale est d&la"&e , l5ext&"ieu" de tout

    blo d5inst"utions et est automati'uement aessiblede (a"tout dans le ode sauf , l-int&"ieu" des fontions.

    Une fontion a0de , une )a"iable %lobale , l-aide dumotl& global

    #liF , "etifie" (ou" affie" les )aleu"s affiables O $a = 2; $b = ;

    fnction affiche;

    echo (3a = $a , b = $b et c= $c3);

     ?

    affiche

  • 8/19/2019 UCAD Cours Php 1011

    20/50

    Fontions(assa%e (a" "&f&"ene

    La )aleu" d-un a"%ument effetif n-est effeti)ementan%&e 'ue s-il est (ass& (a" "&f&"ene ou ad"esse #lication G , teste"  fnction modifier( $ar+ment@forme )

      echo '5bra.ant modification on a8 '"$ar+ment@forme;

      $ar+ment@forme = $ar+ment@forme"3 est modifi13;

      echo '5brfin modification on a8 '"$ar+ment@forme;

     ?

    $.ariabe = 3 :ar+ment effectif3;

    echo 5p 5ba.ant passa+e par .aer, on a8 5%b'"$.ariabe;

    modifier($.ariabe); %% passa+e par .aer

    echo ' 5br5baprBs passa+e par .aer, on a8 5%b'"$.ariabe;

    echo ' 5p5ba.ant passa+e par adresse, on a8 5%b'"$.ariabe;

    modifier(C$.ariabe); %% passa+e par r1f1rence poncte

    echo ' 5br5baprBs passa+e par adresse, on a8 5%b'"$.ariabe;

  • 8/19/2019 UCAD Cours Php 1011

    21/50

    St"utu"es de ont"1leonditionnelles

    Elles (e"mettent d5ex&ute" un t"aitement enfontion d-une ou de (lusieu"s onditions. if (condition) traitement? if (condition_1)traitement _1?ese (condition_2) traitement _2?

    if (condition_1) traitement _1?eseif (condition_2) traitement _2?  D %% suite de elseif ese traitement _n?

    sitch(expression)

      case constante_1 8 traitement _1 ? brea&;  case constante_2 8 traitement _2 ? brea&;

      D %% suite de case

      defat 8 traitement par d1fat?

      ?

  • 8/19/2019 UCAD Cours Php 1011

    22/50

    St"utu"es de ont"1leit&"ati)es

    Elles (e"mettent la "&(&tition d-un t"aitement en fontion d-uneondition.

    while(condition) { traitement }

      La ondition est test&e a)ant la ("emi0"e ex&ution du t"aitement.Initialise" la )a"iable 'ui subit la ondition (ou" le ("emie" (assa%eFai"e &)olue" la )a"iable 'ui subit la ondition , l-int&"ieu" de la

    boule do { traitement } while(condition);  Le t"aitement est ex&ut& au moins une fois

    Fai"e &)olue" la )a"iable 'ui subit la ondition , l-int&"ieu" de laboule

    for (exp1 ; condition ; exp2 ) { traitement }

      Le t"aitement est "&(&t& un nomb"e onnu de fois

    Parco(rir (n tablea(  foreach ($tableau as $valeur) {traitement }

    foreach ($tableau as $cle => $val) {traitement }

  • 8/19/2019 UCAD Cours Php 1011

    23/50

    St"utu"es de ont"1leaut"es st"utu"es

    brea: (e"met de 'uitte" une st"utu"e it&"ati)e contin(e (e"met de saute" les inst"utions de l5it&"ation

    ou"ante afin de (asse" di"etement , l5it&"ation sui)ante exit% : te"mine l5ex&ution du s"i(t ou"ant die"messa%e" te"mine l-ex&ution du s"i(t ou"ant en

    affiant la "aison le messa%e s(&ifi&. incl(de%"chemin/du/fichier " : inlut le fiie" s(&ifi& ou

    bien ("oduit une ale"te*a"nin% incl(de'once%"chemin/du/fichier " )a"iante de inlude

    'ui inlus une seule fois le fiie" s(&ifi&B &)itant de efait les "ed&finitions de )a"iables ou de fontionsB%&n&"at"ies d5ale"tes.

    re(ire%"chemin/du/fichier " inlut le fiie" s(&ifi& oubien ("oduit une e""eu" fatale. A utilise" si le fiie" ,inlu"e est indis(ensable.

    re(ire'once%"chemin/du/fichier "  )a"iante de "e'ui"e

    'ui inlus une seule fois le fiie" s(&ifi&.

  • 8/19/2019 UCAD Cours Php 1011

    24/50

    St"utu"es de ont"1lea((liation su" fo"ea

    A((liation

  • 8/19/2019 UCAD Cours Php 1011

    25/50

    St"utu"es de ont"1lea((liation su" l-inlusion de fiie"

    A((liation =4. "i"e es deux s"i(ts dans le mPme dossie" (uis ex&ute" le

    seond7. Dans le 7ndB fai"e une e""eu" su" le emin du fiie" inlus et

    ex&ute"8. Dans le 7ndB an%e" include (a" require et "efai"e les

    'uestions ("&&dentes

    contenu.php  56php $etat = 'rempie' 6

    tasse.php

     56php $etat ='.ide';  echo 3Fa tasse est $etat3;  incde ('conten"php') ;  echo 35br %Fa tasse est $etat3; 6

     

  • 8/19/2019 UCAD Cours Php 1011

    26/50

     T"ansfe"t de donn&esm&tode de t"ansmission

    L-UJL (e"met le t"ansfe"t de donn&es d-une (a%e , une aut"e ommeB su" etexem(le:  Ra "efX(a%e7.((Etotal?IIIIXV Alle" , la (a%e 7 en t"ansmettant le total R/aV  La (a%e7 a0de , la )a"iable t"ansmise (a" le biais du tableau  su(e" %lobal $'J0!K %ex eo \GET5total5 // affie 4???? J0! m&tode de t"ansmission (a" d&faut des fo"mulai"esB t"ansmet les

    donn&es (a" le biais des UJL  UJL\s"i(t\destinatai"e6nomCam(4)aleu"4nomCam(7)aleu"7[  Le s"i(t destinatai"e a0de aux donn&es t"ansmises (a" le biais du tableau

    su(e" %lobal $'J0!. !lus ("&is&ment (a" \GET5nomCam(5 P-5! t"ansmet )ia le o"(s d-une "e'uPte 2TT!. Le s"i(t destinatai"e a0de

    aux )a"iables t"ansmises (a" le biais du tableau su(e" %lobal $'P-5!. !lus("&is&ment (a" \!#ST5nomCam(5

      ,  !#ST est utilis&e (ou" $oind"e un fiie" mais le s"i(t destinatai"e a0deaux info"mations nomB ty(eB tailleB [ su" le fiie" $oint (a" le biais du tableausu(e" %lobal $'12L05.

  • 8/19/2019 UCAD Cours Php 1011

    27/50

     T"ansfe"t de donn&es"a((el su" les fo"mulai"es ("&sentation

    Les fo"mulai"es (e"mettent d-inte"a%i" a)e l5inte"naute. !a"mi leu"s utilisations ou"antes on (eut note"

    "&u(&"e" des info"mations su" l5utilisateu" ("o&de" , des autentifiations (e"mett"e , l5utilisateu" de ont"ibue" , un site o(&"e" des "ee"es ou s&letions su" le site

    L5inte"naute ent"e les donn&es en "em(lissant des am(stexte une ou sieu"s li%nesB en oant une ou sieu"sases ou en s&letionnant un ou des &l&ments dans uneliste.

    Ensuite l5inte"naute soumet les donn&es en li'uant su" unbouton de soumission.

    La soumission en)oie les donn&es %&n&"alement , un s"i(t1t& se")eu" sous fo"me de (ai"es nom/)aleu"B 5est,di"e unensemble de donn&es "e("&sent&es (a" le nom de l5&l&ment defo"mulai"eB le a"at0"e XXB (uis la )aleu" assoi&e.

  • 8/19/2019 UCAD Cours Php 1011

    28/50

     T"ansfe"t de donn&es"a((el su" les fo"mulai"es &l&ment form

    form d&limite un fo"mulai"e et ses ("ini(aux att"ibuts sont actionXad"esse\s"i(t\ibleX

    s"i(t 1t& se")eu" 'ui t"aite"a les donn&es du fo"mulai"e. methodX%et(ostX•

    s(&ifie la m&tode 2TT! em(loy&e (ou" en)oye" lesdonn&es du fo"mulai"e , l5a%ent de t"aitement.• X%etXB )aleu" (a" d&fautB annexe les donn&es du fo"mulai"e ,

    l5UJL du s"i(t ibleex  scritKhEnomham?vale(rAnomham7?vale(r7A KKK

    • X(ostX est la )aleu" 'ui ino"(o"e les donn&es du fo"mulai"edans la "e'uPte 2TT!.

    enctypeXmulti(a"t/fo"mdataXsi un fiie" doit Pt"e $oint au fo"mulai"e

    T f t d d &

  • 8/19/2019 UCAD Cours Php 1011

    29/50

     T"ansfe"t de donn&es"a((el su" les fo"mulai"es &l&ment input 

    input, enfant de formB d&finit une jone de saisieB une ase , oe"Bun boutonB et. Ses ("ini(aux att"ibuts sont

    ty(e Xtext |password |checkbox |radio |submit |reset |hidden |button |file 'ui ("&ise le ty(e de am(. 

    name obi%atoi"e a" il (e"mett"a au s"i(t de onnat"e le am(assoi& , la (ai"e nom/)aleu"B 5est,di"e 'ue le nom du am(se"a sui)i du a"at0"e XX (uis de la )aleu" ent"&e (a"l5utilisateu"B ou dans le as ont"ai"e de la )aleu" (a" d&faut"e(&"& (a" l5att"ibut value.

    )alue )aleu" de la donn&e t"ansmiseobli%atoi"e lo"s'ue typek Xtext|password|file

    e+edXe+edX (ou" ("&seletionne" un bouton "adio

  • 8/19/2019 UCAD Cours Php 1011

    30/50

     T"ansfe"t de donn&es"a((el su" les fo"mulai"es &l&ment select  

    selet d&limite une liste d&"oulante ou non– nameXnom\t"ansmisX– sijeXnX n o(tions )isibles d-une liste non d&"oulante– multi(le Xmulti(leX (e"met le oix multi(le dans une liste

    non d&"oulante. Dans e asB name Xnom\t"ansmisM NX

    o(tion enfant de seletB d&limite un oix dans une liste– )alue )aleu" t"ansmise si l-o(tion d&limit&e est oisie– seleted XseletedX (ou" ("&s&letionne" une o(tion

  • 8/19/2019 UCAD Cours Php 1011

    31/50

     T"ansfe"t de donn&es"a((el su" les fo"mulai"es &l&ment textarea"

    texta"ea d&limite une jone de saisie multili%nes– name nom t"ansmis– "osXn X nomb"e de li%nes )isibles– olsXn X nomb"e de a"at0"es )isibles (a" li%ne

  • 8/19/2019 UCAD Cours Php 1011

    32/50

     T"ansfe"t de donn&es"a((el su" fo"mulai"e &l&ments d-aessibilit&

    label (e"met dassoie" un texte li'uable O , un&l&ment de fo"mulai"e. Cette "elation ent"e le texted&limit& (a" label et l-&l&ment (eut se fai"e enliant l5att"ibut for  du label , l5att"ibut id de l-&l&ment.

    fieldset o"%anise un fo"mulai"e en (lusieu"s sous(a"ties ou t0mes

    le%end enfant de fieldsetB (e"met de donne" untit"e , aun des t0mes. Cet &l&ment d&limite le

    tit"e de la sous(a"tie

    T f t d d &

  • 8/19/2019 UCAD Cours Php 1011

    33/50

     T"ansfe"t de donn&es"a((el su" fo"mulai"e application #

    T f d d &

  • 8/19/2019 UCAD Cours Php 1011

    34/50

     T"ansfe"t de donn&esa((liation

    #lication I: onstr(ire les +orm(laires so(rces et

    tester script_1.php  t"aitement d-une donn&e salai"eif ( (strcmp($_POST[lo!i"#, toto) == 0) CC

    (strcmp($_POST[d%#, secret) == 0))

    echo Gien.en "$@H4I/o+in; ese echo AJJE4 KNIELMKI;

    script_2.php t"aitement de (lusieu"s donn&es )enant d-unmPme &l&ment de fo"mulai"e

      echo

  • 8/19/2019 UCAD Cours Php 1011

    35/50

    Gestion du tem(stime/date

    int time )oid"etou"ne le timestam( de l5eu"e ou"ante ,d le nomb"ede seondes &oul&es de(uis le 4e" $an)ie" 4>

  • 8/19/2019 UCAD Cours Php 1011

    36/50

    Gestion du tem(s%etdate

    a""ay getdate% timestamp"etou"ne un tableau assoiatif ontenant les info"mationsde date et d5eu"e du timestam( timestamp lo"s'u5il estfou"niB sinonB le timestam( de la date/eu"e ou"ante.

      clés : seondsB minutesB ou"sB

    mday 4 , 84B day ? (ou" Dim , ; (ou" SamByday ? , 8;:B ee+day Sunday , Satu"dayBmon 4 , 47B mont anua"y , Deembe" B

      yea" xxxx  et ? timestam(.

    #lication 7 Utilise" %etdate (ou" affie" l-eu"e ou"ante sous lefo"mat xxyymins

  • 8/19/2019 UCAD Cours Php 1011

    37/50

    Gestion du tem(se+date/m+time

    bool checdate int mois B int $ou" B int annee )&"ifie la )alidit& d5une date fo"m&e (a" les a"%uments.Le mois doit Pt"e om("is ent"e 4 et 47 le $ou" doit Pt"e un $ou" auto"is& (a"le mois donn& les ann&es bissextiles sont ("ises en om(tes l-ann&e estom("ise ent"e 4 et 87

  • 8/19/2019 UCAD Cours Php 1011

    38/50

    Gestion des sessions("&sentation

    La %estion des sessions (e"met d5en"e%ist"e" 1t& se")eu"

    des info"mations su" un inte"naute afin de les "&utilise" toutau lon% de la )isite de e de"nie".Les )a"iables sto+ant es info"mations doi)ent Pt"e

    ex(liitement en"e%ist"&es dans le tableau su(e" %lobal\SESSI#N.

    Ce 'ui (e"met ainsi de sui)"e un inte"naute de (a%e en(a%eB de sau)e%a"de" un addieB de s&u"ise" un siteB et. Tout )isiteu" se )oit assi%ne" un Xidentifiant de sessionX

    (e"mettant de "et"ou)e" des info"mations su" lui.Cet identifiant est sto+& dans un oo+ie ej le lient ou

    ("o(a%& dans l5UJL des (a%es )isit&es.

    Une session doit obli%atoi"ement d&ma""e" a)ant l-en)oi detoute info"mation ej le lient.

  • 8/19/2019 UCAD Cours Php 1011

    39/50

    Gestion des sessionsexem(le

    Sto+a%e d-une info"mation dans une )a"iable

      total 8:??? // Montant d-une ommande (a" exem(le C"&ation d-une session  session'start% // #bli%atoi"e aussi (ou" ("olon%e" une

    session En"e%ist"ement de la )a"iable total- dans la session

    $'50552-,MQtotal’N ? $total  Affia%e de l-info"mation dans une aut"e (a%e (a" exem(le  eo $'50552-,MQtotal’N;  Test de l-en"e%ist"ement de la )a"iable total- dans la session  i+ % isset% %$'50552-,MQtotalRN Su(("ession de la )a"iable de session assoi&e , total-

      (nset%$'50552-,MQtotalRN; Dest"ution de toutes les )a"iables de session  $'50552-, ? array%; // Tableau )ide Dest"ution de la session  session'destroy%; 

  • 8/19/2019 UCAD Cours Php 1011

    40/50

    !2! @ MyS3L("&sentation de MyS3L

    Le SGQDJ Syst0me de Gestion de Qases de donn&esJelationnelles o(en sou"e le (lus utilis& su" le *eb.

    Lo%iiel (e"mettant de "&e" des bases de donn&esB de lesex(loite" en y effetuant notamment des "ee"es desmodifiations ou des t"is et de ont"1le" l-a0s aux

    donn&es. Ses ("ini(aux onu""ents sont !ost%"eS3LB Mi"osoft S3L

    Se")e"B DQ7 et #"ale mais ses atouts ma$eu"s sont (e"fo"manes &le)&es ot "&duit sim(liit& de onfi%u"ation et d-a(("entissa%e (o"tabilit& aessibilit& du ode sou"e dis(onibilit& du su((o"t .mys'l.om

  • 8/19/2019 UCAD Cours Php 1011

    41/50

    !2! @ MyS3Ld"oits d-a0s aux donn&es

    Syntaxe S3L (ou" donne" des ("i)il0%es aux s"i(ts !2!GJANT d"oit4 liste\olonnes B d"oit7 liste\olonnes ...

      #N gnom\de\table . nom\base.h  T# nom\utilisateu"4 IDENTIFIED QY 5(asso"d5  B nom\utilisateu"7 IDENTIFIED QY 5(asso"d5 ...

      *IT2 GJANT #!TI#N Les d"oits su" une table sont SELECT B INSEJT B U!DATE B DELETE B CJEATE B

    DJ#! B GJANT #!TI#N B INDEc et ALTEJ . Les d"oits su" une olonne sont SELECT B INSEJT et U!DATE. Si une base est s&letionn&eB #N donne des d"oits su" elle. Si auune base n-est s&letionn&eB #N affete les d"oits au ni)eau du

    se")eu". nom\utilisateu" est %&n&"alement sous la fo"me 5use"55ost5 La lause *IT2 GJANT #!TI#NB est utilis&e (ou" auto"ise" la t"ansmission des

    d"oits.

  • 8/19/2019 UCAD Cours Php 1011

    42/50

    !2! @ MyS3L&ta(es de la ommuniation

    !ou" 'ue !2! t"a)aille a)e MyS3LB il faut Konnexion a( serve(r

    Autentifiation C"&ation d5une "essou"e

    K5élection d’(ne base de données7K6tilisation des tables .y5SL

    Letu"e "itu"e

    TK @éconnexion d( serve(r  Faultati)e si la onnexion et non(e"sistante

    NQ Toutes les fontions !2! (ou" %&"e" une baseou

    une table MyS3L ommenent (a" mysl'

  • 8/19/2019 UCAD Cours Php 1011

    43/50

    !2! @ MyS3Lonnexion au se")eu"

    mysl'connect%se")e"Buse"B(asso"d (e"met de se onnete" au se")eu"

    $server en tant 'u-utilisateu" $(ser a)e

    le mot de (asse $assUord "etou"ne l-identifiant de onnexion sisu0sB FALSE sinon.

    Il est "eommand& de ont"1le" la "&ussite

    ou non de la onnexion au se")eu"L-identifiant de onnexion "etou"n& se"autilis& omme (a"am0t"e (a" toutes lesaut"es fontions.

  • 8/19/2019 UCAD Cours Php 1011

    44/50

    !2! @ MyS3Ls&letion de la base de donn&es

    mysl'select'db%baseBid

    (e"met de s&letionne" la base $base

    "etou"ne TJUE en as de su0sB sinon FALSE

    id est l- identifiant de onnexion "etou"n&(a" mys'l\onnet

    Il est "eommand& de ont"1le" la "&ussite ounon de la s&letion de la QD

  • 8/19/2019 UCAD Cours Php 1011

    45/50

    !2! @ MyS3Lex&ution d-une "e'uPte

    mysl'(ery%"e'uete\s'lBid"eHoit une ane de a"at0"es 'ui ontient

    la "e'uPte &"ite en S3L

    "etou"ne un identifiateu" de "&sultat (ou"les "e'uPtes selet"etou"ne TJUE (ou" les aut"es "e'uPtes"etou"ne FALSE en as d-ee de n-im(o"te

    'uelle "e'uPteIl est "eommand& de ont"1le" la "&ussite

    ou non de l-ex&ution de la "e'uPte

  • 8/19/2019 UCAD Cours Php 1011

    46/50

    !2! @ MyS3Lex(loitation d-une selet )ia tableau sim(le

    mysl'+etch'roU"esultat "eHoit un identifiateu" de "&sultat et "etou"ne une

    li%ne de e "&sultat sous la fo"me d-un tableausim(le, indies entie"s. Les &l&ments du tableau

    &tant les )aleu"s des att"ibuts de la li%ne. "etou"ne FALSE s-il n-y a (lus auune li%ne #n a0de aux )aleu"s de la li%ne (a" leu" indie dans

    le tableau. Exem(le su" la table membresid%mbre, nom,

     prenom" $iste=mys-@-ery(Qseect prenom, nom from membresR);

    Shie($i+ne = ,s-l_fetch_row($iste) )

      echo renom 8"$i+ne/0"  Nom8 :"$i+ne/#"'5br %';

    ?

    !2! M S3L

  • 8/19/2019 UCAD Cours Php 1011

    47/50

    !2! @ MyS3Lex(loitation d-une selet )ia tableau assoiatif 

    mysl'+etch'assoc%"esultat "eHoit un identifiateu" de "&sultat et "etou"ne untableau assoiatif. Les l&s &tant les noms des att"ibutsde la lause SELECT et leu"s )aleu"s assoi&es &tantleu"s )aleu"s "es(eti)es dans la QDD.

    "etou"ne FALSE s-il n-y a (lus auune li%ne.Exem(le su" la table membresid%mbre, nom, prenom" $re-ete=Qseect nom, prenom from membresR;

    $iste=mys-@-ery($re-ete);

    Shie($i+ne =,s-l_fetch_assoc($iste))

      echo renom 8"$i+ne/prenom:"  Nom8 :"$i+ne/nom:"'5br %';

    ?

    !2! @ MyS3L

  • 8/19/2019 UCAD Cours Php 1011

    48/50

    !2! @ MyS3Lex(loitation d-une selet )ia tableau sim(le et/ou

    assoiatif 

    mysl'+etch'array%"esultatB ty(e\tableau\"etou"n&

    $type@tabea@retorn1 (eut ("end"e les)aleu"s • MYS3L\ASS#C • MYS3L\NUM

    • MYS3L\Q#T2 )aleu" (a" d&faut.

  • 8/19/2019 UCAD Cours Php 1011

    49/50

    !2! @ MyS3Laut"es fontions

    mysl'error% "etou"ne le texte assoi& , l5e""eu" %&n&"&e lo"s de la de"ni0"eo(&"ation , utilise" a)e die%.

    mysl'+ree'res(lt"esultat

    LibVre la m&moi"e assoi&e , l5identifiant de "&sultat 

    mysl'insert'id%id"etou"ne le de"nie" identifiant %&n&"& (a" un am(s de ty(eAUT#\INCJEMENT .

    mysl'n(m'roUs%id"etou"ne le nomb"e de li%nes d5un "&sultat d-une SELECT.

  • 8/19/2019 UCAD Cours Php 1011

    50/50

    !2! @ MyS3Laut"es fontions suite et fin

    mysl'real'escae'stringaine\a\ea((e"Bida$oute un slas , tout a"at0"e s(&ial de la ane , &a((e".Cette fontion doit tou$ou"s a)e 'uel'ues exe(tions Pt"e

    utilis&e (ou" ("ot&%e" les donn&es , ins&"e" dans la QDD.

    mysl'a++ected'roUs%id"etou"ne le nomb"e de li%nes modifi&es (a" la de"ni0"e "e'uPteINSEJTB U!DATE ou DELETE.

    mysl'closeidfe"me la onnexion identifi&e (a" id ou la onnexion en ou"s