You are on page 1of 86

Web programiranje

Osnovne PHP naredbe


mr. sc. Benjamin Suljić, dipl.ing.el.
03.12.2020
Sadržaj predavanja
1. Funkcije za rad sa promjenjivima
2. Ternarni operator i uslovne strukture (if, if-else, switch)
3. Petlje (while, do...while, for, foreach) i naredbe kontrole
toka
4. Nizovi i funkcije za rad sa nizovima
5. Primjer interakcije HTML forme sa PHP kodom

Web programiranje 2
1. Funkcije za rad sa promjenjivima
1.1 Prikaz i definisanje tipa podataka
O funkcijama će biti više riječi na narednim predavanjima, ali za sada ćemo
samo ukratko da se upoznamo sa nekim od funkcija za rad sa
promjenjivima.

string gettype(promjenjiva)
Ova funkcija utvrđuje tip promjenjive koja je prosljeđena funkciji kao
argument. Vraća znakovni string na primjer: „boolean“, „integer“,
„float“,
„double“,itd.
int settype(promjenjiva, tip)
Mijenja tip promjenjive koji se prosljeđuje funkciji kao argument. Tip se
zadaje kao znakovni niz. FunProm.
php

Web programiranje 4
1.2 Funkcije za provjeru tipa podataka
Funkcije za provjeru tipova podataka:
is_long(promjenjiva), is_int(), is_integer() – provjera da li je
promjenjiva celobrojnog tipa
is_double(), is_float(), is_real() – provjera da li je promjenjiva
tipa u pokretnom zarezu
is_string() – provjera da li je promjenjiva znakovnog tipa FunProm.
is_array – provjerava da li je promjenjiva tipa niz php

is_numeric() - provjerava da li je promjenjiva numerickog tipa


is_object() – provjerava da li je promjenjiva objekat
is_resource() - provjerava da li je promjenjiva tipa resurs
is_null() - provjerava da li je promjenjiva null
is_scalar() - provjerava da li je promjenjiva skalarna
is_callable – ispituje da li vrijednost promenljive ime postojece funkcije
Ove funkcije vraćaju boolean (true, tj. 1 ako je tačno) vrijednost.

5
1.3 Funkcije za ispitivanje stanja
promjenjivih
boolean isset(promjenjiva)
Ova funkcija vraća true ako je promjenjiva definisana.
void unset(promjenjiva)
Ova funkcija poništava definiciju promjenjive.
boolean empty(promjenjiva)
Ova funkcija ispituje da li postoji promjenjiva i vraća true ako
promjenjiva ne postoji, ili ako je prazna.
FunProm1
.php

Web programiranje 6
2. Ternarni operator i uslovne strukture

7
2.1 Ternarni operator
Ternarni operator ispituje uslov, i u zavisnosti da li je uslov
true ili false izvršava se jedan, ili drugi niz naredbi.

U navedenoj sintaksi, logicki_izraz bilo koji izraz čiji


je rezultat vrijednost logičkog tipa (true ili false).
Ako je rezultat izraza true, onda se izvršava izraz1, u
suprotnom se izvršava izraz2.
Ternarni.php

Web programiranje 8
2.2 Uslovna struktura IF # 1

Ako je logički_izraz ispunjen (vrijednost true),


izvršiće se naredba, a u suprotnom naredba neće da se
izvrši.

IF.php

9
Često unutar jednog uslovnog iskaza if treba da se izvrši
više iskaza, i u tom slučaju iskaze treba staviti kao blok
naredbi.
Blok se označava sa { za početak bloka i } za kraj bloka.

IF.php

Web programiranje 10
Napomena: Kao što je rečeno, PHP zanemaruje praznine
(whitespaces) u kodu i zbog toga bi iskaze trebalo uvlačiti radi bolje
čitljivosti koda.
Uvlačenje se najčešće primjenjuje kako bi se lakše uočili iskazi
(naredbe) koje će se izvršiti ako je uslov ispunjen, blokovi naredbi i
naredbe koje se izvršavaju unutar ciklusa (petlji).
Blok je u uvom slučaju od IF uvučen za
jedan tabulator (uvlačenje je
proizvoljno)

