0% found this document useful (0 votes)
41 views

Poglavlje 3 3.1. Forme (Obrazci)

The document discusses forms and dynamic content in PHP. Forms are specified within <FORM> tags and can collect user input. The ACTION attribute specifies the PHP script that will process the form data, while the METHOD attribute determines if data is sent via GET or POST. When the form is submitted, the PHP script specified in ACTION will run and can output the processed form data. Dynamic content can be added by calling functions like date() that return different values each time the script runs. There are different ways to access form data in PHP, such as using the $_POST or $_GET superglobal arrays.

Uploaded by

amirkaracic8427
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
41 views

Poglavlje 3 3.1. Forme (Obrazci)

The document discusses forms and dynamic content in PHP. Forms are specified within <FORM> tags and can collect user input. The ACTION attribute specifies the PHP script that will process the form data, while the METHOD attribute determines if data is sent via GET or POST. When the form is submitted, the PHP script specified in ACTION will run and can output the processed form data. Dynamic content can be added by calling functions like date() that return different values each time the script runs. There are different ways to access form data in PHP, such as using the $_POST or $_GET superglobal arrays.

Uploaded by

amirkaracic8427
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 14

Poglavlje 3

3.1. Forme (Obrazci)


Forme slue za prikupljanje informacija i one se
specificiraju unutar <FORM> taga iji su atributi
ACTION, sa vrijednou koja treba da bude e-mail
adresa za prikuplja informacije i atributa METHOD ija
vrijednost moe biti POST ili GET.
Primjer
<HTML>
<HEAD></HEAD>
<body bgcolor="Blue" TEXT="YELLOW">
<form action="Primjer.php" method="post">
<p align="center">Forma:
<input

type="text"

name="v1"

size="40"

name="r1"

size="40"

maxlength="60">
</P>
<p align="center">razno:
<input

type="text"

maxlength="60">
</P>
<p>&nbsp;</P>
<table align="center">
<tr bgcolor=#cccccc align="center">
<td width=150>Student-ime i prezime</td>
<td width=15>POENI</td>
<td width=15>Oznaka smijera</td>
<td width=15>Trocifren broj indeksa</td>
<td width=15>email-adresa</td>
</tr>
<tr>

<td

align="center"><input

type="text"

name="s1"

size="20" maxlength="20"></td>
<td

align="center"><input

type="text"

name="p1"

size="8" maxlength="8"></td>
<td

align="center"><input

type="text"

name="m1"

size="8" maxlength="8"></td>
<td

align="center"><input

type="text"

name="i1"

size="8" maxlength="8"></td>
<td

align="center"><input

type="text"

name="e1"

size="20" maxlength="20"></td>
</tr>
<tr>
<td

align="center"><input

type="text"

name="s2"

size="20" maxlength="20"></td>
<td

align="center"><input

type="text"

name="p2"

size="8" maxlength="8"></td>
<td

align="center"><input

type="text"

name="m2"

size="8" maxlength="8"></td>
<td

align="center"><input

type="text"

name="i2"

size="8" maxlength="8"></td>
<td

align="center"><input

type="text"

name="e2"

size="20" maxlength="20"></td>
</tr>
<tr>
<td

align="center"><input

type="text"

name="s3"

size="20" maxlength="20"></td>
<td

align="center"><input

type="text"

name="p3"

size="8" maxlength="8"></td>
<td

align="center"><input

type="text"

name="m3"

size="8" maxlength="8"></td>
<td

align="center"><input

type="text"

name="i3"

size="8" maxlength="8"></td>
<td

align="center"><input

type="text"

size="20" maxlength="8"></td>
</tr>

name="e3"

<tr>
<td colspan="2" align="center">
<input type="submit" value="Obradi"></td>
</tr>
</table>
</form>
</BODY>
</HTML>
Skripta koja se poziva Primjer.php
<html>
<head><title>PHP obrada</title></head>
<body bgcolor="Blue" TEXT="Yellow">
<h1>PHP obrada</h1>
<?php
echo $_POST['v1'];
echo ", dobro do&#353;li!!!";
echo '<br>';
echo 'Kontrolni kod obrade je: ';
$p4=123;
echo $p4;
echo "<p>$s2</p>";
echo '<p>Ime prvog studenta je ';
echo $_POST['s1'];
echo '</p>';
echo '<p>Poeni prvog studenta su';
echo $HTTP_POST_VARS['p1'];
echo '<p>Obra&#273;eno.</p>';
echo '<p>Smijer prvog studenta je';
echo $HTTP_POST_VARS['m1'];
echo '<p>Obra&#273;eno.</p>';

