<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE html PUBLIC '-//W3C/DTD XHTML+Voice 1.2 /EN' 'http://www.voicexml.org/specs/multimodal/x+v/12/dtd/xhtml+voice12.dtd'>
<html xmlns='http://www.w3.org/1999/xhtml' xmlns:ev='http://www.w3.org/2001/xml-events'>
<head>
<link rel='stylesheet' href='http://pabi3.com/modules/items/voice.css' type='text/css' media='all' />
<form xmlns='http://www.w3.org/2001/vxml' id='title'>
<block>
The article PHP pre zaciatocnikov - Polia, 5.diel is written by PaBi3
</block>
</form>
<form xmlns='http://www.w3.org/2001/vxml' id='body'>
<block>
V tomto diele sa dozviete o poliach a ich moznosti zapisu. Nieco si povieme aj o superglobalnych poliach a jedno si aj vykusame. Uvedieme priklad vyuzitia poli a moznosti odoslania dat resp. hodnot.</block>
</form>
<form xmlns='http://www.w3.org/2001/vxml' id='full'>
<block>
Polia su trochu odlisne od premennych. Ich zakladna odlisnost spociva v tom, 
ze v premennych moze byt len jedna hodnota a v poliach moze byt rada hodnot. V 
poliach sa mozu taktiez nachadzat premenne, cisla a aj ine polia. Polia delime 
na indexove a asociativne. Indexove pouzivaju cisla a asociativne, 
ktore vyuzivaju premenne, retazce a pod.. Pri indexovanych poliach sa pocita prva hodnota od 
cislice nula. Zakladna syntax poli sa zacina takto:

&lt;?

$pole = array ("PHP","MySQL","Apache");



echo "{$pole["0"]}&lt;br /&gt;";

echo "{$pole["1"]}&lt;br /&gt;";

echo "{$pole["2"]}&lt;br /&gt;";

?&gt;
alebo aj takto:

&lt;?

$pole[] = "PHP";

$pole[] = "MySQL";

$pole[] = "Apache";

// mozu byt aj s cislami ako $pole["0"], $pole["1"] a pod.



echo "{$pole["0"]}&lt;br /&gt;";

echo "{$pole["1"]}&lt;br /&gt;";

echo "{$pole["2"]}&lt;br /&gt;";

?&gt;
Ste prave svedkom prikladu, ktory vyuziva indexove pole. Mate moznost si 
vsimnut aj spominane indexovanie od nuly. Pole zapisujeme podobne ako premennu 
ale pred nu si zapiseme array aby sme vedeli, ze ide o pole a aby to samozrejme 
vedel aj jazyk php. Ked zapisujeme pole do prikazu echo, tak si urcite musite 
vsimnut, ze sa zapisuju do tychto znakov {} resp. takto {$pole["0"]}. Druhy 
priklad je rovanky len sme pole rozdelili. Toto je 
ukazka asociativnych poli:

&lt;?

$pole["PHP"] = "PHP: Hypertext Preprocessor";

$pole["MySQL"] = "Structured Query Language";

$pole["Apache"] = "Open source Web server";



echo "Skratka PHP znamena {$pole["PHP"]}&lt;br /&gt;";

echo "Skratka MySQL znamena {$pole["MySQL"]}&lt;br /&gt;";

echo "Skratka Apache znamena {$pole["Apache"]}&lt;br /&gt;";

?&gt;
Ako mate sami moznost vidiet, tak asociativne polia vyuzivaju k svojej 
spravnej funkcii ako kluc retazce a nie cislice. Polia su ciastocne prerobitelne 
a to tak, ze ich mozete indexovat od jednotky a nie od nuly. Je to dosiahnutelne 
potom ako pred indexovane pole vlozime takyto dotaz:

&lt;?

$pole = array (1 => "PHP","MySQL","Apache");



echo "{$pole["1"]}&lt;br /&gt;";

echo "{$pole["2"]}&lt;br /&gt;";

echo "{$pole["3"]}&lt;br /&gt;";