IF.php

11
Takođe postoji i sintaksa if...else if..else, gde se eksplicitno
daje jedan ili više iskaza koji će se izvršiti ukoliko uslov nije
zadovoljen (false).
Pritom, klauzula else if moze da se piše i sa razmakom, i spojeno
elseif.

IF1.php

Web programiranje 12
2.3 Uslovna struktura SWITCH # 1

Iskaz switch slično funkcioniše kao if, gde uslov može da ima
više različitih vrijednosti skalarnog tipa (integer, float ili string).

U prikazanom pseudo-kodu, naredbe1, ... , naredbeN mogu


biti i blokovi.
Ako se ne koristi ključna riječ break, sve naredbe od linije koda
gdje je uslov zadovoljen, do kraja switch-a će biti izvršene.
Sa default se navode naredbe koje će biti izvršene ako ni
jedan uslov nije zadovoljen.
13
switch.php

Rezultat izvršavanja ovog koda će biti „imate popust od


10 odsto“
14
switch1.php

Rezultat izvršavanja ovog koda će biti „U pitanju je mjesec


Januar“
15
3. Petlje i kontrole toka

16
3.1 Uvod
Naredbe ponavljanja omogućavaju ciklično ponavljanje
neke naredbe, ili bloka naredbi više puta i zbog toga se
ove naredbe nazivaju petlje.
Broj ponavlja zavisi od vrijednosti logičkog izraza (uslova).
Naredbe ili blok naredbi se ponavlja sve dok je uslov
tačan, a ponavljanje se prekida kada uslov postane
netačan.
Petlja while
Petlja do...while
Petlja for
Petlja foreach
Web programiranje 17
3.2 Petlja WHILE # 1

Petlja while je osnovna petlja za ponavljanje neke naredbe,


ili bloka naredbi više puta.
Tijelo petlje je blok naredbi čije se izvršavanje ponavlja.
Jedno izvršavanje naredbi u tijelu petlje naziva se iteracija
petlje.
Broj ponavljanja tijela petlje kontroliše se vrijednošću logičkog
izraza.
Ovaj logički izraz naziva se uslov nastavka (uslov prekida)
petlje.
Logički izraz (uslov) se provjerava na početku i petlja ne mora
da se izvrši ni jedan put, ako uslov na početku nije ispunjen.

18
Dijagram toka (eng. flow chart) while petlje dat je na
slici.

19
U navedenom pseudo-kodu, inicijalizacija predstavlja
dodjeljivanje početne vrijednosti upravljačkoj promjenjivoj,
koja kontroliše kada će petlja da prestane da se izvršava.
while.php

20
3.2 Petlja WHILE #3
while1.php

Rezultat izvršavanja ove skripte će biti:

Web programiranje 21
3.3 Petlja DO...WHILE # 1

Za razliku od petlje while, tijelo petlje (naredba, ili niz


naredbi koje se ponavljaju) do...while petlje izvršava
se bar jednom, nezavisno od toga da li je uslov ispunjen ili
nije ispunjen na početku izvršavanja petlje.
Dakle, ovaj tip petlje koristi se kada želimo da se naredba,
ili blok naredbi izvrši makar jednom.

Web programiranje 22
Dijagram toka petlje do...while dat je na slici.

23
While vs do...while

Web programiranje 24
Koliko puta će se petlja izvršiti?

dowhile.php

25
3.4 Petlja - FOR # 1

For petlja se obično koristi kada je potrebno izvršiti tijelo


petlje za sve vrijednosti u nekom intervalu.
U slučaju petlje for, u kontrolnom dijelu, na početku
naredbe, nalazi se sve ono što je bitno za upravljanje
petljom, što doprinosi boljoj vidljivosti i
čitljivosti koda.

Web programiranje 26
Dakle, na početku izvršavanja petlje for vrši se
inicijalizacija kontrolog dijela, i to samo jednom.
Uslov daljeg izvršavanja petlje for je predstavljen
logičkim izrazom, čija se tačnost provjerava prije svakog
izvršavanja tijela petlje.
Izvršavanje tijela petlje se prekida kada je vrijednost
logičkog izraza netačna (false).
Dio inicijalizacija for petlje može da bude bilo
koji izraz, ali je to obično naredba dodjele.
Dio iteracija for petlje može biti bilo koji izraz, ali je to
obično operacija inkrement (uvećanje operanda za jedan).