echo '<p>Trocifreni broj prvog studenta je';


echo $HTTP_POST_VARS['i1'];
echo '<p>Obra&#273;eno.</p>';
echo "<p>$s2</p>";
echo '<p>Ime prvog studenta je ';
echo $_POST['s2'];
echo '</p>';
echo '<p>DATUM OBRADE TABELE ';
echo date('H:i, jS F');
echo '</p>';
?>
</body>
</html>

U atributu

ACTION

naveden je PHP skript koji e

obraditi formular. Vrijednost atributa ACTION je URL


koji

biti

uitan

kada

korisnik

pritisne

dugme

submit. Podaci koje je korisnik unosi u obrazac bie


poslani stranici na toj adresi metodom zadatom u
atributu METHOD. To e biti metoda GET, dodaje
podatke na kraj URL-a, ili metod POST, iji podaci se
alju zasebno.
Da bismo obradili obrazac, treba da napravimo skript
pomenut u atributu ACTION oznake FORM.
Taj skript nazovimo

Primjer.php.. Ukucajmo sljedei

kd:
<html>
<head><title>PHP obrada</title></head>

<body>
<h1>PHP obrada</h1>
<?php
echo $_POST['v1'];
echo ", dobro do&#353;li!!!";
echo '<br>';
echo 'Kontrolni kod obrade je: ';
$p4=123;
echo $p4;
echo "<p>$s2</p>";
echo '<p>Ime prvog studenta je ';
echo $_POST['s1'];
echo '</p>';
echo '<p>Poeni prvog studenta su';
echo $HTTP_POST_VARS['p1'];
echo '<p>Obra&#273;eno.</p>';
?>
</body>
</html>
Ovdje je PHP kd naredbi bio ugraen u obinu HTML
datoteku. Izvorni kd stranice u browseru Weba je
sljedei:
<html>
<head>
<title>PHP obrada</title>
</head>
<body>
<h1>PHP obrada</h1>
<h2>Tabela</h2>
123<p>STIL

za

Promjenljivu</p><p>x</p>y<p>Obra&#273;eno.</p>
</body>
</html>

PHP naredbe se ne vide zato to je prevodilac za PHP


zamijenio naredbe rezultatom.
To znai da se iz PHP-a dobija ist HTML, koji se moe
vidijeti u browseru. Prethodni Primjer prikazuje nain
rada serverskih skriptova. PHP kod je preveden i
izvren na Web serveru, za razliku od JavaScripta i
drugih klijentskih jezika koji se prevode i izvravaju
unutar browsera Weba na raunaru korisnika.
Kd koji se sada nalazi u PHP datoteci sastoji se od:
HTML oznaka
PHP oznaka
PHP iskaza
praznog prostora
komentara

PHP iskazi
PHP iskazi se nalaze izmeu poetnih i zavrnih oznaka
i odreuju ta prevodilac treba da radi. U ovom
Primjeru koristili smo samo jedan tip iskaza:
echo '<p>...</p>';
Rezultat naredbe echo je: da ona tampa (ili ispisuje)
tekst koji joj je proslijeen. Taka i zarez se koristi za
razdvajanje iskaza u PHP-u. Izostavljanje take i zareza
je tipina sintaksna greka.

3.2. Dodavanje dinamikog sadraja


Glavni razlog upotrebe serverskog skript jezika jeste
dinamiki sadraj. Zaponimo modifikacijom datoteke
Primjer.php dodavanjem sljedeeg fragmenta:

