PHP Tečaj - EZnalac

Embed Size (px)

Citation preview

  • 8/17/2019 PHP Tečaj - EZnalac

    1/50

    PHP tečaj

    eZnalac

  • 8/17/2019 PHP Tečaj - EZnalac

    2/50

    PHP tečaj opis

    PHP je jednostavan i vrlo moćan skriptni programski jezik za izradu sadržaja na webu.PHP je

    najpopularnije riješenje za izradu web stranica koje se oslanjaju na dinamiku (baze podatak, prikaz na

    frontendu itd… Koriste ga programeri koji cijene njegou fleksibilnost i brzinu, web dizajneri kojima

    odgoaraju njegoe mogu!nosti i lako!a upotrebe. "zuzetno je jednostaan za u#enje, a sa nau#enimse postiže jako mnogo.

    PHP je najpopularniji web programski jezik. $adi kako na %indows, tako i na &inu' platformama.

    Pogodan je za izradu si rsta web aplikacija, od oni mali koje predstaljaju samo dio jedne web

    stranice ili pak aplikacije, pa do eliki kompleksni web aplikacija.

    )aj#eš!e se koristi kao razojna platforma za interaktine web*mobilne stranice. Pored naedeni

    mogu!nosti, omogu!aa i rad sa bazama podataka kao što je +-&, te je i rad u ooj bazi podataka

    uklju#en u PHP tečaju na eznalac.eu.

    Po zaršetku programa biti !ete spremni samostalno izraditi lastite web aplikacije. /nanje PHP i

    MySQ programiranja i administracije je ne!to !to "am osigurava siguran napredak na polju

    internet programiranja. 0ladat !ete osnonim i nekim naprednim i tenikama PHP1a, instalacija

    (2pace, PHP3, sintaksa (proširena sintaksa PHP1a3, a zatim napredni PHP i +-&4 baze podataka i

    PHP i osnoe objektnog programiranja u PHP1u.

    PHP tečaj za cilj "as ima naučiti da konstrurate# pi!ete# dopunjavate i odr$avate internet

    aplikacije u PHP%u. 5ilj je da imate osnona programerska znanja za programiranje web aplikacija.

    koje obua!aju izradu web sopoa, internet portala, foruma, te izradu 5ontent +anagement rešenja

    (6oomla, 7rupa, %ordPress i sl.3.

    PHP tečaj%Struktura& 

    • 8od u PHP

    • 9to je PHP:

    • 8sporedba PHP1a sa drugim jezicima (-kriptnim3

    • -intaksa PHP1a

    • ;arijable

  • 8/17/2019 PHP Tečaj - EZnalac

    3/50

    • Komentari u PHP1u

    • $ad sa stringoima

    • $ad sa nizoima

    • ;išenamjenske stranice

    • -ession managment

    • 8od u +-&

    • 0snoe rada s +->lom

    • PHP i +-&

    • 8nos podataka

    • Pribaljanje podataka

    • ?risanje podataka

    • 8redianje podataka

    • 8od u PHP forme

    • +etode slanja i priata podataka

    • Prikaz i obrada unutar jednog dokumenta

    • @lementi za unos podataka

    &ekcije

    8od u PHP

    9to je PHP:

    PHP usporedba

    "nstalacija PHP1a

    -intaksa PHP1a

    ;arijable

  • 8/17/2019 PHP Tečaj - EZnalac

    4/50

    0bjekti

    "menoanje arijabli

    Prebacianje tipoa arijabli

    0peratori

    Kontrolne strukture

    Petlje

    Komentari u PHP1u

    $ad sa stringoima

    $ad sa nizoima

    ;išenamjenske stranice u PHP1u

    -ession managment u PHP1u

    8od u +-&

    9to je to +s>l baza:

    0snoe rada s +->lom

    )amještanje lozinke korisnika

    7efaultni +->l klijent

    http://eznalac.eu/lekcija/objekti/http://eznalac.eu/lekcija/imenovanje-varijabli/http://eznalac.eu/lekcija/prebacivanje-tipova-varijabli/http://eznalac.eu/lekcija/operatori/http://eznalac.eu/lekcija/kontrolne-strukture/http://eznalac.eu/lekcija/petlje/http://eznalac.eu/lekcija/komentari-u-php-u/http://eznalac.eu/lekcija/rad-sa-stringovima/http://eznalac.eu/lekcija/rad-sa-nizovima/http://eznalac.eu/lekcija/visenamjenske-stranice-u-php-u/http://eznalac.eu/lekcija/session-managment-u-php-u/http://eznalac.eu/lekcija/uvod-u-mysql/http://eznalac.eu/lekcija/sto-je-mysql-baza/http://eznalac.eu/lekcija/osnove-rada-s-mysqlom/http://eznalac.eu/lekcija/namjestanje-lozinke-korisnika/http://eznalac.eu/lekcija/defaultni-mysql-klijent/http://eznalac.eu/lekcija/objekti/http://eznalac.eu/lekcija/imenovanje-varijabli/http://eznalac.eu/lekcija/prebacivanje-tipova-varijabli/http://eznalac.eu/lekcija/operatori/http://eznalac.eu/lekcija/kontrolne-strukture/http://eznalac.eu/lekcija/petlje/http://eznalac.eu/lekcija/komentari-u-php-u/http://eznalac.eu/lekcija/rad-sa-stringovima/http://eznalac.eu/lekcija/rad-sa-nizovima/http://eznalac.eu/lekcija/visenamjenske-stranice-u-php-u/http://eznalac.eu/lekcija/session-managment-u-php-u/http://eznalac.eu/lekcija/uvod-u-mysql/http://eznalac.eu/lekcija/sto-je-mysql-baza/http://eznalac.eu/lekcija/osnove-rada-s-mysqlom/http://eznalac.eu/lekcija/namjestanje-lozinke-korisnika/http://eznalac.eu/lekcija/defaultni-mysql-klijent/

  • 8/17/2019 PHP Tečaj - EZnalac

    5/50

    8od u PHP

    6este li spremni za reoluciju u som žiotu kao web deelopera: 6este li spremni žrtoati par satisog remena da upoznate PHP sa sim njegoim rlinama i manama: 8jeraam ;as da necete

    požaliti soju odluku i da ce slijedeci par sati, koliko ce biti potrebno da ;as uedem u prediansijet PHP programiranja, biti dobro ulaganje u lastitu buducnost.

    7obro ulaganje: /ašto: ;rlo jednostano, PHP je jedan od najpopularniji i najmocniji skriptni jezika trenutno na tržištu. ?roj siteoa koji koriste PHP raste iz dana u dan, a broj trtki koje želeprimijeniti PHP na sojim siteoima je još eci. Pa zašto onda ne biste i i bili jedan od rijetki kojimože storiti jedan oaka site:

    +aloprije sam rekao Apredian sijet PHP programiranjaB . -igurno se pitate što je tako predino unjemu. Predino je to što pomocu njega možete storiti opširnu web aplikaciju sa elikim kolicinamapodataka sa takom lakocom da ni sami necete jeroati da ste to ucinili. -amo si pokušajtezamisliti koliko bi ste se namucili kada bi išli raditi site koji bi trebao prezentirati paletu proizodaneke firme i da ga krenete izradiati u cistom H

  • 8/17/2019 PHP Tečaj - EZnalac

    6/50

    Primjer 1

    Click to toggle codeblock

    12

    34567

      i  

    $ezultat predidate da ce izgledati4Pozdrav svima

    6oš jedna ažna star sima onima koji planiraju jednog dana biti napredni korisnici PHP1a je ta da je PHP bogat funkcijama za manipuliranje mnogo razliciti tipoa sadržaja. 0d manipuliranjagrafikom (png, jpg, flas…3 do loadanja .)@< modula i rada sa G+&1om

    0no što PHP stalja još iše ispred ostali web skriptni tenologija je njegoa podrška za baratanješirokom paletom baza podataka. Podržaa se popularnije baze podatak kao +-&, Postgre-&,d?ase, 0racle, 07?5…

    "sto tako njegoa neoisnost o operacijskom sustau i pristupacne cijene (besplatan je3 ga cinimedu prim izborom eliki i mali kompanija za izradu lastiti mrežni sustaa.+islim da je oo dooljno da se satko sa malo petlje i remena upusti prekrasni sijet PHPprogramiranja.

    PHP usporedba

    PHP vs ASP Pra razlika je ta što 2-P sam po sebi nije jezik ec skupina poezani objekata kojima možemopristupiti pomocu ;? ili 6aa -cripta. 7ruga star koja stalaj 2-P u drugi plan je ta što je 2-Ppodržan na %inI sistemima sa ""-1om, a morali bi izdojiti izdašnu sumu da bi ga pokrenuli nadrugim platformama ili sererima. ;eliki problem kod 2-P1a je to što je programer ogranicen samim jezikom koji je podijeljen na AkomponenteB i ukoliko želimo šire mogucnosti morali bismonadogradiati 2-P dodatnim komponentama, što u +icrosoft žargonu znaci dodatni troškoiE PHP vs Perl 0a da jezika imaju dosta slicnosti, ali iše razlika. Flana razlika je ta što je PHP namijenjen

    prensteno za web skriptanje a Perl ima mnogo širu upotrebu. -amim time ima i složeniju sintaksuod PHP1a što ga cini teže za nauciti i manje AsatljiimB od PHP1a. 8natoc široj uporabi Perla PHPkoristi mnoge AdobreB znacajke Perla poput konstruktora (iše o njima poslije3 i neki sintaktickiosobina .

     

    PHP vs Cold Fusion0snona razlika izmedu oa da jezika je ta što je PHP storen sa misli na praog programera saiskustom u nekom 5 stil jeziku, dok su storitelji 5old =usiona imali u prom planu neprogramere injima su prilagodili sintaksu. "sto tako, PHP je pouzdaniji i otoreniji inoacijama i programerskimtrikoima od 5=1a Koja je razlika izmedu server-side i client-side skriptnih jezika? 

    Server-side-erer side skripte se izršaaju na sereru (poslužitelju3 kada poslužitelj primi zatje za PHPdokumentom. )akon primitka zatjea sa PHP dokumentom poslužitelj izršaa PHP kod i na

  • 8/17/2019 PHP Tečaj - EZnalac

    7/50

    osnou njega generira H

  • 8/17/2019 PHP Tečaj - EZnalac

    8/50

    module. Popis ekstenzija koje se nalaze u arii naci cete na službenom siteu PHP1a na dijelu kojiobjašnjaa instalaciju na %in operacijskom sistemu. 9to se tice same instalacije slijedite oi par koraka4 (. -torite PHP folder (c4Jpp3). 8 njega odzipajte ariu. -ada se u PHP folderu nalaze si fileoi potrebni za rad PHP1a

    ukljucujuci pp.e'e te da razlicita pp.ini f ilea.*. 0daberite jedan od pp.ini fileoa ( jednostanosti radi odaberitepp.ini1recommended, skinite mu iz imena recommended i prebacite ga u aš sstem rootfolder ( npr c4Jwin 3+. 

  • 8/17/2019 PHP Tečaj - EZnalac

    9/50

    345678

    01111213141516171810221

    2223242526272820331323334

    35363738304414243444546

    .head .tit/entit/ed.tit/e .head 

    .od    .ta/e &idth="3" order="1" ce//spacin="" ce//paddin="" .tr

     .td 

       .td .td  .td .tr .ta/e .od .htm/ .a hre="httpezna/ac%e$&pcontent$p/oads2146phps/ia1%pn" .im class="a/incenter size$// &pimae352" a/t="phps/ia1" src="httpe&idth="425" heiht="137" .a

    8ocite da sam za ispis sadržaja arijable koristio da razlicita nacina koji su rezultirali istim krajnjimispisom. )aime unutar L: i :M se nalazi pp kod koji ce se izršiti ukoliko se u njemu ne nalazeneke sintakticke pogreške. 7ruga metoda ispisa je izgledala oako 4'?()prezime?*0u metodu koristimo kada želimo ispisati neku arijablu ili string. 0a linija je identi#na'? echo )prezime ?*samo što smo umjesto eco naredbe koristili znak T koji PHP1u goori da ispiše ono što se nalaziizmedu L: i :M ka#ica. ;iše o oim metodama u poglalju A

  • 8/17/2019 PHP Tečaj - EZnalac

    10/50

    ;arijable

    Kao što sam ec spomenuo arijable prije sog imena obaezno moraju sadržaati znak S. 0o jecisto nacin goorenja PHP preoditelju da se radi o arijabli a ne o tekstu. 8koliko ga izostaite

     aplikacija ce jaiti grešku ( u najboljem slu#aju3, a pre!i ce preko nje ( u najgorem slucaju3 i umjestosadržaja arijable !e ispisati samo njeno ime.6oš jedna rlo bitna star kod arijabli u PHP1u je da su imena arijabli case1sensitie. -iguran sada ste si upoznati sa zna#enjem oog pojma ali da am ilustriram oo prailo možda bi bio dobar  jedan mali primjer4

    Click to toggle codeblock

    1 +mo-eime 9 +*o-e:me

    "sto tako, u imenima arijabli ne smijete koristiti razmake niti bilo kake znakoe osim O i Q koji sekoriste u nizoima i kod neki metoda rada sa stringoima, ali o tome malo kasnije, te znaka AB.

    -i ostali znakoi su zabranjeni u imenima arijabli. "sto tako, ime arijable ne smije po#eti sabrojem, ali ga može sadržaati na bilo kojoj drugoj poziciji u imenu.8 PHP1u se ne morate brinuti o brisanju arijabli radi štednje memorijskog prostora jer se searijable automatski brišu iz memorije kada se trenutna skripta koja i je storila zarši.8koliko starno želite obrisati neku arijablu iz bilo kojeg razloga to možete uciniti pomo!uunset(Sarijabla3R naredbe

    +alidna imena varija,li 

    Click to toggle codeblock

    1 +str,ime +vari-a/a2 +niz

  • 8/17/2019 PHP Tečaj - EZnalac

    11/50

    Cijeli ,rojevi 

    8 oaj tip arijable možemo poraniti pozitine i negatine brojee u rasponu od1ICNWNXYNX do ICNWNXYNW tj. I bita podataka. +ožemo i zapisati u decimalnom, oktalnom ilieksadecimalnom zapisu.

    Par primjera"Click to toggle codeblock

    1234

    +int,var=123; //pozitivan decimalni broj+int,var=123; //negativni decimalni broj+int,var=123; //oktalni broj+int,var=#123; //heksadecimalni broj

    /ealni ,rojevi Postoje da na#ina spremanja realni brojea

    Click to toggle codeblock1

    23

    +d/,var=%123;

    // ili+d/,var=1%123e8;

    ?udite pažljii kada koristite realne brojee. )aime njioa to#nost nije garantirana (ima eze sapretaranjem oog broja u njego binarni ekialent. $ecimo D. nikada ne!e biti to#nopreba#en u binarni ekialent3. -toga, nemojte i usporeUiati za jednakost i jeroat im doposljednje decimale.

    !ekstualni podaci -adržaj string tipa arijable se nalazi izmedu naodnika. +ožete koristiti duple i jednostrukenaodnike. Postoje razlike u ispisu sadržaja oisno o tipu naodnika koje koristite.Korištenjem dupli naodnika možete koristiti Aspcial caractersB.

  • 8/17/2019 PHP Tečaj - EZnalac

    12/50

    Primjer 0

    Click to toggle codeblock

    12

    34567

      

    spisuje"

    Click to toggle codeblock

    1 mo-e ime -e ?reso

    7ok !e,

    Primjer 3

    Click to toggle codeblock

    1234

      

    ispisati"

    Click to toggle codeblock

    1 mo-e ime -e +str,ime

    8 PHP1u je takoUer mogu!e spajanje iše stringoa u jedan ispis.  

    8o#ite da su u gornjem primjeru korišteni jednostruki naodnici, ali arijable se ne nalaze u njimatako da !e se njio sadržaj ispisati.

  • 8/17/2019 PHP Tečaj - EZnalac

    13/50

     jednodimenzionalni numericki niz indeksiran na taj na#in da se na sakom broju, po#eši od D,nalazi jedan znak stringa. $aspon inde'a je od D do n1CR gdje je n broj znakoa niza.

    Click to toggle codeblock

    12

    3456780

    1111213

      

    Kao što idite u nji možete smjestiti bilo koji izraz koji !e na kraju rezultirati cijelim

    brojem (integerom3.

    8 oom primjeru je korištena naredbastrlen5)neki6strin78Koja ra!a duljinu (broj znakoa3 nekog stringa.

    &ogi#ke arijable u PHP1u

    &ogi#ki tip podataka ima dije mogu!e rijednosti 4 true i false

    9eklaracija lo7i:ke varija,le"

    Click to toggle codeblock

    1 +/oica=true;

    Click to toggle codeblock

    123

    +/oica=false; Ava- tip podataa -e taoBer rez$/tat /oiCih izraza (npr% iz i $v-eta) te nePP $nci-a%

    )izoi

    PHP podržaa iše rsta nizoa.

  • 8/17/2019 PHP Tečaj - EZnalac

    14/50

    456780

    111121314

    echo +arr,o-e

  • 8/17/2019 PHP Tečaj - EZnalac

    15/50

    /9: +;*)(

  • 8/17/2019 PHP Tečaj - EZnalac

    16/50

    345678

    // - blok naredbi $unkcijeG ?>  

    .stron.emPrim-er 14 K$nci-e sa povratnim.em.stron.emrez$/tatom.em.em 

    .em

    Click to toggle codeblock

    123456780

    1

      

    8 gornjem primjeru smo umjesto arijabli SbrC i SbrI koristiti i arijable imena SbrojC i SbrojI. 0o je mogu!e zato što funkciji ne dajemo same arijable e! njioe rijednosti koje se spremaju ulokalne (funkcijeske3 arijable koje postoje samo za rijeme izoUenja funkcije. 8koliko želitefunkcijom izmijeniti sadržaj neke arijable morate ju dati funkciji pomo!u reference (pass breference3.

    Primjer 10 " 9avanje =unkciji varija,lu pomo>u re=erence

    Click to toggle codeblock

    123456780

      

    8o#ite da nije obaezno koristiti isto ime arijable u glanom programu i funkciji, iako je mogu!e.$ezultat !e u oba slu#aja biti isti.

    Primjer 13 " Funkcije sa de=ault vrijednostima

    Click to toggle codeblock

    123456780

    111

      

  • 8/17/2019 PHP Tečaj - EZnalac

    17/50

    $ezultat 4=rižider je pun  =rižider je prazan

    Pir radu sa funkcijama koje imaju default rijednost bitno je da ta rijednost mora biti konstanta

    (string ili broj3. "sto tako ukoliko funkcija ima iše argumenata od koji je jedan ili iše imajudefault rijednosti oni moraju biti sa krajnje desne strane liste argumenata iza argumenata bezdefault rijednosti4

    vaj slu:aj ne radi"

    Click to toggle codeblock

    12345

    6

      

    Pravilno kori@tenje "

    Click to toggle codeblock

    123456

       

    0bjekti

    7a, istina je. " PHP N podržaa objektno programiranje. "ako ne onako kako ga podržaa 5]] ilisli#ni jezici, ali soje funkcije možete grupirati u klase te starati instance tog objekta kroz cijeluaplikaciju. /a sada se ne!u puno zadržaati na njima jer detaljnije objašnjenje slijedi u dijelu koji sebai tenikama PHP1a.-e u semu, da bi ste koristili objekte pro morate storiti klasu (class3 sa nekim funkcijama iarijablama u njoj te ju poziati unutar koda. ;arijable unutar klase zamišljamo kao proporties togobjekta, a njene funkcije kao metode istog objekta.

    Primjer 12 " ednostavan o,jekt 

    Click to toggle codeblock

    12345678

    01

     

  • 8/17/2019 PHP Tečaj - EZnalac

    18/50

    111213141516

    17

     // namještanje objektne varijable testna+o-testna="Nest o-i -e spreman za ispis"; // pozivanje $unkcije koja za ispis+o-ispisi();

    ?> 

    3ezultat &5ekst koji je spreman za ispis

    8 gornjem primjeru uz osnone tenike kreiranje objekta i njegoe instance u skripti možete

    primijetiti još jednu star.

    Click to toggle codeblock

    1 echo +thistestna;

    Korištenjem Stis1M prije imena arijable pristupamo toj arijabli i možemo ju koristiti za ispis ili

    izmjenu podataka. )a isti na#in pristupamo i funkcijama.8koliko želite pri instanciranju objekta automatski izršiti neke radnje poput spajanja na bazupodataka ili bilo koju sli#nu operaciju koja je potrebna za daljnji rad objekta  koristite konstruktore.Konstruktori su funkcije objekta (klase3 koji se izršaaju zajedno sa staranjem instance objekta.Konstruktori imaju isto ime kao i sam objekt.

    Primjer 1 " ,jekt sa konstruktorom 5dodatak primjeru 128

    Click to toggle codeblock

    123

    456780

    1111213141516

    1718102212223

      

    /ezultat "vo je tekst koji smo stvorili konstruktorom!ekst koji je spreman za ispis

    /a objekte i arijable i funkcije u njemu rijede sa praila kao i za normalne arijable i funkcijeE

  • 8/17/2019 PHP Tečaj - EZnalac

    19/50

    "menoanje arijabli

    +ožda ste primijetili da sam u e#ini primjerima koristio sli#an, ako ne isti, na#in imenoanjaarijabli. )a prom mjestu imena se nalazi opis tipa arijable od tri znaka. )akon njega odojeno sa

    AB slijedi ime arijable koje bi trebalo pobliže opisati ime sadržaj same arijable. "me se obi#nosastoji od jedne ili dije rije#i koje pobliže opisuju sadržaj arijable. $ije#i možete odajati saznakom AB ili sako po#etno sloo rije#i možete napisati elikim sloom.

    Ba@to se pridr#avati ovih pravila?  Pridržaanjem oi praili #inite uslugu sebi jednako koliko i ostalima koji !e jednog dana pokušatipro#itati i razumjeti aše kodoe.Pokušajte si zamisliti oaj primjer 4)alazite se izmeUu da posla i odlu#ili ste raziti forum za lastiti site. Krenete ga razijati i u usredposla primite narudžbu za noi site. )ormalno, trenutno zaboraljate na forum i bacate se na posao.$ecimo da zaršite sa poslom za mjesec dana i sjetite se da ste prije posla izraUiali forum zalastiti site. 0torite soj omiljeni editor, otorite mjesto gdje ste stali kada ste ga zadnji putpogledali i… pred ama se sada nalazi rpa sloa i znakoa koji am iše nemaju nekako zna#enje

    (ako ste koristili imena poput Spost, Sime, Smail #ije ime, kaka post (tek storeni, e!postoje!i…3 3. -ada morate cijelu aplikaciju nanoo AskužitiB i tek onda nastaiti sa radom.;rlo jednostanom upotrebom standarda pri imenoanju arijabli i #estim komentiranjem koda oiproblema ne bi bilo. 2 zamislite da je netko drugi otorio take kodoe.

  • 8/17/2019 PHP Tečaj - EZnalac

    20/50

    @ksplicitna izmjena tipa arijable se rši tako da u neku nou arijablu pridružite neku e!postoje!u arijablu i ispred nje naedete u zagradama tip u koji želimo prebaciti arijablu kojupridružujete. "sto tako možete u arijablu pridružiti nju samu sa eksplicitnom izmjenom tipapodatka.

    Click to toggle codeblock

    12345

     

  • 8/17/2019 PHP Tečaj - EZnalac

    21/50

    &ogi#ki operatori4Sa andSb "

  • 8/17/2019 PHP Tečaj - EZnalac

    22/50

    Click to toggle codeblock

    12345

    67

     

  • 8/17/2019 PHP Tečaj - EZnalac

    23/50

    6780

    111

    12131415161718

    rea;case . s/$Ca-2 // naredbe koje se izvršavaju ukoliko je uvjet jedank slu%aju 2rea;case . s/$Ca-3 // naredbe koje se izvršavaju ukoliko je uvjet jedank slu%aju 3

    rea;dea$/t// naredbe koje se izvršavaju ukoliko uvjet nije jednak niti jednom slu%aju// njega se moe izostaviti ukoliko se niti jedan naredba ne treba izvršiti utoms/$Ca-$G?> 

    Klju#na rije# break ozna#aa zaršetak grane. 8koliko ga izostaite izmeUu dije grane naredbeobje grane !e se izršiti ukoliko je iša (ona koja slijedi prije3 aktiirana. )aredbe !e se izršaatise dok se ne pojai break ili zaršetak switca

    Primjer 2< potre,no 7a je napisati Click to toggle codeblock

    123456780

    1

    1112131415

       

    Petlje

    Ehile petlja%ile petlja izršaa soj blok naredbi dokle god je izraz u ujetu istinit (true3. 8jet se ispitujeprije izoUenja bloka naredbi. /bog toga je mogu!e da se blok ne izrši niti jednom ukoliko je ujet

    na po#etku false.

    Click to toggle codeblock

    1234

      

    "li konkretan primjer 

    Primjer 21 " potre,no 7a je napisati 

    Click to toggle codeblock

    123

     

  • 8/17/2019 PHP Tečaj - EZnalac

    24/50

    456780

    111121314151617181022122

    2324

    echo '+int,var = '% HH+int,var% ".r";G

    // rezultira sa// int(var ) 11// int(var ) 12

    // int(var ) 13// int(var ) 1=// int(var ) 10// int(var ) 1>// int(var ) 1?// int(var ) 1@// int(var ) 19// int(var ) 2&// int(var ) 21?>  

    .em.stron#o I &hi/e

     .stron.em

    /a razliku od normalne wile petlje, kod 7o … wile petlje ujet se ispituje tek nakon izršaanjabloka naredbi.  

    For petlja=or petlja koristi broja# petlje koji se prije sakog izršaanja bloka naredbi petlje ue!a ili smanji.=or petlju koristite kada znate to#an broj potrebnog ponaljanja bloka petlje. ?roja# petlje može bitibilo koja e! postoje!a arijabla ili možete storiti nou arijablu za potrebe petlje. 8koliko rabitedrugi tip uobi#ajena imena taki arijabli su Si, Sj, Sk i nji !ete sresti u gotoim sim aplikacijamadiljem sijeta.

    Click to toggle codeblock

    1234

    56

     

  • 8/17/2019 PHP Tečaj - EZnalac

    25/50

    0111

    // i ) >// i ) 0// i ) =

    Foreach petlja=oreac petlja se koristi za rad sa nizoima. 0na prolazi kroz saki element danog niza i obalja

    blok naredbi. +ože spremiti klju# i rijednost sakog elementa niza u posebne arijable u kojim seza sako ponaljanje petlje nalaze klju# i rijednost elementa niza na kojem se trenutno nalazinutarnji pokazia#. )utarnji pokazia# se prije ulaska u petlju nalazi na D i sakim noim krugom upetlji poe!aa se za C. )oim zanjem foreac petlje nutarnji pokazia# se resetira. Petlja se rtise dok ne ostane bez elemenata niza.

    Click to toggle codeblock

    123456

    780

    1111213141516171810

    221222324252627282033132

    3334353637

     

  • 8/17/2019 PHP Tečaj - EZnalac

    26/50

    PHP podržaa iše tipoa komentara. 8 dosadašnjem tekstu sam se koristio inline komentarima ( **komentar 3. 0ni preska#u sa tekst koji se nalazi iza nji se do po#etka noog reda.8koliko želite komentirati iše redoa koristite se multiline komentarima

    Click to toggle codeblock

    12345678

      

    $ad sa stringoima

    !ehnike PHP pro7ramiranja8 oom poglalju bit !e goora o osnonim tenikama rada u PHP1u. Kroz poglalje upoznat !ete sesa glanim funkcijama u PHP1u i ste!i osnona znanja potrebna za izradu H

  • 8/17/2019 PHP Tečaj - EZnalac

    27/50

    15161718102

    21222324252627282033132

    echo ".pre$str_bez_pocetka.pre\n";

    // izbacivanje praznog prostora sa kraja stringa+str,ez,ra-a=rtrim(+str,/avni);echo ".hr\n";echo ".h4!trin ez prazno prostora na ra-$ strina.h4\n";

    echo ".pre$str_bez_kraja.pre\n";

    // izbacivanjepraznog prostora iz cijelog stringa+str,ez,praznina=trim(+str,/avni);echo ".hr\n";echo ".h4!trin ez prazno prostora na ra-$ i pocet$ strina.h4\n";echo ".pre$str_bez_praznina.pre\n";?>  .em.stronA-a@n-en-e ovom prim-er$ s$ ori@tene tri $nci-e za izacivan-e praznina sa poCeta ira-a strina%.stron.em

    Pra je ltrim(string3ltrim izbacuje praznine i escape znakoe sa lijee strane (po#etka3 stringa7ruga je rtrim(string3rtrim izbacuje praznine i escape znakoe sa desne strane (kraja3 stringa

  • 8/17/2019 PHP Tečaj - EZnalac

    28/50

    pronaUenom rijednosti na po#etku rezultata. -i znakoi prije pojaljianja su izba#eni.)apomena 4 8koliko želimo ponono koristiti oaj Askra!eniB string za pononu pretragu uijek !emodobiti isti rezultat jer se naUeni string ili znak ne izbacuje iz rezultat e! se stalja na po#etak.8koliko želite opet pretražiti oaj string.

    Primjer 2 ,8" Provjera postojanja strin7a ili znaka unutar strin7a

    Click to toggle codeblock123456780

    11112

    1314

    .hr

    .h3:spitivan-e posto-an-a strina i/i znaa $n$tar zadano strina.h3

       

    .em.stronA-a@n-en-e

    .stron.em

    Click to toggle codeblock

    1 i(+str,pretraa=strstr(+strinD"zzz"))F

    0om linijom ispitujemo da li se tražena rijednost nalazi u danom stringu. 8 isto rijeme rezultatspremamo u arijablu za kasnije korištenje. 0o je u potpunosti legalno ispitianje jer funkcijastrstr( 3 ra!a =alse ukoliko tražena rijednost nije pronaUena. 0ime se u arijablu spremarijednost =alse koju projeraa if struktura i izršaa se njen else blok koda. 8 slu#aju da je

    rijednost pronaUena u arijablu se sprema rezultat funkcije koji if struktura gleda kao na truerezultat izraza u ujetu.Primjer I c34 Pronalaženje pozicije prog pojaljianja znaka ili stringa u stringu i ispis ukupnogbroja pojaljianja.

    Click to toggle codeblock

    1234567

    80

    111121314

    .hr

    .h3:spisivan-e pozici-e pronadeno strina i/i znaa $n$tar zadano strina.   .hr.h3$pan ro- po-av/-ivan-a traEeno znaa i/i strina.h3

      

    ,ja@njenje"Click to toggle codeblock

    123

    // ipsisivanje pozicije prvog nalazenja trazenog strina unutar zadanog stringa+int,pozici-a=strpos(+strinD+trazeni);echo +int,pozici-a;

    8 oom dijelu koda ispisujemo pru poziciju pronaUenog stringa u zadanom stringu. /a to se koristifunkcija strpos(Sstrzadani,Sstrtrazeni3R=unkcija ra!a integer rijednost koja predstalja poziciju prog znaka traženog stringa unutar 

  • 8/17/2019 PHP Tečaj - EZnalac

    29/50

    zadanog stringa. 8koliko trazeni string ne postoji unutar zadanog stringa funkcija ra!a rijednost=alse.

    apomena " rojanje pozicije kre>e od

  • 8/17/2019 PHP Tečaj - EZnalac

    30/50

    3 echo "!vi znaovi od 15% znaa '$str_izvuceni'.r";

    8koliko je potrebo izu!i samo jedan znak iz stringa funkciji kao tre!i argument dajemo C što !eizu!i samo znak sa zadane pozicije iz drugog argumenta.Click to toggle codeblock

    123

    // ispisivanje 1& znaka stringa+str,izv$ceni=s$str(+strinD1D1);echo "#eseti zna strina '$str_izvuceni'.r";

    8 oom slu#aju smo mogli koristiti i drugu metodu koja je u nekim situacijama jednostanija iprakti#nija. )aime, string možemo zamisliti kao niz znakoa i kako takom možemo pristupatisakom znaku preko njegoog indeksa. Pozicije znakoa tj. indeksi kre!u od D

    Click to toggle codeblock

    123456780

    // ispis 1& znaka stringaecho +strin

  • 8/17/2019 PHP Tečaj - EZnalac

    31/50

    15161718102

    212223

    ?>  .hr.h3Sam-ena nove /ini-e sa L/t;rLt; taom.h3 

      

    $ad sa H

  • 8/17/2019 PHP Tečaj - EZnalac

    32/50

    123456

    780

    1111213

      .hr  

    ,ja@njenje"

    Click to toggle codeblock

    12

    // rezanje stringa+arr,izrezani=eTp/ode(" "D+strin);

    0aj fragment koda reže zadani string na taj na#in da podijeli zadani string na fragmente na tajna#in da je saki noi fragment dio originalnog stringa izmeUu da znaka koji smo dali kao ujetrazdajanja u prom argumentu funkcije. -i noi fragmenti se spremaju u niz u kojem indeksiodgoaraju rednom broju fragmenta.7a oo malo ilustriram na prakti#nom primjeru. 4

    Click to toggle codeblock

    1

    2345

    // razdjeljivanje e"maila

    +emai/='netoUned-e%com';+arr,raemnti=eTp/ode('U'D+emai/);echo 'nic ' % +arr,raemnti

  • 8/17/2019 PHP Tečaj - EZnalac

    33/50

    Click to toggle codeblock

    1 .em.stron.stron.em

     

    $ad sa nizoima

    )izoi su osnoni tip elementa koji se naj#eš!e susre!e u radi sa bazama podatak. )aime, kada seizrši upit na bazu ra!eni rezultat je niz. /ato je potrebno znati baratati nizoima i satiti njioulogi#ku strukturu. 0snone operacije nad nizoima su šetanje kroz niz, sortiranje niza, pretražianjeniza te lijepljenje niza u string što je e! objašnjeno u pretodnom poglalju.

    Primjer 20 a8 " etanje kroz jednodimenzionalni niz Click to toggle codeblock

    123456780

       [email protected]

    0o je tenika koja bi e! trebala biti poznata jer je korištena kroz cijeli odi# za ispisianjesadržaja niza. /a šetanje smo koristili foreac petlju koja u sakom som ponaljanju uzima noielement iz niza. 8zima i od manjeg indeksa prema e#em."sti oaj u#inak se može posti!i na iše razni na#ina, od koji je jedan da pro projerimo ukupanbroj elemenata niza te for petljom proše!emo kroz niz.

    Click to toggle codeblock

    12

    or(+i=;+i.co$nt(+arr,va/$te);+iHH)echo "

  • 8/17/2019 PHP Tečaj - EZnalac

    34/50

    456780

    1111213141516

    "VW" = 8D"XQP" = 1D"W?" = 1);reset(+arr,assoc); // resetiranje niza na pocetakdoF+/-$c=e(+arr,assoc); // pribavlajnje klljuca

    +vri-ednost=c$rrent(+arr,assoc); // pribavljanjeecho "

  • 8/17/2019 PHP Tečaj - EZnalac

    35/50

    111213141516

    1718102212223242526

    G e/se Fecho "

  • 8/17/2019 PHP Tečaj - EZnalac

    36/50

    -lijede!a star koju je potrebno napraiti je utrditi kojeg je tipa trenutni element niza. )aszanimaju da tipa. )iz i neniz.8koliko se radi o nizu njega je potrebno ispisati na isti na#in kao i njegoog roditelja, tj. dimenziju ukojoj se on nalazi. 8koliko se ne radi o nizu želimo ispisati rijednost na ekran./a ispitianje tipa arijable postoji asortiman funkcija za tu namjenu. )ama je potreban funkcijaisarra(Sarijabla3 koja, kako joj ime goori, ispituje da li je zadana arijabla niz. 8koliko je niz,

    rezultat je true, a u suprotnom je rezultat false.Click to toggle codeblock

    1234

    i (is,arra(+vri-ednost))Fecho "  

  • 8/17/2019 PHP Tečaj - EZnalac

    37/50

    18102212223

    242526272820331323334

    .hr!trin o-i se traEi   .r

      .hr 

  • 8/17/2019 PHP Tečaj - EZnalac

    38/50

    12345

    //pretraivanje cijelog niza i ispis svih indeksa " EF4HB&hi/e (+nadeni=arra,search (+str,trazeniD+arr,mai/ovi) or +nadeni===)Fecho "Prona9eno na pozici-i $nadeni = $arr_mailovi 

    ,ja@njenje"8 oom primjeru prije ispisianja pro projeraamo da li u nizu postoje tražene rijednosti.Postojanje rijednosti u nizu se projeraa funkcijom inarra(Sstrtrazeni,Sstrnizpretrazianje3.=unkcija ra!a

  • 8/17/2019 PHP Tečaj - EZnalac

    39/50

    Click to toggle codeblock

    1234

    56780

    111121314151617

    1810221222324

      .hr  .hr  .hr  

    8 oom rlo jednostanom primjeru se zadani niz sortira po raznim ujetima.8 prom slu#aju niz je sortiran po rijednostima niza uzlazno. /a sortiranje je korištena funkcijaasort(Sarrniz3)joj se kao argument daje niz koji se sortira. =unkcija ne ra!a rijednost, e! samo sortira niz, inakon njenog izršenja je zadani niz sortiran i takom mu pristupamo kasnije u skripti. -ortiranjese obalja tako da se elementi niza sortiraju uzlazno. 0no što je bitno kod oe funkcije je da seodržaa odnos indeks TM rijednost, tako da !e nakon sortiranja rijednost koja se nalazila naindeksu i dalje biti na tom indeksu, samo !e njena pozicija u samom nizu možda biti druga#ija.8 drugom slu#aju niz se sortira silazno (od naje!e prema najmanjoj rijednosti3.

  • 8/17/2019 PHP Tečaj - EZnalac

    40/50

    8 oom #lanku je objašnjenja logika išenamjenski stranica i u konkretnim primjerima su detaljnoobjašnjene njioe razli#ite implementacije.

    Prije sami primjera potrebno je postaiti i objasniti problem i sam pojam išenamjenski stranica.8 izradi sererski aplikacija, nebitno u kojem jeziku su one izedene, je ponekada prakti#nijekoristiti jedan fizi#ki dokument za obaljanja razli#iti logi#ki poezani operacija. 0ake situacije

    se naj#eš!e jaljaju u portalskim aplikacija koji se sastoje od iše sekcija i serisa. Korištenjemišenamjenski stranica je mogu!e fizi#ki separirati saki odjeljak ili seris cjelokupne aplikacije uposebne datoteke (skripte3 koje imaju specijaliziranu namjenu.

    8 konkretnom slu#aju, jedna išenamjenska stranica bi se koristila za listanje, pretražianje iprikazianje ijesti iz arie ijesti, a druga recimo za seris e1razglednica ili forum.

  • 8/17/2019 PHP Tečaj - EZnalac

    41/50

    3132

     ?> 

     Analiza"/a gore naedeni primjer rezultat bi izgledao oako 4Click to toggle codeblock

    123456

    No s$ isto ma-stori!adrEa- \$er strina&ema-storiProv-era posto-an-a vari-a/e p$tem isset $nci-evari-a/a reso ne posto-ivari-a/a &ema-stori ne posto-i

    "demo sada proletiti kroz sam kod.Pri dio skripte obalja neke radnje na osnoi zadane kontrolne rije#i i tu zaprao izodimoišestruku namjenu oe skripte.Click to toggle codeblock

    1

    23456780

    111

    s&itch(U+,!VWYVW

  • 8/17/2019 PHP Tečaj - EZnalac

    42/50

    13 Ava- dio oda vraRa za orn-i prim-er

    varija,la kreso ne postojivarija,la Le,majstori ne postoji  +i@enamjenska stranica kori@tenjem kontrolne varija,le0o je jednostanija metoda implementacije išenamjenski stranica. "deja je koristiti arijablu

    koja se daje skripti preko komandne linije. 0a arijabla (zaprao njena rijednost3 odreUuje što !ese prikaziati na stranici. Kao dodatno prailo koje se uodi radi jednostanosti same skripte isigurnosti aplikacije je odreUianje akcije ukoliko kontrolna arijabla ne postoji. 8 ooj skripti u tojsituaciji se prikazuje nešto kao po#etna stranica na kojoj se nalaze linkoi na druge mogu!eslu#ajee. Problem (ili prednost3 kod oakog rješenja je da !e se ta po#etna stanica prikaziati i uslu#aju da korisnik sam promijeni rijednost kontrolne arijable u nepostoje!u (nepodržanu3rijednost ili ju izostai u cijelosti.

    .vo skripte"Click to toggle codeblock

    12

    3456780

    11112131415

    161718102212223242526

     

  • 8/17/2019 PHP Tečaj - EZnalac

    43/50

    ttp4**www.ost.com*skripta.pp:konT$ezultat izgleda4Po#etna stranica0daberite jednu od stranica-tranica C-tranica I

    -tranica

    demo analizirati kod"5ijela skripta se zaprao sastoji od jednog AelikogB switca koji odlu#uje što se obalja oisno okontrolnoj arijabli. Kontrolna arijabla u ooj skripti je Skon.0a arijabla ne mora postojati da bi skripta radila. 0o je mogu!e zato što je u switcu korištenznak koji isklju#uje prikaz greške koja bi se prikazala u situaciji da kontrolna arijabla ne postoji.0ako !e se u slu#aju da ona ne postoji obaiti default grana switca. "sta grana !e se obaiti i akotrenutna rijednost kontrolne arijable nije ponuUena niti u jednom caseu.0statak skripte objašnjaa sam sebe. 8 defaultu se prikazuje popis si ostali mogu!i odabira zaou skriptu, a u sakom caseu se obaljaju radnje specifi#ne za taj odabir.8 sakom case je takoUer ponuUen poratak na po#etnu stranicu. &inkoi se razlikuju u sakom odnji #isto ilustracije radi.

    $o7u>i povratci su "Click to toggle codeblock

    1 .a hre='+PP,!VOK'Povrata na pocetn$ stranic$.a

    0im linkom se stranici ne daje kontrolna arijabla i iz e! objašnjeni razloga se obalja defaultgrana switca. 0o je ujedno i najbolji na#in ra!anja korisnika na po#etnu stranicu.

    Click to toggle codeblock

    1 .a hre='+PP,!VOK9on=33'Povrata na poeetn$ stranic$.a

    8 oom primjeru se skripti daje nepostoje!a (neponuUena3 rijednost (stanje3 kontrolne arijable.

    Pošto rijednost ne postoji obalja se default grana switca. 8 ooj situaciji se može postaiti bilokoja neponuUena rijednost kontrolne arijable. 0a metoda ra!anja možda nije najbolji izbor.)aime, što ako se tokom remena poe!a broj mogu!i stanja kontrolne arijable: ?it !ete prisiljenimijenjati cijelu skriptu.+ogu!a stanja kontrolne arijable mogu biti bilo što. 8 oom primjeru su korišteni cijeli brojei radi jednostanosti. )aime, mogu!nost greške je mnogo e!a ukoliko su mogu!a stanja neki elikistringoi.)ormalno, odabir mogu!i rijednosti ostaljam ama, ali pri odabiru je potrebno uzeti u obzir nekesigurnosne konsideracije. 8koliko se koriste integer rijednosti militantni korisnik uijek može rlolako pogoditi stanje, dok !e kod korištenja stringoa imati malo iše problema oko pogaUanjastanja. 8 sakom slu#aju, odabir je na ama. 

    -ession managment u PHP1u

    -essioni su rlo bitna star pri izradi "nternet aplikacija. Pro da malo razjasnim sto su to sessioni,kako funkcioniraju te #emu služe.8 izradi "nternet aplikacija postoji elika potreba za nekakim meanizmom za pam!enjeinformacija ezani uz jedan posjet korisnika našoj aplikaciji (siteu3.

  • 8/17/2019 PHP Tečaj - EZnalac

    44/50

    skripta automatski stori session arijablu u koju !e se spremati broj posje!eni stranica u oomsesionu.

  • 8/17/2019 PHP Tečaj - EZnalac

    45/50

    212223242526

    2728203313233343536373830

    441424344454647484055152

    5354555657585066162636465

    6667686077172737475767778

    708

    // kontrolna varijabla k/* HJ k1 " ispsi elanka koji je jako stresan2 " stranica za unos i gledanje komentarade$ault " poeetna stranica sitea*/  

    s&itch (U+)Fcase 1?>  .h1V/ana.h1.pAvo -e ta- e/ana od o-e se eov-e$ diEe osa na /avi.p.pJaEa/ost mora/i smo a cenz$rirati zo ve/io ro-a prit$Ei o-e s$dosp-e/ena na@ mai/.p.orm action=".9=$!_"#%99=2" method="post" name="orma" id="orma".pYa@e ime.inp$t tpe="teTt" name="ime" .r

    Ya@ mai/.inp$t tpe="teTt" name="teTtie/d".r?omentar.teTtarea name="omentar" co/s="25" ro&s="1" id="omentar".teTtarea.r.inp$t tpe="s$mit" name="!$mit" va/$e="#oda- omentar".p.orm

       .a hre=".9=$!_"#%9"Povrata na poeetn$ stranic$.a

       .pJaEa/ost nismo -o@ $vi-e $ mo$enosti priazati sve omenatre.p

       .p#Arodo@/i na ova- potono otvaeen site.p.p.a hre=".9=$!_"#%99=1"Po/eda- e/ana od o-e ae ti se din$ti osana /avi .a

       .p

    .od

    .htm/

  • 8/17/2019 PHP Tečaj - EZnalac

    46/50

    ,ja@njenje"Postoji jedna rlo bitna star kod rada sa sessionima. -e operacije ezane uz nji se morajuobaiti prije nego što se bilo kaka sadržaj pošalje korisniku. 0o s emože osigurati na iše na#ina.Pri je da se te operacije stae na sam po#etak skripte. 8 tom slu#aju prije ti operacija ne smije

    biti nikaka kod, H

  • 8/17/2019 PHP Tečaj - EZnalac

    47/50

    1 session,is,reistered("pos-eta")

    =unkciji se daje string koji mora biti identi#an imenu arijable koju projeraamo. =unkcija ra!atrue ukoliko arijabla postoji i false u suprotnom.)akon te projere, oisno o rezultatu se namješta noa rijednost te arijable.

    Pridružianje se rši tako da se arijabli koja ima identi#no ime kao i projerena arijabla u if1u redprije.)akon namještan je potrebno AregistriratiB nou rijednost arijable pomo!u funkcije

    Click to toggle codeblock

    1 session,reister("pos-eta");

    0oj funkciji se takoUer daje string rijednost koja sadrži identi#no ime kao i maloprije nesmještenaarijabla./ašto su oe operacije objaljenje prije switca koji implementira išenamjensku stranicu:/ato što je oo brojenje zajedni#ko sim stranicama, tj. situacijama. ?rojimo ukupan broj otaranjastranica sitea, a ne samo odreUene situacije.

    "za switca u kojem se nalazi sadržaj sitea se ispisuje broj posje!eni stranica.Click to toggle codeblock

    1 echo ".p#o sada ste pos-eti/i $posjeta stranica na ovom site$.p";

    -utra idemo dalje. 7olazi noa runda lekcijaE8 noim lekcijama radit !emo s bazama podataka i PHP1om. Koristit !emo +s>l bazu podataka

    8od u +-&

    6edna od naje!i prednosti PHP1a kao sererskog skriptnog jezika je ta što je mogu!e na rlo jednostaan na#in koristiti elik broj bazi podataka. 0d oni +icrosoftoi preko 07?51a donapredni baza poput 7?I i sli#ni. 0aj odi# !e pro!i kroz rad s +->l1om zato što je onanajpopularnija baza koja se koristi u kombinaciji s PHP1om.Popularnost oe kombinacije se može pripisati open source prirodi oba programa te postojanjembesplatni erzija za se glane operacijske sustae, što olakšaa njioo u#enje i korištenje kakopo#etnicima, tako i profesionalcima na oom podru#ju.

    "ako su osnoe i dizajniranje relacijski baza podataka sastani dio podru#ja kojim !e se baiti oaj

    odi# one ne!e biti detaljno pokriene kroz njega. 0aj odi# !e se koncentrirati na upotrebu +->laza izradu dinami#ki siteoa pomo!u PHP1a. Kroz odi# !ete se upoznati s osnonim operacijamakoje se ti#u rada s +->l1om teoretski i na konkretnom primjeru.

  • 8/17/2019 PHP Tečaj - EZnalac

    48/50

    (database serer3. 7rugim rije#ima, radi se o softwareu kojem se može pristupiti preko mreže nasli#an na#in kao i web (Hl1a sestara tz. superadministartor (obi#no se zoe root3 koji ima sa administracijska praa. 8 odi#u sene!emo preiše zadržaati na administarciji samog serera, pro!i !emo samo osnone stari poputdodaanja korisnika i izmjene njioi lozinki.

    Kao što je e! bilo goora u uodu, jedna od eliki prednosti +->l1a je što postoje erzije za seažnije operacijske sustae, te i se distribuira pod FP& licencom (#itaj 4 besplatno za ku!nuupotrebu3 što ga #ini idealnim alatom za u#enje osnoa relacijski baza podataka te izradu manji isrednji siteoa #ime !emo se i mi poigrati kroz oaj odi#. 0aj odi# je pisan uz pretpostaku da jeaš operacijski susta neka erzija %indows 0-1a, te se upute rijede za tu situaciju. 2kopokušaate koristiti +->l na nekom drugom operacijskom sustau morate !ete prona!i pomo!

    na www.ms>l.com u dokumentacijama.

     Prije nego se upustimo u so#ne detalje si mogu!nosti +->l bacimo s na osnoe rada sa +->lomte spajanja na serer i manipuliranjem podataka u tablicama pomo!u PHP1a. 

    0snoe rada s +->lom

    8 oom poglalju !emo pro!i kroz osnoe izrada tablica te kroz osnone tipoe polja koje+->l podržaa. 7a bi olakšali oaj proces upoznat !emo se s alatom za rad s +->l1om koji jenapisan u PHP1u, što ga cini idealnim za naše potrebe. )akon što kreiramo rlo jednostanu bazuspojit !emo se na +->l serer te idjeti kako PHP1om napuniti bazu podacima, pribaljati podatke izbaze te mijenjati i brisati i. )ormalno, prije nego li kreiramo bazu moramo oti!i u nabaku osnoni namirnica. Pra star koja !enam trebati je +->l serer koji se može skinuti na www.ms>l.com. 8 oom trenutku ne!u opisiatikako instalirati +->l pošto postoje odli#ne upute u manualu koji se takoUer može naci nawww.ms>l.com te je poželjno imati ga u nekom windows elp file formatu radi lakšeg korištenjakasnije. )akon što uspješno instalirate +->l automatski je storen ugradbeni korisnik root koji je ujednoi superadministrator.

  • 8/17/2019 PHP Tečaj - EZnalac

    49/50

    &ozinku postoje!em korisniku možemo namjestiti na iše na#ina. )ajjednostaniji jepomo!u administracijskog alata koji dolazi u paketu binarni fileoa u distribuciji. )ažalost, radi seo command prompt alatu tako da !emo sada morati malo tipkati. 1tvorite command prompt 5Start -* /un -* Mpi@ite NcmdO 82Pozicionirajte se u c"mQsRl,in

    Mtipkajte "C"mQsRl,in*mQsRladmineTe -u root passLord lozinka  2ko nekada kasnije želite ponono izmijeniti lozinku za oog korisnika ponoite iste korake, samooog puta morate ms>ladmin1u dati i opciju p te !ete prije izmjene passworda biti zatraženi staripassword. C"mQsRl,in*mQsRladmineTe -u root -p passLord nova6lozinka)apominjem, oo je samo jedan od iše na#ina kako izmijeniti ili namijestiti loziku korisniku. 8koliko seželite upoznati sa ostalim na#inima, oni su naedeni i opisani nattp4**www.ms>l.com*doc*en*Passwords.tml.Sada kada smo obavili početne kon4iguracije mo$emo početi koristiti MyS?l. Prvi alat sa kojimćemo se ukratko upoznati je de4aultni MyS?l klijent.

    7efaultni +->l klijent

    +->l u standardnoj distribuciji dolazi i s klijentom pomo!u kojeg možemo pregledaati imanipulirati bazama na našem lokalnom sereru. $adi se o sell programu, koji jepoprili#no neprakti#an za neki ozbiljniji rad pošto se radi o 2-5"" prikazima podataka što nerijetkorezultira rlo nepreglednim rezultatima upita, inolira puno tipkanja i za njegoo korištenje jepotrebno solidno poznaanje -&1a i za najjednostanije operacije. "z ti razloga se na njemu ne!upreiše zadržaati, e! !u samo proletjeti kroz njega i iskoristiti ga za isticanje neki bitni stari.8 tipi#noj instalaciji, klijent se nalazi u c4*ms>l*bin direktoriju, a radi se o ms>l.e'e datoteci. 7a bi seklijent pokrenuo potrebno mu je pri pozianju proslijediti korisni#ko ime te dati opciju koja omogu!ujenaknadni upis lozinke.

    C"mQsRl,inU7tVmQsRl -u root p)akon upisa lozinke ušli ste u ms>l klijent koji izgleda otprilike oako 4Eelcome to the $QSW% monitor Commands end Lith V or 7Xour $QSW% connection id is 13 to server version" &

  • 8/17/2019 PHP Tečaj - EZnalac

    50/50

    Kao što idite, pri instalaciji +-l1a automatski se staraju dije tablice. 0na pra ms>lsadrži podatke oko našeg serera poput liste korisnika, njioi praa i sli#ne informacije. ;rlo je bitnoda ne mijenjate podatke unutar te tablice a da niste CDD_ sigurni što radite jer bi moglo trajnooštetiti. ?aza test je prazna i s njom se možete igrati. l serera do naše skripte, no o oomece biti goora nešto kasnije.