27
Web programiranje 28
for.php

for1.php
Primjer tablice množenja

Web programiranje 29
3.5 Petlja - FOREACH

Pelja foreach se koristi za rad sa nizovima i ona će biti


kasnije obrađena.

foreach ($array as $value) {


code to be executed;
}

30
3.6 Izlazak iz upravljačke strukture
Postoje tri načina da se prekine izvršavanje bloka
koda:
Naredba break, kojom se iskače iz petlje (bloka koda),
Naredba continue, kojom se preskače tekuća iteracija
petlje,
Naredba goto, kojom se „skače“ na određeni dio koda i
Naredba exit, kojom se izlazi iz cijelog PHP skripta.
Ove naredbe se nazivaju naredbe kontrole toka.

Web programiranje 31
3.7 Kontrola toka break # 1

Break je naredba za kontrolu toka pomoću koje može


da se „iskoči“ iz petlje.
Kod nastavlja sa izvršavanjem od prve naredbe posle
petlje.

break.php

32
Naredba break može da koristi i opcioni numerički
argument, pomoću koga se kontroliše način na koji se kod
prekida kod ugnježdenih (eng. nested) petlji i/ili blokova
naredbi.
break1.php

Web programiranje 33
3.8 Kontrola toka continue
Pomoću kontrole toka continue može da se preskoči
određena iteracija petlje.

continue.php

34
3.9 Efekti naredbi continue i break

Web programiranje 35
3.10 Efekti naredbi continue i break

exit.php

exit1.php

36
3. Efekti naredbi goto #1
11

Goto komanda omogućava „skok“ na određeni dio koda.


Dio koda na koji se „skače“ mora da ima oznaku sa
simbolom : , na primjer end:
Ova oznaka naziva se labela (eng. label).

labela goto.php

37
3. Efekti naredbi goto #2
12

Rezultat izvršavanja „j ima vrijednost 17“


goto1.php

38
4. Nizovi i funkcije za rad sa nizovima

Web programiranje 39
4.1 Pojam nizova # 1

Niz (eng. array) je promjenjiva određenog imena koja


sadrži skup vrijednosti po nekom redoslijedu.
Niz je složeni tip podataka koji se sastoji od jednog ili
više drugih podataka istog ili različitog tipa.
Vrijednosti koje se nalaze u nizu nazivaju se elementi
datog niza.
Niz može da ima više elemenata.
Svaki element niza može da ima samo jednu
vrijednost.
Pozicija svakog elementa niza određuje se na osnovu
njegovog indeksa (ključa).
PHP jezik podržava numeričke indeksirane i
asocijativne nizove.
40
Indeksi u PHP nizovima uvijek počinju sa nulom. Tako je
indeks prve vrijednosti niza 0.
Niz se pravi pomoću jezičke konstrukcije array.

Indeksi mogu biti cijeli brojevi ili stringovi.


Ako se u definiciji niza ne specificiraju indeksi, onda
indeksi uzimaju vrijednost redom 0,1,2, itd.
Sadržaju (elementu) niza pristupa se pomoću imena
promjenjive i indeksa (ključa), koji se navodi u uglastim
zagradama.
Web programiranje 41
4.2 Primjer niza sa numeričkim indeksima
Nulti index
nizovi.php

U navednom primjeru nisu eksplicitno definisani indeksi,


pa su indeksi redom 0=>”BTC”, 1=>”ETH”,2=>”DCR”, i tako
dalje.
42
4.3 Nizovi sa znakovnim indeksima –
associative array #1
Dok numerički indeksirani nizovi koriste indeksne pozicije
kao ključ (0, 1, 2 i tako dalje), asocijativni koriste
imenovane ključeve.
U sljedećem primjeru prikazan je takav niz kreiranjem niza
pod nazivom $character, koji sadrži četiri elementa:

43
4.3 Nizovi sa znakovnim indeksima –
associative array # 2

Četiri ključa u nizu $character su name,


occupation, age i special power.
Povezane vrijednosti su Bob, superhero, 30 i x-ray vision.
Možete da referencirate specifične elemente
asocijativnog niza, koristeći specifičan ključ, kao u ovom
primjeru:
echo $character['occupation'];
Ispisaće se:
superhero

Web programiranje 44
Kao i u numerički indeksiranim nizovima, možete da
upotrijebite operator niza za dodavanje asocijativnog
niza:
$character['supername'] = "Mega X-Ray
Guy";
U ovom primjeru dodat je ključ supername, koji ima
vrijednost Mega X-Ray Guy.
Jedina razlika izmedu asocijativnog i numerički
indeksiranog niza je naziv ključa.
U numerički indeksiranom nizu naziv ključa je broj.
U asocijativnom nizu naziv ključa je smisaona riječ.

45
4.3 Nizovi sa znakovnim indeksima –
associative array #5

nizovi1.php

U navednom primjeru indeksi nisu redom 0,1,2,itd., već


su definisani kao string-ovi.

46
4.4 Funkcija range()
Funkcija range() automatski pravi niz rastućih brojeva.
Na primjer, $brojevi=range(1,100) smješta niz
brojeva od 1 do 100 u rastućem redosljedu u niz
$brojevi.
Na primjer, $neparni=range(1,10,2) smješta
neparne brojeve od 1 do 10 u niz $brojevi u rastućem
redoslijedu.
nizovi2.php

Web programiranje 47
4.5 Prikaz elemenata niza pomoću petlji # 1

Kada god se doda novi element niza, veličina niza se


dinamički povećava.
Za prikaz elemenata niza najčešće se upotrebljavaju petlje
for i foreach.

nizovi3.php

48
Petlja foreach se koristi samo u kombinaciji sa
nizovima, a koristi se za kretanje kroz svaki key/value
par.
Sintaksa je:
foreach ($array as $value)
{code to be executed;}
nizovi3.php

Web programiranje 49
4.6 Prikaz elemenata niza pomoću
funkcije each() # 1

Kada indeksi niza nisu brojevi, za pristupanje članovima


niza ne može da se koristi for petlja, već se koristi
foreach petlja i funkcije each() i list().
Funkcija each() čita tekući element niza i pomjera
interni pokazivač na naredni element.
Funkcija each() redom vraća svaki key/value
element u nizu i zaustavlja se kada dođe do kraja niza.

50
U ovom primjeru možemo vidjeti dva načina ispisa
elemenata niza $automobili.
Jedan je putem while() petlje i korištenja funkcije
each(), a drugi je putem foreach() petlje.

nizovi4.php

51
4.7 Prikaz elemenata niza pomoću
funkcije list() # 1

Funkcija list() se upotrebljava kako bi se niz


razdvojio na pojedinačne elemente.
Funkcija each() iz niza $automobili izdvaja
tekući element i interni pokazivač pomjera na naredni
element.
Funkcija list() pretvara vrijednost indeksa i
elementa iz niza koji je vratila funkcija each() u 2 nove
promenljive: $indeks i $marka.
Pogledajmo primjer na sljedećem slajdu.

52
nizovi5.php

53
nizovi6.php

Web programiranje 54
4.8 Operatori za rad sa nizovima

Operator Naziv Primjer


+ Unija $a+$b
== Jednako $a==$b
==== Identično $a===$b
!= Različito $a!=$b
<> Različito $a<>$b
!== Nije identično $a!=$b

55
4.9 Pojam multidimenzionalnih nizova # 1

Ako svaki skup parova key/value predstavlja


dimenziju, višedimenzionalni niz sadrži više od jednog
skupa parova key/value.
Na primjer, u programskom kodu mdarray.php
definisan je višedimenzionalni niz pod nazivom
$characters, a svaki elemenat sadrži asocijativni niz.
Ovo možda zvuči zbunjujuće, a to je, u stvari, samo niz
koji sadrži druge nizove.

Web programiranje 56
mdarray.php