<?php
echo '<p>DATUM OBRADE TABELE ';
echo date('H:i, jS F');
echo '</p>';
?>
odnosno
<html>
<head>
<title>PHP obrada</title>
</head>
<body>
<h1>PHP obrada</h1>
<h2>Tabela</h2>
<?php
echo $_POST['v1'];
echo ", dobro do&#353;li!!!";
echo '<br>';
echo 'Kontrolni kod obrade je: ';
$p4=123;
echo $p4;
echo "<p>$s2</p>";
echo '<p>Ime prvog studenta je ';
echo $_POST['s1'];
echo '</p>';
echo '<p>Poeni prvog studenta su';
echo $HTTP_POST_VARS['p1'];
echo '<p>Obra&#273;eno.</p>';

echo '<p>DATUM OBRADE TABELE ';


echo date('H:i, jS F');
echo '</p>';
?>

</body>
</html>

U ovom kodu koristimo ugraenu funkciju PHP-a date,


kojom saoptavamo datum i vrijeme kada je obraen
formular. Pri svakom izvravanju skripta bie ispisane
razliite vrijednosti.

3.3. Pozivanje funkcija


Veini funkcija ili treba proslijediti neke podatke, ili one
vraaju neke podatke. Npr.
Poziv funkciji:
date('H:i, jS F')
tako da je argument ili parametar funkcije koji se
proslijeuje naveden unutar zagrada. Argumenti su
ulazni podaci na osnovu kojih funkcija daje konkretne
izlazne rezultate.
Argument funkcije date je znakovni niz koji predstavlja
format

rezultata.

Svako

slovo

znakovnom

nizu

predstavlja jedan dio datuma i vremena.


H je sat u 24-asovno formatu
i je minut, s vodeom nulom ako treba
j je dan u mesecu bez vodee nule,
S predstavlja redni sufiks na engleskom jeziku
( th, st, nd,)
F je puno ime meseca
3.4. Pristup promijenljivama formulara

U PHP-u se moe na vie naina pristupiti unijetim


podacima u formularu, ali konkretan nain zavisi od
toga koju verziju PHP-a koristite, kao i od parametara u
datoteci php.ini.
U zavisnosti od toga koju verziju PHP-a koristite i kako
je

ona

instalirana,

postoje

tri

naina

pristupanja

podacima u formularu preko promijenljivih: kratki,


srednji i dugi stil.
Primjer pristupanja sadraju polja iji je naziv p1
(name=p1) moese pristupiti na tri naina:
$p1 // kratki stil
$_POST['p1'] // srednji stil
$HTTP_POST_VARS['p1'] // dugi stil
Kratki stil je praktian, ali zahtijeva da konfiguracijski
parametar register_globals bude ukljuen. Ovaj stil
dozvoljava

da

greke

zbog

kojih

kd

nee

biti

bezbijedan.
Srednji stil je prilino praktian, ali postoji tek od
verzije PHP-a 4.1.0, tako da na starijim instalacijama
nee raditi.
Dugi stil je najopirniji. Ali i najstariji, te zbog toga za
sada

radi

na

svakom

serveru,

bez

obzira

na

konfiguraciju.
PREDNOSTI I MANE SKRATKOG STILA
Kada se koristi kratki stil, imena promijenljivih u skriptu
ista su kao imena polja u HTML formi.
Nije potrebno deklarisati promenljive, one se skriptu
proslijeuju kao to se argumenti proslijeuju funkciji.
Ako upotrebite kratki stil, koristiete promenljivu kao
to je npr. $p1. Polje p1 u HTML formi pravi promenljivu
$p1 u PHP skriptu.

Upotreba

kratkog

stila

zahtijeva

da

parametar

register_global u konfiguracijskoj datoteci php.ini bude


ukljuen. Od verzije 4.2.0 navie, taj parametar je
standardno

iskljuen,

dok

je

starijim

verzijama