?&gt;
Mozno si budete mysliet, ze "prerobenie" je dost tvrdy vyraz pre takuto 
drobnu upravu. Mohli by sme polia indexovat taktiez aj od 5 alebo od 100. Je tu 
aj plno inych moznosti a je to len na vas aku si vy zvolite. Mate moznost 
vidiet, ze pred array sme vlozili  1 a za nou nasledoval tento znak =>.
Od verzie PHP v4.1 boli implementovane aj tzv. "Superglobalne polia.". Tieto 
polia maju oproti beznym jednu velku vyhodu a to je bezpecnost. Hodnotu, ktoru 
pole odosiela pozname a vieme odkial je. Pozname mnoho druhov superglobalnych 
poli a medzi ne patria aj $_GET a $_POST. Ako priklad vyuzitia si mozete zobrat 
aj formulare do ktorych sa hodnota odosiela. Cez $_GET sa nam odoslana hodnota 
vypise v prehliadaci tam kde zadavame adresu a to znamena, ze sa uklada aj do 
historie. Preto velmi neodporucam vyuzivat tento typ pre hesla uzivatelov. Pri $_POST 
nevidite ako sa odosiela hodnota a ani sa neuklada do historie. Ukladanie a 
odosielanie hesiel este nepatri do tejto casti. Poli je mnoho a dostaneme sa k nim
v buducich dieloch.
Ako priklad pouzitia poli mozem uviest aj maly formular. Poviete si "len 
formular uz nie", ale je to tak. Je to najjednoduchsi priklad aky pre zaciatocnika 
mozem uviest. Ako prve si napiseme cely zdrojovy kod formularu a potom si uz len 
vsetko vysvetlime. Prvy subor sa bude volat - "index.php":

&lt;form action="form.php" method="get"&gt;

&lt;input name="text" type="text" /&gt;

&lt;input type="submit" value="Odoslat hodnotu." /&gt;

&lt;/form&gt;
Druhy subor "form.php" bude prijmat hodnoty od "index.php":

&lt;?php

if(isset($_GET["text"])){

echo $text;

}

?&gt;
Subor "index.php" neobsahuje ziadny kod php. Obsahuje len cisty formular, 
ktory je nastaveny nasledovne: v tagu form mame zapisane dve veci a to action="" 
a method="". Action nam zaisti odoslanie hodnot do suboru "form.php" Dalej tu 
mame method. Ako uz bolo spominane pri superglobalnych poliach, tak aj tu mame 
nieco podobne. My sme nastavili method na GET, co znamena, ze tam kde v 
prehliadaci zadavame URL adresu bude teraz zadana nasa hodnota, ktoru sme napisali do formularu a 
odoslali. Zapisana bude takto: form.php?text=PaBi3. Samozrejme iba ak sme zadali 
text "PaBi3". Ak by sme zadali method na "post", tak by nam vyslo 
toto: form.php. A dalej nic. 
Druhy subor je cely v php a nepotrebuje ani velmi zlozite vysvetlenie ale 
toto je cast venovana poliam takze sme pouzili uz spominane superglobalne pole 
$_GET. $_GET sluzi podobne ako aj method resp. superglobalne polia su zalozene 
na podobnej baze. Tiez si to cele mozeme prelozit do slovenciny a zistime, ze 
nam vyde toto: ak(jenastavene($_ziskaj["text"])) napis $text. Je to pochopitelne 
uz len z nazvu. Celkom jednoduche tak ako minule :-). Toto by bolo k poliam asi 
vsetko. </block>
</form>
<base href='http://pabi3.com/' />
<title>PHP pre začiatočníkov - Polia, 5.diel</title>
</head>
<body ev:event='load' ev:handler='#title'>
<a href='http://pabi3.com/blog/php-pre-zaciatocnikov-polia-5-diel/' title='Návrat'>Návrat</a>
<h1 style='padding:0.5em;'>PHP pre začiatočníkov - Polia, 5.diel</h1>
<ul>
<li ev:event='click' ev:handler='#body'>Speak introduction</li>
<li ev:event='click' ev:handler='#full'>Speak full</li>
</ul>
</body>
</html>