Web programiranje 57
Na liniji 13 niz $characters je pokrenut pomoću funkcije
array().
U linijama od 14 do 19 predstavljen je prvi, u linijama od 20 do
24 drugi, a u linijama od 26 do 31 treći elemenat.
Ovi elementi mogu da budu referencirani kao
$characters[0], $characters[1] i $characters[2].
Svi elementi se sastoje od asocijativnih nizova, od kojih svaki
sadrži četiri elementa: name, occupation, age i
special_power.
Međutim, pretpostavimo da pokušavate da odštampate glavne
elemente, kao što je:
echo $characters[1];
U ovom kodu ispis će biti:
Array
58
Zato što glavni elemenat sadrži niz.
Da biste stvarno preuzeli sadržaj koji želite (odnosno,
specifičnu informaciju koja se nalazi unutar elementa
unutrašnjeg niza), potrebno je da pristupite indeksnoj
poziciji matičnog elementa i da upotrebite naziv
asocijativnog niza vrijednosti koju želite da prikažete.
Pogledajte sljedeći primjer:
echo $characters[1]['occupation'];
Ovaj primjer odštampaće sljedeće:
superhero

59
Štampanje informacija koje se nalaze u svakom elementu
niza: mdarray.php

60
Petlja foreach obrađuje glavni elemenat niza $characters.
Ona se ponavlja kroz ovaj niz i dodjeljuje privremeni naziv $c
elementu koji se nalazi unutar svake pozicije.
Zatim, kod pokreće petlju while. Ova petlja koristi dvije funkcije za
ekstraktovanje sadržaja unutrašnjeg niza - list() i each().
Funkcija list() dodeljuje naziv za rezervisane varijable $k i
$v, koje će biti popunjene ključevima i vrijednostima skupljenim iz
funkcije each().
Funkcija each() pregleda svaki elemenat niza $c i u skladu sa
njim ekstraktuje informacije.
Iskaz echo jednostavno štampa svaki ključ i vrijednost ($k i
$v) koji su ekstraktovani iz niza $c pomoću funkcije each() i
dodaje novi red za prikaz.

61
matrice.php

matrice1.php

Web programiranje 62
4.10 Funkcije za prebrojavanje
elemenata niza # 1

count(niz[,mod]) – vraća broj elemenata niza. Ako je


argument mod=1 onda broji i elemente podnizova
rekurzivno.
array_count_values(niz) – za svaku vrijednost daje
broj pojavljivanja.
sizeof(niz) – vraća ukupan broj elemenata u nizu koji
je prosljeđen kao argument funkcije. Ova funkcija je alijas
zs funkciju count().

63
PNiz.php

64
4.11 Funkcije za dodavanje
elemenata niza # 1

array_push(imeNiza, element) – dodaje vrijednost


elementa na kraj niza.
array_pop(imeNiza) - dohvata vrijednost poslednjeg
elementa niza. Vrijednost niza se umanjuje za vraćenu vrijednost.
array_shift(imeNiza) – daje prvi element dok se svi
elementi niza pomjere za jedan ulijevo. Umanjuje niz za jedan.
array_unshift(imeNiza, element1,
[element2…]) – dodaje vrijednost elementa na početak niza
a ostale elemente pomjera za jedan udesno. Ako se dodaje niz od
n elemenata, ostali elementi će biti pomjereni za n pozicija.
array_pad(imeNiza, duzinaNiza, element1) –
dopunjava niz do zadate dužine zadatim elementima. U zavisnoti
od argumenta „duzinaNiza“ elementi se dodaju ispred ili iza
postojećih elemenata niza.
Web programiranje 65
DNiz.php

66
4.12 Funkcije za dodavanje
elemenata niza #1
sort(imeNiza[,Flag]) – sortira niz, Flag može biti
SORT_NUMERIC, SORT_REGULAR i SORT_STRING
rsort(imeNiza[,Fleg]) – sortira niz u opadajućem
redosljedu
asort(imeNiza[,Fleg]) – sortira niz zadržavajući
key/value parove.
usort(imeNiza[,imeFunkcije]) – sortira niz na
osnovu zadate funkcije.
array_reverse(imeNiza[,fixIndekse]) – obrne
redosljed elemenata, ako su pravi indeksi numerički i
fixIndekse=TRUE čuvaju se kao indeksi.
array_flip (imeNiza) – obrne mjesta indeksima i
v r ij e d n o s t ima.
W eb p r og ra m ira n je 67
4.12 Funkcije za dodavanje
elemenata niza #2