standardno ukljuen.
Prednosti i mane srednjeg stila
Srednji stil je itanje promijenljivih formulara iz jednog
od nizova $_POST, $_GET i $_REQUEST. Jedan od
nizova $_POST ili $_GET uvae podatke iz svih polja
formulara. Koji niz e biti upotrebljen zavisie od
metode koja se koristi za slanje formulara, POST ili GET.
Osim toga, svi podaci poslati preko metode POST ili
GET bie dostupni preko niza $_REQUEST.
Ako je obrazac poslan metodom POST, podaci iz polja p1
bie sauvani u elementu $_POST ['p1']. Ako je obrazac
poslat metodom GET, podaci e biti sauvani u elementu
$_GET ['p1']. U bilo kom od ta dva sluaja, podaci e biti
dostupni u elementu $_REQUEST ['p1'].
Ovi nizovi su neki od novih optih promijenljivih,
takozvanih superglobalnih vrijednosti.
Prednosti i mane dugog stila
Ako koristite dugi stil, podacima koje su unijeli korisnici
moi ete da pristupate
preko

elemenata

$HTTP_POST_VARS['p1']

ili

$HTTP_GET_VARS['p1'].

FORMULAR Primjer1.html
Ovaj primjer predstavlja modifikaciju PRIMJER.HTML
ubacivanjem nizova za imena polja.

<HTML>
<HEAD></HEAD>
<BODY>
<form

action="Primjer1.php"

method="post">
<p align="center">Formu popunjava:
<input

type="text"

name="v1"

size="40"

maxlength="60">
</P>
<p align="center">razno:
<input

type="text"

name="r1"

size="40"

maxlength="60">
</P>
<p>&nbsp;</P>
<table align="center">
<tr bgcolor=#cccccc align="center">
<td width=150>Student-ime i prezime</td>
<td width=15>POENI</td>
<td width=15>Oznaka smijera</td>
<td width=15>Trocifren broj indeksa</td>
<td width=15>email-adresa</td>
</tr>
<tr>
<td

align="center"><input

name="s[]"

type="text"
size="20"

maxlength="20"></td>
<td

align="center"><input

type="text"

name="p[]" size="8" maxlength="8"></td>


<td

align="center"><input

type="text"

name="m[]" size="8" maxlength="8"></td>


<td

align="center"><input

type="text"

name="i[]" size="8" maxlength="8"></td>


<td

align="center"><input

name="e[]"
maxlength="20"></td>

type="text"
size="20"

</tr>
<tr>
<td

align="center"><input

name="s[]"

type="text"
size="20"

maxlength="20"></td>
<td

align="center"><input

type="text"

name="p[]" size="8" maxlength="8"></td>


<td

align="center"><input

type="text"

name="m[]" size="8" maxlength="8"></td>


<td

align="center"><input

type="text"

name="i[]" size="8" maxlength="8"></td>


<td

align="center"><input

name="e[]"

type="text"
size="20"

maxlength="20"></td>
</tr>
<tr>
<td

align="center"><input

name="s[]"

type="text"
size="20"

maxlength="20"></td>
<td

align="center"><input

type="text"

name="p[]" size="8" maxlength="8"></td>


<td

align="center"><input

type="text"

name="m[]" size="8" maxlength="8"></td>


<td

align="center"><input

type="text"

name="i[]" size="8" maxlength="8"></td>


<td

align="center"><input

type="text"

name="e[]" size="20" maxlength="8"></td>


</tr>
<tr>
<td colspan="2" align="center">
<input type="submit" value="Obradi"></td>
</tr>
</table>
</form>
</BODY>

</HTML>

Primjer1.php skripta koji sortira poene studenta u


rastuem redosljedu. <?php
//stampa niz, uociti operaciju =>
foreach ($_POST['p'] as $index => $poeni)
{
echo "<BR>poeni[$index]=$poeni";
}
echo "<BR>";
//sortiranje
sort($_POST['p']);
//ispis sortiranog niza
foreach ($_POST['p'] as $index => $poeni)
{
echo "<BR>poeni[$index]=$poeni";
}
?>
Primjer reverznog sortiranja
a) REVERZNO
Funkcija za reverzno sortiranje je rsort, tj. poziv u
prethodnom primjeru
sort($_POST['p']); zamijeniti sa rsort($_POST['p']);
b)

Primjer

reverznog

predefinisane funkcije
function poredi($a, $b)
{

sortiranja

koritenjem

if ($a == $b) {
return 0;
}
return ($a > $b) ? -1 : 1;
}

You might also like