SNiz.php

Web programiranje 68
4.13 Funkcije za lociranje elemenata u nizu
in_array(element,imeNiza) – daje vrijednost TRUE,
ako se vrijednost prosljeđenog elementa nalazi u datom nizu i
FALSE u suprotnom slučaju.
array_keys(imeNiza[,element]) – daje niz svih
indeksa elemenata, odnosno niz indeksa zadate vrijednosti.
array_search(element,imeNiza) – daje vrijednost
prvog indeksa zadate vrijednosti.

69
4.14 Funkcije za kretanje po nizu
key(imeNiza) – daje vrijednost trenutnog indeksa.
current(imeNiza) – daje trenutnu vrijednost.
each(imeNiza) – daje trenutni indeks-vrijednost par i
pomjera pokazivač za jedan element.
reset(imeNiza) – vraća pokazivač na početak niza
(prvi element).
next(imeNiza) – vraća vrijednost sljedećeg elementa
u nizu i pomjera pokazivač za jedno mjesto unaprijed.
prev(imeNiza) – vraća vrijednost prethodnog
elementa u nizu i pomjera pokazivač za jedno mesto
unazad.
end(imeNiza) – pomjera pokazivač na kraj niza i vraća
vrijednost elementa na kraju niza.
Web programiranje 70
4.15 Funkcije za kombinovanje nizova # 1

array_combine(niz1,niz2) – daje nov niz u kome


vrijednosti prvog niza postaju indeksi drugog niza.
array_merge(niz1,niz2) – daje novi niz spajanjem
dva niza. Ukoliko su dva indeksa ista, uzima se indeks
drugog niza, kod operatora + je suprotno.
array_slice(niz1,ofset[,duzina]) – daje novi
niz kao dio niza date dužine počev od indeksa sa rednim
brojem offset.
array_splice(niz1,ofset[,duzina][,niz2]) –
daje niz u kome je obrisan dio niza date dužine počev od
ofseta, i eventualno ga zamjenjuje drugim nizom.
array_intersect(niz1,niz2) – daje niz svih
vrijednosti koje su zajedničke za dva niza.
71
array_intersect_assoc(niz1,niz2) – daje niz
svih parova indeks/vrijednost koje su zajedničke za dva
niza.
array_diff(niz1,niz2[,niz3…]) – daje
vrijednosti prvog niza koje se ne nalaze u narednim
nizovima koji su argumenti funkcije.

Web programiranje 72
5. Primjer interakcije HTML forme sa PHP-om

Web programiranje 73
5.1 Zahtjev u primjeru # 1

Napraviti stranicu za zahtjev za kupovinu kriptovalute


Ethereum, kao što je prikazano ispod na slici.

Web programiranje 74
Kada kupac unese osnovne podatke za transakciju (ime,
prezime, godina rođenja, pol, način plaćanja i količinu
Ethereum-a koju želi da kupi, treba da se odštampa potvrda o
transakciji sa sljedećim podacima:
Ime kupca
Prezime kupca
Način plaćanja
Broj kupljenih jedinica Ethereum-a
Trenutna cijna jedne jedinice Ethereum-a u dolarima
Iznos transakcije u dolarima i
Vrijeme i datum izvršenja transakcije (dinamički sadržaj).
Ukoliko kupac u HTML formu u polje za željeni broj jedinica
Ethereum-a koji želi da kupi unese 0, ili ostavi prazno, treba da
se ispiše poruka da transakcija ne postoji.
75
Stranica sa potvrdom o transakciji, odnosno obavejštenje
da kupovina nije realizovana treba da izgledaju kao što je
prikazano na slikama ispod.

76
5.2 Mogući način pristupanja elementima
HTML forme iz PHP-a
Postoji tri načina za pristupanje elementima HTML forme pomoću
PHP koda (neka je u primjerima ispod vrijednost atributa name
elementa forme kojem se pristupa postavljena na ime):
1. $ime
2. $_POST[‘ime’]
3. $HTTP_POST_VARS[‘ime’]
Da bi se koristio prvi način, potrebno je da se parametar
register_globals postavi na vrijednost on u podešavanjima
web servera. Zbog ovoga se ovaj način ne preporučuje.
Drugi način je optimalan i zato ćemo i mi da ga koristimo u našim
primjerima.
Treći način je složen i zastario (eng. obsolete) i treba ga izbjegavati.

Web programiranje 77
5.3 $_POST, $_GET, $_REQUEST
$_POST i $_GET su superglobalni nizovi.
Jedan od navedena dva niza sadržaće vrijednosti svih polja
HTML forme.
Koji niz će biti korišten zavisi od POST/GET metode koja se
navede u formi.
<form name="prva" method="POST" action="Potvrda.php">
<form name="prva" method="GET" action="Potvrda.php">
Svim poljima HTML forme u stranici Potvrda.php može da se
pristupi preko naredbi:
$_POST[‘ime_polja’]
$_GET[‘ime_polja’]

$_REQUEST je superglobalni niz, gde su dostupni svi podaci,


bilo da su poslati preko POST ili GET metode.

78
5.4 Funkcija date()
Obzirom da je jedan od zahtjeva u primjeru da se prikaže
datum i vrijeme realizacije transakcije (tekući datum i vrijeme),
potrebno je koristiti funkciju date().
Funkcija date() kao argument prima znakovni niz, koji
predstavlja format vremena/datuma koji treba da se prikaže.
Svaki karakter u argumentu predstavlja jedan element datuma,
odnosno vremena:
H označava sat u 24-časovnom format
i označava minute sa vodećom cifrom 0 za jednocifreni broj minuta
(0-9)
j označava dan u mesecu, bez vodeće cifre 0 za jednocifrene dane
S označava redni sufiks na engleskom jeziku (st/nd/rd)
F označava pun naziv meseca.
Web programiranje 79
5.5 Rješenje # 1

Neka se HTML dokument sa formom naziva „forma.html“.


forma.html

Web programiranje 80
Prvo je potrebno da se definišu kraća imena varijabli koje će uzimati
vrijednost odgovarajućih polja iz html forme korištenjem $_POST
superglobalnog niza.
Takođe, definisana je konstanta ETHCIJENA, koja
predstavlja trenutnu vrijednost Ethereum valute.

potvrda.php

Web programiranje 81
Varijabla $iznos čuva vrijednost transakcije u dolarima,
koja se dobija kada se broj kupljenih Ethereum-a
($kolicina) pomnoži sa cijenom jedne jedinice
(ETHCIJENA).
potvrda.php

82
Ako je kupac u HTML formi unijeo da želi da kupi više od 0
jedinica Ethereum-a, prikazuju se podaci o transakciji
(ime,prezime,nacin placanja, broj kupljenih ETH, trenutna
cijena, iznos transakcije u dolarima, vrijeme i
datum transakcije).
potvrda.php

Web programiranje 83
Ako je kupac u HTML formi za željeni iznos Ethereum
valute koju želi da kupi unijeo 0 ili je ostavio prazno,
ispisuje se poruka da ne postoji transakcija i da kupovina
nije realizovana.

potvrda.php

84
Vježbe
Vježbe raditi u sljdećem redoslijedu:
Vježba1.docx – ovdje se radi o 6 manjih vježbi
Vjezba-nizovi-modify-array-with-loop
Vjezba-nizovi-modify-array-with-array_walk
Vjezba-nizovi-modify-array-with-array_map
Vjezba-nizovi-joining-array-with-commas
Vjezba-nizovi-extracting-data-from-json
Vjezba-processing-and-validating-user-input

Web programiranje 85
HVALA NA PAŽNJI!

Kontakti:
mr. sc. Benjamin Suljić, dipl.ing.el.
email: benjamin.suljic@gmail.com
LinkedIn: https://www.linkedin.com/in/benjaminsuljic/
Informacione tehnologije 86

You might also like