Ale nie! Kde je JavaScript?
Váš webový prehliadač nemá povolený JavaScript alebo nepodporuje JavaScript. Ak chcete správne zobraziť túto webovú lokalitu, povoľte JavaScript vo svojom webovom prehliadači, alebo inovujte na webový prehliadač, ktorý podporuje JavaScript.

PHP tutorial

Naposledy aktualizované 9 rokov pred
[color=#000066]PHP (1) - História a budúcnosť[/color]
PHP je skriptovací jazyk pre tvorbu dynamického webu a jeho počiatky spadajú do roku 1994. Vtedy sa pán Rasmus Lerdorf rozhodol vytvoriť jednoduchý systém pre počítanie prístupu k svojim stránkam; bolo to napísané v Perle. Za nejakú dobu bol systém prepísaný do jazyka C,, pretože perlovský kód dosť zaťažoval server. Sada týchto skriptov bola ešte neskôr toho istého roku vydaná pod názvom "Personal Home Page Tools", skrátene PHP. Ešte potom sa to volalo "Personal Home Page Construction Kit". U toho však nezostalo. V polovici roku 1995 sa systém PHP spojil s iným programom toho istého autora, a to síce s nástrojom "Form Interpreter" čiže skrátene FI. Tak vzniklo PHP / FI 2.0, systém, ktorý si postupne získal celosvetovú známosť a bol veľmi rozšírený. Koncom roku 1998 bola už k dispozícii verzia PHP 3.0, ktorá bola oveľa rýchlejší (a vybavenejšie) ako "dvojka" a ktorá bola k dispozícii aj pod operačnými systémami Windows. Počet webov ktoré používali PHP sa zvyšoval, až dosiahol cca 150 000. "Čtyřkové" verzie PHP, ktoré sú k dispozícii teraz, pridávajú do jazyka mnoho nových funkcií a taktiež prinášajú prepracované a teda podstatne rýchlejšie jadro Zend. Podľa údajov z apríla 2004 beží PHP na viac ako 15 000 000 doménach a je to bezkonkurenčne najčastejšie používaný modul webového servera Apache. Skratka PHP by sa mala prekladať ako "PHP: Hypertext Preprocessor", po slovensky by sme povedali asi niečo v štýle "předzpracovávač hypertextu" (je to naozaj po slovensky? ;-)) Úvaha o počiatkoch PHP by nebola úplná, keby sme sa krátko nezmienili aj o jeho budúcom vývoji. V čase písania tohto článku je už k dispozícii Release Candidate 2 verzia PHP 5 a podľa vývojárov sa máme na čo tešiť. Náhodne - jadro Zend II, kompletne prepísaných podpora XML, nové objektové rozhranie pre prácu s databázou MySQL a mnoho ďalšieho. Čiže, systém je stále vybavovaný novými technológiami a je aktívne vyvíjaný.

Ďalej - www.linuxsoft.cz/article.php?id_artic...rticle=171


[color=#000066]PHP (2) - Ako to funguje[/color]
Ak s PHP začínate, mali by ste si tento článok pozorne prečítať. Stretol som sa totiž s ľuďmi, ktorí síce s týmto jazykom už nejakú dobu pracujú, ale napriek tomu im uniká princíp - a robia tak základné koncepčné chyby. V čase internetového praveku boli všetky internetové stránky statické. Proste tak, ako bola stránka napísaná, tak bola odoslaná do prehliadača a tak bola tiež zobrazená. To pochopiteľne časom prestávalo stačiť, a preto bola vyvinutá celá rada technológií, ktoré mali stránky rozpohybovať. Zhruba povedané sa dajú tieto technológie rozdeliť do dvoch skupín, na "klientskej" a "serverové". "Klientské" technológia sa spoliehajú na jednoduchú vec: Spolu s HTML stránkou je prehliadači odoslaný aj nejaký kus programového kódu a ten je vo vhodnú chvíľu na "cieľovom "počítači spustený. Vhodná chvíľa môže nastať napríklad pri kliknutí na tlačidlo, pri ukázaní myšou na odkaz, pri otvorení okna prehliadača a podobne. O spustenie klientského kódu sa stará prehliadač - a to môže byť nevýhoda. Prehliadač totiž musí poznať programovací jazyk, v ktorom je kód napísaný. Príkladom technológií bežiacich na strane klienta je napríklad Java script. Máme o ňom na Linuxsoftu seriál. "Serverové" technológie sú založené na inom princípe. Keď prehliadač požaduje webovú stránku zo servera, server túto stránku najprv zostaví a potom odošle. Servery môžu (a aj to často robia) zostavovať zakaždým inú stránku v závislosti na tom, čo presne prehliadač požaduje.

Ďalej: www.linuxsoft.cz/article.php?id_artic...rticle=172


[color=#000099]PHP (3) - Inštalácia[/color]
V tomto diele o PHP si napíšeme, čo budeme k jeho prevádzkovanie potrebovať. V predchádzajúcej časti sme sa dozvedeli, ako webový server spracováva PHP kód a posiela ho prehliadači siete internet na zobrazenie.Pozrieme sa na to, aký softvér je pre prácu s PHP nevyhnutný a kde ho nájdete. Bez dobrých nástrojov je každá práca prinajmenšom veľmi náročná. Ak to s PHP myslíte vážne, zožeňte si všetko potrebné čo najskôr, nech si to môžete nainštalovať, nastaviť a začať to používať! Veľa nadšencov chce písať už od Prvého Dňa a čuduje sa, že veľmi skoro narazia na nejaký problém, ktorý s PHP skoro nesúvisí, ale ktorý musí rýchlo vyriešiť (napríklad konfigurácie, práva alebo zabezpečenia). Takže, čo budeme potrebovať: Budeme potrebovať svetlo, čiže LAMP. Skutočne, ideálna kombinácia pre prácu s PHP je Linux, Apache, MySQL a PHP (lámp je anglicky; slovensky to znamená lampa, svietidlo alebo žiarovka). Uvedená sada nástrojov sa môže preukázať naozaj ako najlepšie. Zmienim sa aj o alternatívach, ale toto je vyskúšané

Ďalej: www.linuxsoft.cz/article.php?id_artic...rticle=173



[color=#000099]PHP (4) - Základy syntaxu[/color]
Uz sme si PHP nainštalovali a nastavili. Teraz sa dostaneme v našom rozprávaní o tomto skriptovacom jazyku k základom syntaxe. Uvidíme, ako je kód PHP členený, ako sa v ňom trochu vyznať a na čo by sme pri písaní PHP nemali zabúdať. Ako vôbec server pozná, že má so súborom zaobchádzať ako s programom v PHP? V zásade podľa prípony súboru, ktorý po ňom požadujeme. Ak má súbor príponu php, server nám ho nevráti priamo ako by išlo o HTML, ale najprv ho spracuje. Príponu php (tiež phtml, PHP 3 a niektoré ďalšie) pozná server ako súbor skriptu jednoducho preto, že to má nastavené v konfigurácii (viď hore). My budeme používať pri ukladaní skriptov príponu php, je to najčastejšie. Úplná katastrofa môže nastať, keď súboru so skriptom php dáme omylom príponu htm alebo html. To ho potom server pošle do prehliadača bez akýchkoľvek úprav a užívateľ môže vidieť zdrojový kód skriptu. To asi nie je to, čo chcete, hlavne keby skript obsahoval citlivé údaje (napríklad, ako sa pripojiť k databáze). Takže, dávajte si na to pozor. Na druhej strane Vám nič nebráni nazvať si "obyčajné" html súbory tak, aby mali príponu php. Keď server zistí, že v nich nie je žiadny php kód, pošle je prehliadači tak, ako sú. A navyše - keď do nich neskôr budete chcieť nejaký kód pridať, už ich nebudete musieť premenovávať.

Ďalej: www.linuxsoft.cz/article.php?id_artic...rticle=176


[color=#000099]PHP (5) - Príkaz Echo; formátovanie kódu[/color]
V PHP sa naučíme jeden príkaz a niečo o formátovacích zvyklostiach. Hore sme si ukázali, ako sa PHP kód oděluje od HTML kódu, ako sa inštrukcie v PHP oddeľujú jedna od druhej a ako sa píšu v kóde komentáre. Teraz sa pozrieme na jeden príkaz a jeden operátor PHP; to sa radšej naučíme rovno, pretože ich budeme často používať. Ukážeme si tiež na formátovanie výsledného kódu, ktorý sa posiela do prehliadača.

Ďalej: www.linuxsoft.cz/article.php?id_artic...rticle=177


[color=#000099]PHP (6) - Typy premenných[/color]
V tomto článku o jazyku PHP sa pozrieme na zúbok premenným. Každý programovací jazyk pracuje s nejakými hodnotami. To, do čoho sa tieto hodnoty ukladajú, sa nazýva premenné. Každá premenná má názov (niekedy sa mu hovorí identifikátor) a hodnotu (niekedy sa označuje termínom literálu). V každom okamihu je hodnota premennej v programe jednoznačne daná, počas programu sa však môže meniť. Premenné sa podľa toho, čo v nich chceme uchovávať za hodnoty, delia na niekoľko typov.

Ďalej: www.linuxsoft.cz/article.php?id_artic...rticle=178


[color=#000099]PHP (7) - Pole[/color]
PHP používa samozrejme aj premenné typu pole. Tu si ukážeme ako. V PHP je okrem základných dátových typov (celé čísla, desatinné čísla, logické hodnoty a reťazca) k dispozícii aj dátový typ poľa. To je špeciálna štruktúra, ktorá môže v jednej premennej obsahovať sadu hodnôt. Hovoríme o tom, že pole má prvky; každý prvok má index alebo kľúč a hodnotu. Premennej typu pole patrí k tým veciam v PHP, ktoré sú v jazyku spracované naozaj dobre a znalosť polí Vám pravdepodobne umožní napísať kód, ktorý by bez nich bol dlhší, alebo pomalší, alebo menej prehľadný.

Ďalej: www.linuxsoft.cz/article.php?id_artic...rticle=179


[color=#000099]PHP (8) - Pojmy, konštanty, inkrementácie[/color]
Jazyk PHP je orientovaný na výrazy.Tu si v našom seriáli ukážeme čo výrazy sú a ako nám pri programovaní budú pomocou. Spomenieme sa tiež o konštantách a inkrementaci. Výrazom je v PHP zhruba povedané "všetko, čo má nejakú hodnotu". Tak napríklad v diele o premenných sme uviedli, že premenná má hodnotu; je to teda výraz. Spôsobe, ako zabezpečiť že premenná bude mať svoju hodnotu hovoríme priradenia. Pre osvieženie uveďme niekoľko priradenia

Ďalej: www.linuxsoft.cz/article.php?id_artic...rticle=180

[color=#000099]PHP (9) - pretypovanie premenných[/color]
Pretypovanie premenných v PHP - požehnanie alebo prekliatie? Už sme uviedli, že PHP nevyžaduje definíciu premennej pred jej použitím. Typ premennej je v zásade určený tým, čo do nej vložíme. Čo ak ale výsledkom výrazu bude v PHP niečo, čo má iný dátový typ? Napríklad, čo sa stane, keď budeme deliť dve celé čísla? Odpoveď je - PHP sa pokúsi vykonať tzv pretypovanie. Pretypovanie je zmena typu premennej počas vykonávania programu. Pripomeňme ešte na úvod, že premenné v PHP môžu byť štyroch základných typov: Integer, Float, Boolean a String. S přetypováním môže byť zábava. Predovšetkým - přetypovat premennú môžeme sami. Slúži na to príkaz settype, ktorý nenávratne zmení typ premennej na iný. Ďalšia dôležitá informácia je tá, že môžeme kedykoľvek zistiť typ premennej pomocou funkcie gettype

Ďalej: www.linuxsoft.cz/article.php?id_artic...rticle=181

[color=#000099]PHP (10) - Logické výrazy a operátory[/color]
Logické výrazy a operátory v PHP. Logické operátory sa v PHP viacmenej nelíši od rovnakých operátorov v iných programovacích jazykoch, ale to neznamená, že je v našom tutoriále vynecháme. Poďme sa teda pozrieť, ako sa používajú. Ak logické výrazy chronicky poznáte z iných programovacích jazykov, možno môžete tento diel preskočiť. Už sme si uviedli, že PHP má dátový typ boolean reprezentovaný hodnotami TRUE a FALSE. Má tiež operátory, ktoré Vám umožní s nimi pracovať. Predovšetkým by sme si mali ale povedať, že pre logické operácie sa neodporúča používať klasické operátormi "+", "-", "*" a "/". Keď to urobíme, neskončí to chybou, pretože PHP vykoná pretypovanie. Avšak, správanie programu bude väčšinou zvláštne. Dokázali by ste si napríklad tipnúť, čo vráti nasledujúci kód?

Ďalej: www.linuxsoft.cz/article.php?id_artic...rticle=183


[color=#000099]PHP (11) - Operátory porovnanie; priorita operátorov[/color]
V tomto diele nášho Mega-PHP seriálu sa pozrieme na zvyšok operátorov, o ktorých ešte nebola reč. Zmienim sa aj o priorite operátorov. Väčšinu operátorov, ktoré budete pri práci s PHP potrebovať, sme v tomto seriáli už prebrali. Pozrime sa teraz na zvyšok tých, ktoré by sa nám pri práci s PHP mohli hodiť. Zatiaľ sme žili s PHP vo svete, v ktorom nebola reč o chybách. Chyby sa ale v programovaní vyskytujú a bude im neskôr venovaný celý jeden článok seriálu. Teraz si uveďme, že PHP vie použiť operátor zavináča pred výrazom, čo spôsobí, že prípadná chyba pri vyhodnocovaní tohto výrazu bude neokázalo ignorovaná.

Ďalej: www.linuxsoft.cz/article.php?id_artic...rticle=188


[color=#000099]PHP (12) - Podmienky[/color]
PHP má samozrejme príkazy pre riadenie toku programu. Tu sa pozrieme na podmienky. Tok programu, teda aj tok skriptu v PHP len zriedkakedy prebieha od začiatku do konca po jednej línii. Väčšinou chcete reagovať na okolité podmienky. K tomu slúži v PHP, rovnako ako snáď vo všetkých ostatných exisujících programovacích jazykoch podmienky. Podmienky fungujú v tom najjednoduchšom prípade tak, že najprv je vyhodnotený určitý výraz. Ak je výraz pravdivý, vykoná sa príkaz. PHP má pre podmienku kľúčové slovo if.

Ďalej: www.linuxsoft.cz/article.php?id_artic...rticle=192


[color=#000099]PHP (13) - Príkazy cyklu[/color]
Príkazy cyklov sú v každom programovacom jazyku jedným z najdôležitejších prvkov. Vo väčšine kódov nájdeme príklady činností, ktoré sa opakujú. Dobrým príkladom môže byť napríklad tvorba tabuliek, tam sa opakujú tagy <TR> a <td> pre každý riadok, respektíve bunku. V PHP rozoznávame podľa toho, ako sú cykly riadené celkom tri ich typy a dnes bude reč o prvých dvoch. Počnúc týmto dielom nášho seriálu už si budeme uvádzať trochu složitělší príklady. Základy syntaxe sme už prevažne prešli, uvidíme, ako môžeme jednotlivé poznatky pospájať do kódu, ktorý už "niečo vie". Takže, slučky napríklad budú riešiť nasledujúce zadania: Zostaviť tabuľku, ktorá vypíše čísla od 1 do 10 a ich druhej mocniny.

Ďalej: www.linuxsoft.cz/article.php?id_artic...rticle=199


[color=#000099]PHP (14) - Cyklus for[/color]
Už sme sa zamerali na slučky s podmienkou. Tu uvidíme, ako funguje slučka s parametrom. Narozdiel od slučky s podmienku, kde nie je vopred isté koľkokrát sa daná slučka bude opakovať, má slučka s parametrom inú filozofiu. Väčšinou (nie však vždy) má takzvaný parameter slučky, ktorý určuje počet opakovaní celého cyklu. Ak si ešte spomínate na minulý diel, riešili sme otázku ako vypísať tabuľku čísel a ich druhých mocnín. Slučku s parametrom by som použil nasledujúcim spôsobom:

Ďalej: www.linuxsoft.cz/article.php?id_artic...rticle=204


[color=#000099]PHP (15) - Funkcia[/color]
Ako v každom programovacom jazyku, aj v PHP majú nezastupiteľnú úlohu funkcie. Aby nedošlo k zmäteniu pojmov, uveďme hneď, že väčšina jazykov rozlišuje medzu procedúrami a funkciami - a to tak, že kým procedúra vykonáva nejakú činnosť, funkcia navyše vracia hodnotu. v PHP existuje oboje, ale oboje sa (možno trochu nešťastne) definuje kľúčovým slovom function. Pozrime sa teda najprv na procedúry. Procedúra je jednoducho povedané kus kódu, ktorý sa môže volať samostatne. Väčšinou sa do procedúry umiestňujú tie časti kódu, ktoré sa v programe opakujú alebo sa procedúry používajú pre väčšiu prehľadnosť. Napríklad, ako nám ukázal Pavel Kácha v seriáli o HTML, stránka by mala mať hlavičku. Keď budete písať PHP skript vytvárajúce stránku, možno si budete chcieť rutinu pre vytvorenie hlavičky uložiť do samostatnej procedúry. Mohlo by to vyzerať napríklad takto:

Ďalej: www.linuxsoft.cz/article.php?id_artic...rticle=205


[color=#000099]PHP (16) - Vyrobte si kalendár[/color]
Dosť bolo teórie. Ak ste sledovali úvodné články nášho PHP seriálu, pravdepodobne ste sa tešili na nejaké príklady z praxe. Tu jeden bude - cieľom je zostaviť PHP skript, ktorý pre daný mesiac. To môže mať v reáli celý rad solídnych uplatnenie, napríklad na domovskej stránke našej komunitnej WiFi siete sa používa podobná vec pre zobraznie naplánovaných akcií. Celkom dobrý zvyk je každý väčší projekt si najskôr naplánovať

Ďalej:www.linuxsoft.cz/article.php?id_artic...rticle=206


[color=#000099]PHP (17) - Dokončujeme kalendár[/color]
Pripomeňme len, že sme začali zostavovať kalendár. Už sme vyriešili ako zistiť počet dní v mesiaci a tiež ako určiť, ktorý deň v týždni pripadne na prvého.Teraz nás čaká napísať kód na zistenie počtu stĺpcov, kód na zostavenie jednotlivých buniek a musíme to celé nejako dostať dohromady.

Ďalej: www.linuxsoft.cz/article.php?id_artic...rticle=212


[color=#000099]PHP (18) - Funkcie pre prácu s poľami[/color]
O poliach sme už pisali v siedmom dieli nášho seriálu. Pozrime sa dnes na niektoré funkcie, ktoré pre prácu s poľami takmer určite využijeme. Najmä to budú veci týkajúce sa práce s poľom ako celkom. Predovšetkým, ako už bolo naťuknuto, obsah poľa sa dá prehľadne vypísať do prehliadača, čo oceníte najmä pri ladenie skriptov obsahujúcich nejaké to pole. Ak budeme mať nasledujúce pole, môžeme ho vypísať pomocou funkcie print_r (tá funguje is viacrozmernými poli):

Ďalej: www.linuxsoft.cz/article.php?id_artic...rticle=217


[color=#000099]PHP (19) - Objekty[/color]
PHP vie pracovať s objektmi. Pozrime sa ako. Pôvodne som sa pohrával s myšlienkou objektovo orientované programovanie do tohto seriálu vôbec nezaradiť. Nakoniec mi to nedalo, takže nasledujúce riadky budú pokus zhrnúť základy OOP (čo je skratka pre objektovo orientované programovanie) a previesť príklad s kalednářem, ktorý sme už skôr v tomto seriáli použili do "objektové" podoby. Ak ste pomocou objektov nikdy neprogramoval, nemyslím si, že PHP je tou najlepšou voľbou do začiatku, ale jeho znalosť Vás určite obohatí. Myšlienka objektového programovania je prostá. Kým procedurálne programovanie používa pri vykonávaní výpočtových úloh premenné a funkcie, objektové programovanie používa zvláštne štruktúry nazvanej objekty. Objekt obsahuje ako dáta (napríklad premenné) tak aj popis spôsobov, ako s nimi manipulovať (členské metódy). Vďaka tomu môže všeobecne povedané objektové programovanie riešiť niektoré veci pružnejšie než procedurálne. Hlavnou výhodou objektov je fakt, že umožňujú popisovať veci tak, ako fungujú v bežnom živote. Napríklad mobilný telefón má určité vlastnosti (farbu, typ, výdrž batérie a pod), ale aj určité veci vie (tak napríklad by sme ho mohli popísať metódami VytocCislo, PrijmiHovor, ZobrazSeznam a podobne). V objektovo orientovaných jazykoch hovoríme o tom, že objekty majú stav ("čo to je"Žmurkajúci a správania ("čo to vie"Žmurkajúci. Objekty sa v OOP musia najprv nadefinovať. K definícii objektu slúži takzvané triedy. Trieda je niečo ako šablóna alebo prototyp, na základe ktorého sa budú objekty tvoriť; v PHP sa trieda definuje pomocou kľúčového slova class. upravím príklad z kalednářem z nášho seriálu, vytvoríme triedu, ktorá sa bude volať kalendar:

Ďalej: www.linuxsoft.cz/article.php?id_artic...rticle=229



[color=#000099]PHP (20) - Objekty druhýkrát[/color]
Hore sme vytvorili objektový kalendár. sľúbili sme si, že dnes bude reč o dedičnosti a nebezpečenstvo spojené s objektmi v PHP. Pozrime sa teda na tieto dva aspekty objektovo orientovaného programovania v PHP.

Ďalej: www.linuxsoft.cz/article.php?id_artic...rticle=234
[color=#000099]PHP (21) - Vkladanie súborov[/color]
PHP umožňuje mať jeden web v niekoľkých zdrojových súboroch. V tomto diele sa pozrieme, ako tieto súbory skladať dohromady. Často býva potrebné rozdeliť jeden web na niekoľko súvisiacich súborov. Respektíve to býva potreba skoro vždy. Dnes sa pozrieme, ako PHP vkladanie súboru rieši a ako to použiť v praxi. PHP, ako sme už v tomto seriáli uviedli, je jazyk interpretovaný, nie kompilovaný. Pri vykonávaní skriptu je možné do seba celkom bezbolestne vkladať niekoľko zdrojových súborov. Keď budeme chcieť napríklad stvoriť web sa stĺpcovou úpravou, možno budeme chcieť mať každý stĺpec v samostatnom súbore php. Taká vec je niekedy životné nutnosťou - kvôli orientácii.

Ďalej: www.linuxsoft.cz/article.php?id_artic...rticle=252


[color=#000099]PHP (22) - Regulárne výrazy[/color]
PHP obsahuje nástroje pre prácu s regulárnymi výrazmi. Ukážme si, ako tieto funkcie použiť v praktickom programovaní. Ak ste na PHP prešli z ASP (ako kedysi ja) pravdepodobne Vám regulárne výrazy nič nehovoria. A pritom sú tak zábavné. Pozrime sa, ako celá tá vec funguje. Názov "výrazy" je trochu mätúce. V diele seriálu o výrazoch sme vyhlásili, že výraz je čokoľvek, čo má hodnotu. Regulárne výrazy sú naproti tomu len vžitým pomenovaním mechanizmu, ktorý nám umožňuje pracovať s reťazcami a maskami. Najlepšie bude opustiť šedivú teóriu a vrhnúť sa hneď na nejaké príklady. Majme napríklad masku "Peter". Tejto maske vyhovie reťazec "Peter je borec", "Je doma Peter?" a "Honza, Peter a Pavol", pretože všetky obsahujú slovo Peter. Výraz "Franta je tiež borec" pochopiteľne maske nevyhovie, lebo slovo Peter neobsahuje. V PHP presne na toto testovanie existuje funkcia ereg, ktorá vracia TRUE alebo FALSE pre prípady, keď reťazec vyhovie alebo nevyhovie maske:

Ďalej: www.linuxsoft.cz/article.php?id_artic...rticle=257


[color=#000099]PHP (23) - Nestraťte sa vo funkciách[/color]
Funkcií v PHP je nepreberné množstvo. Teraz si letmo zhrnieme, čo všetko tento jazyk vlastne vie a čo z toho sa oplatí vedieť z hlavy. PHP je jazyk vybavený mnohými funkciami. Keď sa s tým stretneme prvykrát odradí nas to ale . tento diel seriálu má za cieľ čitateľa upokojiť. Nie je totož nutné všetko si pamätať, ale je dobré aspoň vedieť, že nejaké možnosti existujú. Aj profesionál pracujúci s PHP bežne využíva len asi 10% existujúcich prvkov tohto mocného programovacieho nástroja. Základné okruhy funkcií - Už sme sa pozreli na prevažnú väčšinu toho, čo budete pri práci s PHP potrebovať neustále. Sú to základné príkazy a funkcie. Čisto pre osvieženie - bola reč o týchto prvkoch PHP: Echo, operátory, výrazy, pole, príkazy pre riadenie toku a niektoré príkazy pre formátovanie dátumu a času. Zhrňme si teraz určité okruhy funkcií v PHP, ktoré sa oplatí pri vážnej práci poznať, najlepšie z hlavy. To samozrejme neznamená, že sa ich musíte hneď naučiť. Skôr sú to veci, ktoré pravdepodobne budete potrebovať opakovane.

Ďalej: www.linuxsoft.cz/article.php?id_artic...rticle=264


[color=#000099]PHP (24) - Pracujeme s formulármi[/color]
PHP umí zpracovat data z formulářů. Je to často používané a jednoduché, takže se to pojďme naučit. Internet je interaktivní záležitost. To znamená, že uživatel může nějaká data nejen od serveru požadovat, ale také je na server může poslat. K tomu slouží v HTML formuláře - a PHP je potom na straně serveru umí zpracovat. Formulářům bude zanedlouho věnován díl sesterského seriálu věnujícímu se HTML obecně, takže k teorii jen stručně. Klasický formulář obsahuje nějaké prvky pro uživatelský vstup (třebas textová pole) a nějaké prvky pro jeho odeslání. Hodně jednoduchý formulář by tedy mohl vypadat nějak takto:

Ďalej: www.linuxsoft.cz/article.php?id_artic...rticle=269


[color=#000099]PHP (25) - Formuláre - nikomu neverte[/color]
Pri spracovaní dát z formulárov musíme byť opatrní - a dáta overovať. Užívatelia sa totiž skôr alebo neskôr pokúsi podstrčiť nám neplatné údaje. e pekné, že vieme spracovávať dáta pomocou formulárov - ale je tu ten ľudský prvok. Dáta z formulárov nepochádzajú od počítačov, ale od ľudí. Pretože v reálnej aplikácii na tom väčšinou záleží, bude potrebné dáta overovať. E-mailové adresy, telefónne čísla, webové adresy a veľa ďalších vecí sa dajú aspoň primitívne overiť. Navyše, niekedy môže formulár byť terčom útoku - a nedostatočné overenie môže spôsobiť "dieru" do našej aplikácie.

Ďalej: www.linuxsoft.cz/article.php?id_artic...rticle=270


[color=#000099]PHP (26) - Formuláre na sto spôsobov[/color]
Ukážme si, ako v PHP spracovávať také prvky formulárov, ako sú prepínače, zaškrtávacie políčka alebo poľa so zoznamom. Zatiaľ sme tak nejako predpokladali, že naše formuláre budú obsahovať textové polia. Väčšina z nich je skutočne má. Ale poďme sa pozrieť, ako v PHP zaobchádzať s formulármi, ktoré majú zaškrtávacie políčka, prepínače alebo pole so zoznamom. Tiež si trochu vylepšíme zadávanie atribútu action v tagu <FORM> pri definícii formulára. Ukážky, ktoré sme zatiaľ predviedli mali v atribúte action tagu <form> v definícii formulára cestu ku spracúvajúcemu skriptu zadanú "natvrdo". To bude dobre fungovať v učebniciach, ale nie v reálnom svete. V skutočnosti totiž pomerne často nastáva situácia, kedy pri práci potrebujeme skript premenovať alebo presunúť, a tým pádom by sme museli vždy atribút action prepísať tak, aby odrážal nové umiestnenie skriptu. Pri čom ľahko môže dôjsť k chybe. (Úplný horor nastane pri väčšej zmene webu, napríklad pri presúvaní adresárov). Aby sa to nestalo, povedzme si rovno, že PHP umožňuje prístup k celej rade tzv preddefinovaných premenných. O poliach $ _REQUEST, $ _GET a $ _POST sme už hovorili, ale existujú aj iné. Trebárs pole $ _SERVER, ktoré webový server vytvára, aby Vám poskytol nejaké informácie o sebe a prostredia. A práve jedným z užitočných prvkov tohto poľa je prvok $ _SERVER ["PHP_SELF"], ktorý vracia cestu a aktuálnemu PHP skriptu relatívne ku koreňovej zložke webu (nie systému (!)).

Ďalej: www.linuxsoft.cz/article.php?id_artic...rticle=274


[color=#000099]PHP (27) - Príklady na formuláre[/color]
Poďme sa pozrieť na niekoľko praktických príkladov, ako využiť formuláre a PHP. Tu si ukážeme niekoľko praktických príkladov, ako využiť formulára v PHP. Pozrieme sa na to, ako si môžeme pomôcť cudzie prácou a ako si uľahčiť život pri vyhľadávaní pomocníka k jazyku PHP. Nasledujúca vec sa až tak netýka samotného PHP ako formulárov všeobecne - ak viete ako formuláre fungujú, môžete si zostaviť formulár, ktorý bude spracovávať niekto iný. Tak napríklad, ak sa dobre zadívate na titulnú stránku Linuxsoftu, zistíte, že obsahuje niekoľko formulárov - formulár pre prihlásenie užívateľa, formulár pre vyhľadávanie v článkoch, vyhľadávanie softvér a podobne. Keď si necháte zobraziť zdrojový kód titulnej stránky Linuxsoftu v prehliadači, nájdete tam napríklad nasledujúci formulár:

Ďalej: www.linuxsoft.cz/article.php?id_artic...rticle=292


[color=#000099]PHP (28) - Robiť chyby je ľudské[/color]
A tiež to dobre ide počítačom. Pozrime sa, ako to zvláda PHP a ako ho to odnaučiť. Pozn: Chybovať je naozaj ľudské. Minule som sľúbil v závere článku, že sa budeme nabudúce zaoberať prácou so súbormi. Takže, veľmi sa ospravedlňujem, bude to až v ďalšom diele. Úplne mi vypadol tento diel seriálu z hlavy;-) morou každého programátora sú chyby v jeho programoch. Nemyslím si, že by sa dali napísať programy bez chýb. Ale správnym prístupom k problému sa nám môže podariť chyby minimalizovať. Pozrime sa, ako na to môžeme ísť v PHP. V programoch sa bežne vyskytuje päť druhov chýb. To sa týka aj PHP. Skúsme si ich rozobrať jeden typ za druhým, ukázať si príklady a dať si nejaké návody, ako sa takým chybám buď vyhnúť, alebo ich aspoň utajiť pred užívateľmi.

Ďalej: www.linuxsoft.cz/article.php?id_artic...rticle=296



[color=#000099]PHP (29) - Súbory a adresáre[/color]
PHP dokáže pracovať so súbormi operačného systému. Zistime, k čomu to môže byť dobré a ako to využiť. Potreba pracovať priamo s jednotlivými súbory operačného systému nie je v dnešnej dobe až tak pálčivá. Mnoho informácií možno totiž ukladať v databázach, čo môže byť ako rýchlejší, tak i bezpečnejšie ako používanie súborov. Napriek tomu sa ale príkazy PHP pre prácu so súbormi zaoberať budeme - jednak to je jednoduché a jednak Vám to môže v niektorých prípadoch poslúžiť lepšie ako čo iného. Predovšetkým si osvetľujme funkciu, ktorá vie vkladať súbory do stránky. Nie je to funkcia include, o ktorej sme už v našom seriáli hovorili. Funkcie include (a require, rovnako aj require_once) vkladajú súbory php a býva v nich takmer vždy zdrojový kód php. Mám na mysli funkciu, ktorá "tupo" otvorí súbor a "vypustí" ho do výstupného prúdu. V PHP taká funkcia existuje a volá sa readfile (). Takže, ak máme na serveri textový súbor 29_text.txt, môžeme napísať:

Ďalej: www.linuxsoft.cz/article.php?id_artic...rticle=297

[color=#000099]PHP (30) - Počítadlo pomocou súborov[/color]
Tu sa pozrieme na to, ako vie PHP súbory na serveri priamo vytvárať. S praktickou ukážkou počítadla prístupov. PHP vie súbory nielen čítať a vkladať do skriptov, ale aj vytvárať. To môže byť výhodné, ak potrebujeme uložiť nejaké informácie na strane servera alebo ak vytvárame aplikáciu, ktorá ku svojej činnosti potrebuje zapisovať do súborového systému. Pre vytváranie a pohyb v súboroch slúži v PHP sada príkazov. Príkaz fopen súbor otvorí, fread z neho prečíta dáta, fwrite do neho dáta zapíše a fclose ho zavrie. Funkcia file_exists zistí, či daný súbor existuje. Tu by boli všetky ďalšie teórie nudná, takže si poďme vytvoriť niečo praktického. Súčasťou nášho webu môže byť malý textový súbor, ktorý bude obsahovať údaj o počte zhliadnutí našej stránky - také primitívne počítadlo.

Ďalej: www.linuxsoft.cz/article.php?id_artic...rticle=303


[color=#000099]PHP (31) - Upload a download súborov[/color]
Tu si ukážeme, ako s pomocou PHP dostať súbor na server a naopak ako súbory zo servera sťahovať. Úvod je trochu nadnesený. Rýchlo zistíte, že nahrávanie súboru na server ani jeho sťahovania nie je záležitosťou samotného PHP, ako skôr využitie niektorých možností, ktoré nám ponúka HTML. Páčilo sa mi ale zaradiť túto látku do seriálu o PHP, pretože často to v takých seriáloch chýba a museli by sme to hľadať niekde inde. Začneme sťahovaním súborov, je to jednoduchšie. Prehliadače môžu rozumieť rôznym typom súborov. Tak napríklad, ak kliknete na odkaz vedúci na stránku html, pokúsi sa ju prehliadač nájsť a zobraziť. Zatiaľ čo treba kliknutí na odkaz vedúci k súboru zips nejspíš povedie k jeho stiahnutie. Problém môže nastať v prípade, keď chceme prehliadač prehovoriť, aby stiahol ako súbor niečo, čo by normálne zobrazil. Napríklad, máme na serveri súbor 31_test.html. Ak ste klikli na odkaz, prehliadač Vám ho takmer určite zobrazil.

Ďalej: www.linuxsoft.cz/article.php?id_artic...rticle=310


[color=#000099]PHP (32) - Príklad na BLOG[/color]
Tu ukončíme časť seriálu, ktorá sa venuje zaobchádzanie so súbormi, a dokončíme ju príkladom toho, ako by sa v PHP dal napísať BLOG. Weblog čiže blog je, zdá sa, fenoménom poslednej doby. Zatiaľ čo pred pár rokmi chcel každý mať svoje osobné stránky, dnes chce každý človek šmrncli internetom mať svoj internetový denníček. Nie som tomu osobne nijako naklonený, ale dá sa to použiť ako dobrý príklad na PHP a súbory, takže s chuťou do toho. Pre účely nášho príkladu budeme predpokladať, že každý deň nahráme do určitej zložky na webovom serveri textový súbor s názvom vo formáte yyyymmdd.txt. Úlohou našej aplikácie bude tieto súbory zoradiť a vypísať nejako pekne do prehliadača. Aby toho nebolo málo, bude možné stiahnuť si celý obsah blogu ako jeden súbor. Prenos súborov na server nebudeme riešiť. Preberali sme to v minulom diele. Avšak, pre testovacie účely som pripravil niekoľko súborov v mojej zložke na serveri, takže sa môžete pokochať (čiastočne) pravdivými útržky z môjho života v posledných niekoľkých málo dňoch. (Pripraviť aspoň trochu zmysluplné texty bola pre mňa najnáročnejšia časť celého článku, takže to tak berte. Samozrejme by súbory mohli obsahovať čokoľvek;-)) Vlastný skript bude riešiť niekoľko vecí. Po prvé, prejdeme si zložku a vypíšeme z nej súbory. Pod každým súborom dole bude ešte zobrazené dátum vypočítané z názvu súboru. Celé to nejako pekne oddelíme.

Ďalej: www.linuxsoft.cz/article.php?id_artic...rticle=321


[color=#000099]PHP (33) - HTTP hlavičky[/color]
PHP a HTTP protokol - keďže PHP slúži prevažne na výrobu internetových stránok, nie je vôbec zlé vedieť, ako funguje ich prenos a aké triky nám jazyk ponúka v tejto oblasti. Aby sa vo svete internetu udržal nejaký poriadok, musí existovať určité pravidlá hry. Tak napríklad webové servery musia "rozumieť" tomu, na čo sa ich pýtame. Aby to doviedli, existuje protokol, ktorý sa volá HTTP. Každý prehliadač musí vedieť zostaviť takzvaný http požiadavku a musí byť schopný porozuměnt http odpovede. (Každý server zase musí rozumieť požiadavke a musí byť schopný zostaviť podľa neho odpoveď.) V praxi to veľmi zhruba povedané funguje tak, že ako požiadavky, tak odpovede majú svoj formát a ten by sa mal ctiť a dodržiavať. Požiadavka sa skladá okrem iného z hlavičiek. Tie môžu obsahovať niektoré dôležité veci o pýtajúcimi (teda prehliadači) alebo o jeho prostredí. PHP vie zistiť, aké hlavičky boli v požiadavke, a vie ich zobraziť.

Ďalej: www.linuxsoft.cz/article.php?id_artic...rticle=325


[color=#000099]PHP (34) - Úvod do databáz[/color]
V seriáli o PHP sa dostávame k databázam. Tu to bude ľahký úvod do teórie. PHP by určite nebolo také rozšírené, keby nevedelo pracovať s databázami, najmä s MySQL. Databázy sú témy veľmi rozsiahle a už to vydalo na mnoho seriálov. My sa sústredíme na to, čo nám pomôže vybudovať kvalitný PHP-databázový web. Pokiaľ s databázami aktívne pracujete, budete pravdepodobne schopní tento článok vynechať, ak nie, čítajte pozorne ďalej. Potreba databáz je veľmi stará a už v dobe počítačového praveku sa na sálových počítačoch s databázami pracovalo. Keby som sa pokúsil o chabú definíciu, je databáza čokoľvek, čo obsahuje dáta. Dáta čiže údaje sú v databázach nielen zhromaždená, ale obvykle pod pojmom "databáza" chápeme tiež sadu nástrojov, ktoré nám pomôžu s dátami pracovať - &#8203;&#8203;pridávať ich, mazať, upravovať, zoskupovať, hľadať a podobne. Pozn: Medzi "dátami" a "informáciami" v skutočnosti je drobný významový odtieň. Dáta sú údaje samy o sebe (plat = 10000, - Sk), informácie zahŕňajú aj postoje k dátam ("beriem málo"Žmurkajúci. Existujú špecializované aplikácie zabávající sa významom zisťovaných dát. Tými sa ale v našom seriáli zaoberať nebudeme.

Ďalej: www.linuxsoft.cz/article.php?id_artic...rticle=328


[color=#000099]PHP (35) - Uloženie dát v databáze[/color]
Objasnime si, ako sú dáta v databáze uložené, aké máme typy stĺpcov a ako sa označujú nezadaných hodnoty. Aby sme mohli nejako účinne pracovať s databázami, predstavme si teraz, ako sú dáta v týchto databázach uložené. Dáta sú v databázach uložené v celkoch, ktorým sa hovorí tabuľky. Majme napríklad tabuľku autorov, ktorí prispievajú na portál Linuxsoftu. Ak ste niekedy pracovali napríklad s OpenOffice, môžete si to predstaviť ako hárok programu OOCalc. Naša tabuľka má tri stĺpce a nejaký počet riadkov (taky traja, v našom prípade). Každý riadok v tabuľke obsahuje určitú skupinu dát, teda napríklad údaje o jednej osobe. Keď budeme pridávať riadky, znamená to, že meníme dáta v tabuľke, ak budeme pridávať stĺpce, znamená to, že meníme štruktúru tabuľky.

Ďalej: www.linuxsoft.cz/article.php?id_artic...rticle=329


[color=#000099]PHP (36) - Pripájame sa k MySQL[/color]
Teraz nastane slávny čas, keď sa v našom seriáli prvýkrát pripojíme k MySQL databáze pomocou PHP. Ak ste čítali minulé diely nášho seriálu, viete, že MySQL je systémová databázy a že teda beží ako serverový proces. Preto musí každý, kto sa chce k MySQL pripojiť, poznať tieto prihlasovacie informácie: Názov hostiteľa - MySQL pochopiteľne beží na nejakom stroji. Názov hostiteľa sa môže zadávať menom (trebárs mysql.nekde.cz) alebo IP adresou. Ak budete prevádzkovať MySQL server doma, môžete väčšinou použiť localhost alebo 127.0.0.1. Ak sa budete pripájať k MySQL u providera, názov hostiteľa Vám oznámi. Pozn: Server, na ktorom beží databáza nemusí byť nutne ten istý, na ktorom beží webový (http) server. Port - MySQL počúva štandardne na porte 3306, pokiaľ nie je pri konfigurácii určené inak. Pravdepodobne môžete port vynechať, 3306 je doplnené automaticky. Názov databázy - Tu by mohlo dôjsť k určitému mäteniu pojmov: Na databázovom serveri MySQL existuje väčšinou niekoľko vzájomne nesúvisiacich databáz. Každá databáza obsahuje žiadnu alebo viacerých tabuliek a každá môže mať vlastné nastavenia práv. V praxi to väčšinou býva tak, že súčasťou hostingových služieb je možnosť používať jednu databázu. V nej môžete mať teoreticky Neobmedzená počet tabuliek a ostatní užívatelia serveru nemajú k vašej databáze prístup. Vy zase nemáte prístup k ich databázam. Užívateľské meno - Znalci prepáčia, ale je potrebné zdôrazniť, že užívateľské meno na databázový server nijako nesúvisí s prihlasovacím menom k &#8203;&#8203;serveru. V skutočnosti väčšinou nebudete mať na serveri, na ktorom databázy pobeží, zriadený systémový účet. Užívateľské meno nejspíš dostanete od správcu databázy. Heslo - Asi aj heslo dostanete od správcu databázy. Väčšinou bude spĺňať základné bezpečnostné pravidlá, tzn. bude dostatočne dlhé a bude sa skladať z písmen, číslic, prípadne ďalších znakov.

Ďalej: www.linuxsoft.cz/article.php?id_artic...rticle=336


[color=#000099]PHP (37) - Tvorba tabuliek v MySQL[/color]
Databázy sa skladajú z tabuliek a tie sa musia vytvoriť - napríklad v PHP. Ako sme si už ukázali, skladajú sa databázy z tabuliek a tabuľky zo riadkov a stĺpcov. Predtým, než môžete nejakú tabuľku použiť, musíte ju definovať. K tomu slúži určitá podmnožina príkazov jazyka pre prácu s databázou. SQL, čiže štruktúrovaný dotazovací jazyk je jazyk, ktorému rozumie databábáze.

Ďalej: www.linuxsoft.cz/article.php?id_artic...rticle=337


[color=#000099]PHP (38) - Dolujeme dáta z MySQL[/color]
Ako vybrať dáta z MySQL a hotová aplikácia na vyhľadávanie obcí podľa PSČ. Jadrom každej databázovej aplikácie je čítanie dát z databázy. My si dnes ukážeme, ako čítať dáta z MySQL pomocou PHP. A pretože suché teórie je v tomto seriáli až dosť, bude to rovno hotová aplikácia na vyhľadávanie obce pomocou PSČ. SQL a výberové dotazy - V MySQL, ostatne ako v každej inej databáze obsahujúcej jazyk SQL sa dáta z databázy vyberajú pomocou príkazu SELECT. Je to príkaz nesmierne mocný.

Ďalej: www.linuxsoft.cz/article.php?id_artic...rticle=344


[color=#000099]PHP (39) - Zobrazujeme a stránkujeme dáta[/color]
Vybrať dáta z MySQL už vieme. Ako je ale pekne prezentovať? V minulom dieli nášho seriálu sme sa zaoberali otázkou výberu dát z MySQL pomocou príkazu SELECT. Vedieť dáta správne vybrať nie je ale to jediné - my ich musíme užívateľovi tiež v nejakej čtivé podobe naservírovať. Dnes si ukážeme, ako na to. Skúste na chvíľu zaspomínať na predchádzajúci diel nášho seriálu. Tam sme si zaobstarali databázu všetkých obcí a ich PSČ v Českej republike. Dajme tomu, že budeme chcieť všetky obce a ich PSČ nejako vypísať. Asi prvé, čo Vás napadne, bude:

Ďalej: www.linuxsoft.cz/article.php?id_artic...rticle=345


[color=#000099]PHP (40) - PHP a vkladanie záznamov do databáz[/color]
Z databáz pochopiteľne budeme dáta jednak vyberať, a jednak je do nej musíme nejako dostať. Tu si ukážeme, ako vkladať dáta do MySQL. A vytvoríme si knihu hostí. V MySQL slúži na vkladanie do tabuľky príkaz INSERT. Jeho typická syntaxe je: INSERT INTO [názov tabuľky] (stĺpec, ...) VALUES (hodnota, ...) To platí v prípade, že dáta do tabuľky vkladáme z kódu a pridá to jeden riadok. Dáta však môžeme vkladať aj z inej tabuľky. Potom je syntaxe nasledovné: INSERT INTO [názov tabuľky] (stĺpec, ...) SELECT ... a dodajme, že táto syntax môže vložiť všeobecne nula až veľa riadkov. Tabuľka, do ktorej vkladáme, musí v databáze už existovať. Ak by neexistovala, mali by sme ju najprv vytvoriť príkazom CREATE TABLE. Príkaz INSERT patrí medzi tzv manipulačné príkazy jazyka SQL. To znamená, že po jeho použití sa dáta v databáze môžu zmeniť. Čo sa po SELECT nikdy nestane, SELECT je teda naproti tomu výberový príkaz.

Ďalej: www.linuxsoft.cz/article.php?id_artic...rticle=357
[color=#000099]PHP (41) - Meníme dáta v databázach[/color]
Zmena je život! Platí to aj pre dáta v databázach a my sa dnes naučíme ako ich meniť. Z databázy už vieme záznamy vyberať a vieme ich do nej vkladať. Ďalšie úkon, ktorý nás čaká je vedieť dáta upraviť alebo aktualizovať. V SQL sa k aktualizácii riadku alebo riadkov v databáze používa príkaz UPDATE. UPDATE narozdiel od INSERT nevkladá do databázy žiadne riadky, ale upravuje existujúce dáta. To znamená, že urobíte ak na tabulkce príkaz UPDATE, počet riadkov v tejto tabuľke sa nezmení, ale môžu sa zmeniť údaje v jednotlivých riadkoch. V MySQL je pochopiteľne aj k príkazu UPDATE rozsiahla dokumentácia. Jeho najprimitívnejšie forma potom je: UPDATE tabulka SET stĺpec = hodnota [, iný stĺpec = hodnota ...] Ak použijete príkaz tak, ako je uvedený vyššie, bude treba modernizovať celá tabuľka, to znamená každý jej riadok. Nič vám samozrejme nebráni použiť klauzulu WHERE a vybrať len niektoré riadky, ktoré sa budú aktualizovať. MySQL vie dokonca použiť rozšírenie LIMIT pre stanovenie maximálneho počtu riadkov, ktoré sa majú meniť.

Ďalej: www.linuxsoft.cz/article.php?id_artic...rticle=361



[color=#000099]PHP (42) - Odstraňujeme databázové dáta[/color]
Keď mu sa Vám dáta v databáze nepáči, je tento diel seriálu presne pre vás. Dozviete sa totiž, ako je mazať. Niekedy býva potrebné dáta z databázy nemilosrdne odstrániť. Poďme si povedať, ako na túto deštruktívne činnosť ísť. Ideálne je urobiť nasledujúce skúsenosť metódou pokus-omyl, pretože potom si to zapamätáte. Data k odstráneniu budú SKUTOČNE odstránená. Takže zle napísaný odstraňovače otázku Vám môže celú databázu rozhodiť. Preto naozaj profesionálne databázové aplikácie priame mazanie záznamov moc nepoužívajú.

Ďalej: [color=#000099]www.linuxsoft.cz/article.php?id_article=366[/color]


[color=#000099]PHP (43) - MySQL rýchlejšie a rýchlejšie[/color]
Ako skombinovať kód PHP a MySQL tak, aby sme dosiahli čo najrýchlejšieho spracovania? Prečo sa zaoberať rýchlosťou vykonávania PHP a MySQL kódu? Webové aj databázové servery bývajú poväčšinou silne "nadupané" stroja. Takže by sa mohlo zdať, že rýchlosť vykonávania PHP kódu alebo rýchlosť, s akou je databáza schopná vrátiť požadované výsledky nie je až tak kritická otázka (kolega hovorí, že "železo to utlačí"Žmurkajúci. Nie je to samozrejme úplne tak pravda; webový server možno bude musieť obslúžiť tisíce požiadaviek a rozdiel medzi skriptom bežiacom sekundu a skriptom bežiacom päť sekúnd bude vražedný. Ďalší dôvod prečo sa zaoberať už pri písaní kódu rýchlosťou je ten, že si tak osvojíme niektoré programátorské návyky, a to sa vždy hodí. Takže, nižšie bude zoznam vecí, na ktoré by sme mali pri písaní kódu z hľadiska rýchlosti pamätať. Pozn: Databáza virtuosové poznajú celý rad ďalších trikov zvyšujúcich rýchlosť. Na túto tému sa píšu celé knihy, takže si tento článok nijako nekladie za cieľ prebrať všetko. Ak poznáte ďalšie veci, podeľte sa s nami v diskusii.

Ďalej: www.linuxsoft.cz/article.php?id_artic...rticle=368


[color=#000099]PHP (44) - MySQL ešte rýchlejšie[/color]
Niekoľkými spôsobmi možno PHP + MySQL zrýchliť až dramaticky. Dnes si ich rozoberieme. V minulom diele sme si ukázali, ako zrýchliť prácu s PHP a MySQL pomocou rozumne tvorených otázok, správneho využitia agregačných funkcií a prenesenie výpočtov na databázy. Dnes sa pozrieme na zvyšok "zrýchľovací" trikov. Ak použijete pre otvorenie databázového spojenia funkciu mysql_pconnect namiesto mysql_connect, bude vytvorené (alebo použité už skôr vytvorené) perzistentné spojenie. Toto spojenie môže PHP použiť naprieč niekoľkými skripty, takže môžete ušetriť čas potrebný na otváranie druhého a ďalšieho spojenie. Pozn: Tento čas môže byť pomerne dlhý, najmä ak MySQL beží na inom stroji ako PHP. Perzistentné spojenie bude fungovať iba v prípade, že bude PHP spustené ako modul Apache. Neušetrí samozrejme žiadny ďalší čas pri vykonávaní skriptu okrem času pri opakovanom prihlásenie. Ale aj to môže byť niekedy dosť.

Ďalej: www.linuxsoft.cz/article.php?id_artic...rticle=369


[color=#000099]PHP (45) - Sú dáta v databáze v bezpečí?[/color]
Zafilozofujme trochu na tému bezpečnosti dát aneb trocha paranoi nikdy neuškodí. Dajme tomu, že po prečítaní dvoch predchádzajúcich dielov už máme predstavu o tom, ako našu aplikáciu zrýchliť. Je ale všeobecne uloženia dát v databáze bezpečné? Ako uvidíme v dnešnom viacmenej teoretickom článku, niečo málo pre to môžeme urobiť. Základné otázky databázové bezpečnosti si rozdelíme na "kto", "kde" a "čo". MySQL má originálny mechanizmus prideľovania práv. Možno určiť kto a odkiaľ sa smie k databáze pripojiť, a pre každú kombináciu užívateľa a miesta z ktorého sa pripája možno nastaviť určité oprávnenia, respektíve obmedzenia. To bola tá dobrá správa. Zlé správy sú, že: Väčšinou nebudete mať oprávnenie nastavovať oprávnenia;-)) pretože to bude robiť správcu servera, Väčšinou nebudete mať oprávnenie pripájať sa k svojej databáze z ľubovoľného miesta na internete. To je rozumné, pretože komunikáciu medzi Vami a databáz by mohol niekto odpočúvať. Z hľadiska PHP sa robí niekedy chyba - pomerne častý spôsob uloženia prihlasovacích informácií (názov hostiteľa, meno, heslo) je umiestniť ich do súboru, ktorý sa bude do výsledného skriptu vkladať pomocou include, resp. require. To samo o sebe nie je nebezpečné. Čo je ale naozaj zlý nápad - ukladať súbory s inou príponou ako php. Ako napríklad viete, že server nepošle súbory s príponou inc priamo do prehliadača a niekto si nebude môcť Vaše prihlasovacie údaje prečítať?

Ďalej: www.linuxsoft.cz/article.php?id_artic...rticle=375


[color=#000099]PHP (46) - importujeme dáta do databázy[/color]
Ako dostať dáta do MySQL z externých zdrojov, hoci z desktopu? Pomocou PHP! Keďže boli predchádzajúce dva diely nášho seriálu dosť teoretické (pre niekoho možno až príliš), ukážeme si dnes na niečo, čo budete potrebovať pri práci s PHP a MySQL takmer určite. A to bude import dát z cudzích zdrojov do MySQL. Majme napríklad nasledujúcu situáciu: Firma prevádzkuje podnikový informačný systém na niekoľkých lokálnych PC. Súčasťou systému je aj cenník tovaru. Firma má tiež internetový obchod, bežiaci pod PHP a MySQL. A vtom niekoho napadne, že by sa cenník na internet dal nahrávať z toho lokálneho systému. To je jasná výhoda; pri zmene cien (sortimentu ...) stačí vykonať príslušné úpravy len v jednej sade dát, nemusí sa to robiť viackrát. Sú to vlastne 3 problémy v jednom: dátumu získať, nejako je skopírovať na server a nakŕmiť ich do databázy.


Ďalej: www.linuxsoft.cz/article.php?id_artic...rticle=408


[color=#000099]PHP (47) - Exportujeme data[/color]
Vytiahneme dáta ... a čo ďalej? MySQL, PHP a export. V predchádzajúcom diele sme rozoberali možnosti importu dát do MySQL databázy. Dnes sa pozrieme na opačnú úlohu - ako dáta z MySQL pomocou PHP exportovať. Minule sme rozoberali príkaz LOAD DATA INFILE. Jeho opakom je rozšírenie príkazu SELECT o klauzulu INTO OUTFILE. Ako asi tušíte, má to za následok, že dáta sa z databázy nevráti vo forme sady záznamov, ale ako súbor.


Ďalej: www.linuxsoft.cz/article.php?id_artic...rticle=414


[color=#000099]PHP (48) - Práca s binárnymi dátami (BLOB )[/color]
Mali by sa binárne dáta ukladať do databázy, alebo nie? A ak áno, ako s tým potom pracovať v PHP? Tento diel seriálu ste si vyžiadali vo svojich e-mailových reakciách na predchádzajúce články. Zaznamenal som niekoľko otázok, ako v PHP a MySQL pracovať s binárnymi dátami. Predovšetkým, musím sa priznať, že také riešenia moc nepodporuje. Nie je veľa presvedčivých dôvodov pre ukladanie binárnych dát do MySQL databáz, ak tvoríte klasickú webovú aplikáciu. Ak budete chcieť ukladať do MySQL napríklad sériu obrázkov, mali by ste vedieť, že: to je pomalé. Minimálne pomalší o databázovú réžiu, to zaberie viac miesta. MySQL musí mať uložené informácie nielen o samotnom súbore, ale aj niektoré metadáta, to väčšinou znamená celý rad práce pre programátora naviac ..

Ďalej: www.linuxsoft.cz/article.php?id_artic...rticle=420


[color=#000099]PHP (49) - Kam kráčaš, MySQL?[/color]
Dnes uzavrieme úsek seriálu o PHP, ktorý sa trochu špecializoval na spoluprácu s databázou MySQL. Zhrňme si dnes poznatky, ktoré sa budú týkať PHP a MySQL, aby sme túto tému mohli s čistým svedomím opustiť. Môžete to pojať ako zhrnutie a zároveň ako malý rozcestníček. Budú tu odkazy na iné články uverejnené tu na Linuxsoftu. Pravdepodobne to najdôležitejšie čo by ste si mali zapamätať je to, že PHP používa pre prácu s databázou sadu príkazov, ktoré všetky začínajú mysql_. Zopakujme si tie podstatné v prehľadnej tabuľke: Pamätať si aspoň tieto základné príkazy sa oplatí. PHP podporuje celý rad databáz a príkazy pre prácu s nimi sú podobné; iba miesto prefixu mysql_ začínajú inak. To druhé, čo by ste si mali zapamätať je, že MySQL, rovnako ako všetky ostatné databázy, používa nejaký dialekt jazyka SQL. To znamená, že musíme vedieť, ako máme formulovať príkaz předávaný pomocou mysql_query tak, aby mu naša databáza skutočne rozumela. Jedna rada: Ak sa rozhodnete pracovať prevažne s MySQL, rzhodně stojí za to naučiť sa dobre dialekt SQL, ktorému MySQL rozumie. Ak naopak budete potrebovať pracovať s viacerými databázami, používajte manuály a vôbec sa za to nehanbite. SQL dialekty bývajú totiž veľmi podobné a ľahko si ich budete pliesť.

Ďalej: www.linuxsoft.cz/article.php?id_artic...rticle=422


[color=#000099]PHP (50) - Overovanie užívateľov[/color]
Ako pomocou PHP zabezpečiť, aby sa užívateľ musel pred pozeraním stránky prihlásiť? Weby písané pomocou PHP sa málokedy skladajú z jednej stránky. Väčšinou ide o sadu stránok, ktoré sú vzájomne nejako previazané a ktoré zaisťujú rôzne úlohy. S tým súvisí otázka zabezpečenia - asi nebudete chcieť púšťať užívateľa na administračné stránku. Dnes si teda ukážeme, ako pomocou PHP prihlásiť užívateľa. Ono to má súvisiaci problém, a tým je zdieľanie dát medzi viacerými stránkami. Tomu sa budeme postupne venovať v nasledujúcich dieloch seriálu. Ale pochopiteľne to, či je používateľ prihlásený je tiež často potrebné vedieť na viacerých stránkach.

Ďalej: www.linuxsoft.cz/article.php?id_artic...rticle=425


[color=#000099]PHP (51) - Prenos dát medzi stránkami[/color]
Majme dva PHP skripty. Ako zdieľať dáta medzi nimi? Budete to potrebovať! V predchádzajúcom diele seriálu sme si ukázali, že nie je až taký problém pomocou PHP vyžiadať po užívateľovi overujúci informácie. Ich výhoda je tá, že sa automaticky posielajú na každú ďalšiu stránku, takže overenie užívateľa stačí vykonať iba raz. Často budeme ale podobný mechanizmus potrebovať nielen pre prenos prihlasovacích údajov, ale aj pre iné premenné. Predpokladajme malú aplikáciu, do ktorej sa používateľ už prihlásil. Dajme tomu, že vo vnútri aplikácie budeme potrebovať medzi jednotlivými stránkami zároveň prenášať nejaký identifikátor užívateľa, čas prihlásenia a hoci počet stránok, ktoré navštívil po svojom prihlásení. Pravdepodobne najjednoduchšie bude zamontovať tieto informácie do URL stránky a neustále ich medzi sebou posielať. Asi takto:

Ďalej: www.linuxsoft.cz/article.php?id_artic...rticle=430


[color=#000099]PHP (52) - Cookies[/color]
Môžu nám cookies uľahčiť prácu s PHP a webom? Zistime to! Minule sme zdieľali informácie medzi stránkami pomocou parametrov v odkazoch. Dnes sa pozrieme na to, ako možno pre obdobnú činnosť využiť cookies. Cookies predstavujú mechanizmus pre ukladanie informácií na počítači klienta. Teda tam, kde spúšťame prehliadač. Cookies (všimnite si, že sa to do slovenčiny nijako neprekladá, hoci pokusy tu boli) fungujú na veľmi jednoduchom princípe: Pomocou PHP vysvetlíme serveru, že by s nejakou stánku (teda odpovedí) mal odoslať do prehliadača aj jednu alebo viac cookies, Cookies (ktoré obsahujú názov a hodnotu) sa pošlú prehliadači spolu s požadovanou stránkou (a to v hlavičke), prehliadač pochopí, že by mal cookies nejako spracovať a "zapamätá" si ich názov a hodnotu, Keď sa pomtom prehliadač na rovnakú stránku (resp. rovnaký server) vráti, bude automaticky posielať cookies.

Ďalej: www.linuxsoft.cz/article.php?id_artic...rticle=436


[color=#000099]PHP (53) - Sessions[/color]
Dá sa použiť niečo iné ako cookies? Áno, sessions. Dnes sa v našom seriáli pozrieme, ako na to v PHP. Ak ste dávali pozor pri sledovaní minulého dielu nášho seriálu, pravdepodobne ste zistili, že cookies sú relatívne zložité. Server je musí vygenerovať a poslať prehliadači, ktorý je následne posiela zase späť na server. Nedalo by sa niečo také robiť priamo na serveri, bez odosielanie dát sem a tam? Áno, to by sa dalo. Mechanizmus, ktorý takto funguje, nazývame sessions. Myšlienka sessions nie je nová a PHP rozhodne nie je prvý jazyk, ktorý sessions podporoval. V skutočnosti sú sessions v PHP podporované až od verzie 4.0. To v súčasnej dobe už moc nevadí, väčšina serverov používa "čtyřkové" PHP. Jazyk PHP má prácu so sessions celkom prepracovanú. Ako to celé funguje? Zjednodušene povedané je to takto: Akonáhle PHP obdrží príkaz na začatie session, zistí najprv, či už session nebeží. Ak nie vytvorí ju, ak áno, pripojí sa k nej. PHP pridelí session identifikátor a vyhradí si niekde miesto pre ukladanie tzv session-premenných, Od tohto miesta ďalej si môžete u ľubovoľné premenné zvoliť, že bude súčasťou session, a server si potom jej obsah pamätá medzi stránkami, Session môžete kedykoľvek ukončiť. Keď to neurobíte, zruší sa zatvorením prehliadača

Ďalej: www.linuxsoft.cz/article.php?id_artic...rticle=440


[color=#000099]PHP (54) - Dodržiavanie webových štandardov[/color]
Pri písaní v PHP by ste mali dodržiavať webové štandardy. Ako? Uvidíte v dnešnom článku. Keďže je PHP veľmi úzko spojené s tvorbou webu, je pri písaní stránok pomocou PHP treba myslieť na dodržiavanie určitých noriem. Poďme sa v dnešnom diele nášho seriálu pozrieť, ako nám PHP môže byť v tomto smere pomáha a akých chýb by sme sa mali v tejto súvislosti naopak vyvarovať. Keď mu nie ste na internete úplnými nováčikmi, pravdepodobne viete, že HTML dokumenty majú svoju štruktúru, ktorá je vopred daná. Na našom webe sa o tom písalo napríklad v seriáli o HTML, ale písalo sa o tom samozrejme aj na mnohých iných miestach. Pri vývoji aplikácie by ste mali mať na pamäti, že výsledkom PHP skriptu bývajú HTML stránky a tieto stránky by mali zodpovedať normám. Tak napríklad na webe World Wide Web Consortia môžete nájsť vyčerpávajúce informácie o webových dokumentoch, ich špecifikách a môžete tam tiež nájsť HTML validátor, ktorý Vám umožní vaše stránky (alebo skripty) ON-LINE otestovať. Mali by ste si zvyknúť testovať validitu stránok už počas vývoja, najmä ak sa jedná o väčšie projekty. Je to dobrý zvyk - bez noriem by web vôbec nemohol existovať; úplne stačí, že normy okázalo ignorujú niektoré prehliadače.

Ďalej: www.linuxsoft.cz/article.php?id_artic...rticle=443


[color=#000099]PHP (55) - Posielanie e-mailov[/color]
Pomocou PHP je možné odosielať e-maily. Aj vo formáte HTML, aj s prílohami. Ako? Pozrite sa do dnešného dielu seriálu. V niekoľkých nasledujúcich dieloch nášho seriálu sa pozrieme na služby a vlastnosti PHP, ktoré s prevádzkou internetu úzko súvisia a ktoré je možné jednoducho použiť. Dnes sa zameriame na to, ako možno pomocou PHP odosielať e-maily. Existuje samozrejme veľa dôvodov, prečo by ste mohli chcieť e-mail z PHP odoslať. Na webovom obchode e-mailom potvrdíte objednávku, na komunitné stránke e-mailom odošlite zabudnuté heslo, na stránke mobilného operátora si necháte e-mailom poslať faktúru a tak ďalej. Takže, ako na to? Najjednoduchším spôsobom posielanie e-mailov pomocou PHP je funkcia mail (). Tá funguje tak, že prevezme ADR, predmet e-mailu a jeho telo, celé to odovzdá poštovému systému a ten to odošle.

Ďalej: www.linuxsoft.cz/article.php?id_artic...rticle=444


[color=#000099]PHP (56) - Tlač a PDF[/color]
Pozrime sa, ako možno pomocou PHP realizovať tlač informácií z webových stránok a ich export do PDF! Ak používate PHP pre tvorbu naozaj pokročilých aplikácií, skôr či neskôr narazíte na problém tvorby nejakých solídnych tlačových výstupov. Väčšinou totiž nestačí dáta prezentovať na webovej stránke, ale býva potreba zabezpečiť, aby si ich užívateľ mohol vytlačiť. Dnes si ukážeme na niekoľko spôsobov, ako tento problém riešiť. Dajme tomu, že budeme potrebovať vytlačiť zoznam všetkých pražských PSČ (narážam na tento trochu nereálny príklad preto, že máme k dispozícii databázu s PSČ). Ukážme si, ako na to s pomocou PHP môžeme ísť dvoma rôznymi spôsobmi.

Ďalej: www.linuxsoft.cz/article.php?id_artic...rticle=457


[color=#000099]PHP (57) - XML[/color]
XML sa stalo módou súčasných systémov. Pozrime sa, ako na neho ísť pomocou PHP. XML je fenoménom posledných niekoľkých rokov. Pre tých z vás, kto by snáď nevedel o čo ide: XML označuje spôsob veľmi pružného ukladanie dát pomocou súborov obsahujúcich značky. Je to trochu podobné ako HTML, ktoré tiež obsahuje dáta a značky (tagy), ale v trochu inom zmysle slova. Podobnosť medzi HTML (Hypertext Markup Language slovensky niečo ako "značkový jazyk pre prácu s hypertext"Žmurkajúci a XML (Extensible Markup Language, česky niečo ako "rozšíriteľný jazyk so značkami"Žmurkajúci nie je čisto náhodná, oba jazyky majú rovnakého rodičia. Je ním SGML (Standard Generalized Markup Language, "štandardné zovšeobecnenie jazyk so značkami"Žmurkajúci. XML nám umožňuje vytvárať sktrukturované dokumenty. "Sktrukturované" znamená, že budú obsahovať "značky" a "znaky". Značky dávajú dokumentu XML štruktúru, zatiaľ čo znaky im dávajú obsah. XML dokumenty môžu byť značne rozsiahle, ale napriek tomu (a to je asi hlavná výhoda) bývajú ľahko čitateľné ako ľuďom, tak aj počítačom.

Ďalej: www.linuxsoft.cz/article.php?id_artic...rticle=459


[color=#000099]PHP (58) - XML lepšie a radostnejšie[/color]
Dnes si ukážeme na efetivnější metódy spracovania XML pomocou PHP. Minule sme predložili niečo teórie okolo XML a ukázali sme si, ako zostaviť najjednoduchší parser. Dnes si ukážeme, ako pomocou PHP zostaviť parser, ktorý bude máličko užitočnejšie než ten prvý, bude totiž skutočne niečo reálneho robiť. Bude to výpočet bilancie z nášho ukážkového súboru finance.xml.Minule sme si predviedli, že existuje funkcia xml_set_element_handler, ktorá definuje, čo sa má stať keď pri parsovanie XML dokumentu narazíme na značky. Existuje pochopiteľne funkcie xml_set_character_data_handler, ktorá sa zase naopak stará o dáta.

Ďalej: www.linuxsoft.cz/article.php?id_artic...rticle=462


[color=#000099]PHP (59) - zapisujeme XML[/color]
Čítať súbory XML už vieme. Ale ako je zapisovať? Ukážme si na niekoľko spôsobov. V predchádzajúcich dvoch dieloch seriálu sme si ukázali, ako pomocou funkcií parsera čítať hotové dokumenty XML. To sa samozrejme hodí v prípade, keď už máme nejaký ten XML súbor k dispozícii. Čo ale robiť v prípade, kedy naopak bude chcieť niekto XML súbor po nás? Takáto situácia nie je nereálna. Keďže, ako sme uviedli, slúži XML prevažne pre výmenu dát, môže nejaký externý systém požadovať po našej aplikácii dáta v XML. Prejdime si teda niekoľko spôsobov, ako takú úlohu splniť. S týmto spôsobom sme sa už zoznámili v diele o exporte dát z MySQL. Len pripomeniem, že išlo o priamy zápis dát a značky sa dopisoval do výstupného súboru (alebo do výstupného prúdu) ručne. Tento spôsob je prácny a najmä pri vytváraní zložitejšie štruktúrovaných XML dokumentov môžeme ľahko urobiť chybu.

Ďalej: www.linuxsoft.cz/article.php?id_artic...rticle=467



[color=#000099]PHP (60) - Rozsiahlejšie projekty 1.[/color]
Vedieť PHP neznamená len syntax. Poďme sa pozrieť, na čo myslieť pri vývoji rozsiahlejších projektov. V niekoľkých predchádzajúcich dieloch nášho seriálu sme si ukázali, ako môže PHP spolupracovať s takými záležitosťami, ako je XML, elektronická pošta či publikovanie pomocou PDF. Takto by sa dalo pokračovať popisom ďalších možností, aplikácií a protokolov, ktoré PHP podporuje, avšak boli by to veci už pomerne špecifické a pre väčšinu čitateľov ťažko stráviteľné. My sa teraz v seriáli vrhneme trochu iným smerom - pokúsime sa dať (najmä začínajúcim) programátorom niekoľko rád k vývoju rozsiahlejších projektov. Dôvod je prostý - programátorom sa človek nestane tým, že sa naučí syntax niektorého jazyka (treba PHP). Programátorom sa človek stáva, keď si osvojí určité zvyky. Väčšinou zvyky, ktoré mu prácu buď uľahčí, alebo systematizuje. Zamyslime sa teda nad tým, čo je potrebné pri vývoji rozsiahlejších projektov v PHP. Budeme tomu venovať niekoľko dielov nášho seriálu; najprv teoretických a následne sa pokúsime jeden taký "väčší" projekt napísať a odladiť.

Ďalej: www.linuxsoft.cz/article.php?id_artic...rticle=475
[color=#000099]PHP (61) - Rozsiahlejšie projekty 2.[/color]
Ako sa nestratiť pri vývoji rozsiahlejšieho PHP projektu - databázy a fundované písania kódu. V predchádzajúcom diele nášho seriálu sme načali tému vývoja rozsiahlejších projektov. Dnes budeme pokračovať; povieme si niečo o príprave štruktúry databázy ao členenie programu. Tieto veci je potrebné urobiť už v pomerne skorej fáze vývoja, aby ste mali jasno, kam sa bude Vaše aplikácie uberať. Ak aplikácia má (a ona má skoro vždy) nejaký vzťah k databáze, býva dobrým zvykom navrhnúť si, ako bude takáto databáza vyzerať. To je veľmi dôležitá časť prípravy. Nie je nič horšie než dodělávání štruktúry databázy "za chodu", a to najmä ak majú sa meniť relačné vzťahy medzi tabuľkami. Všeobecné pravidlo, ako to urobiť "na prvýkrát a dobre" pravdepodobne neexistuje. Ale ako príklad naznačíme, ako by sa mohla uberať naša predstavivosť pri zostavovaní (dajme tomu) portál pre ON-LINE evidenciu požičiavanie knižiek z knižnice. Pozn: Musíte uznať, že to je ďaleko menej otrepaný príklad ako ON-LINE obchod. Dôležité je si uvedomiť, že každá tabuľka by mala zhromažďovať dáta o jednej "entite". Tento hrozný výraz skrátka znamená, že budeme mať tabuľku "kníh", tabuľku "čitateľov" a tabuľku "výpožičiek".

Ďalej: www.linuxsoft.cz/article.php?id_artic...rticle=484


[color=#000099]PHP (62) - Rozsiahlejšie projekty 3.[/color]
Ako sa nestratiť v premenných, konštantách, súboroch, triedach a projektoch. Ide to vôbec? Dnes budeme pokračovať úplne v duchu minulých dvoch dielov a rozoberieme si ďalšie spôsoby, ako sa nestratiť pri písaní nejakého rozsiahlejšieho projektu. Nebudú to veci prekvapivo nové, ale veci prekvapivo účinné, ak sa rozhodnete riadiť sa nimi. Kvalitný kód je úplne vždy dokumentovaný kód. Paradoxne zistíte, že keď budete programovať dlhšiu dobu, budete písať skôr viac komentárov než menej. To preto, že zrelí programátori sú si vedomí potrebného pridať komentáre, veľmi dobre (verte mi, každý z nich totiž zažil fáze, kedy sa nevyznal ani vo svojom vlastnom projektu). Čo by mali správne komentáre obsahovať?

Ďalej: www.linuxsoft.cz/article.php?id_artic...rticle=488


[color=#000099]PHP (63) - Rozsiahlejšie projekty 4.[/color]
Ako si pri programovaní v PHP zorganizovať a ešte viac uľahčiť prácu? Vývoj kvalitného kódu zahŕňa aj umenie "vyznať sa sám sebe". Mám tým na mysli vedieť, čo si pri písaní kódu môžem dovoliť, kde je nutné byť sám na seba prísny a kde je možné si prácu nejakým spôsobom uľahčiť. Dnes sa pozrieme na niektoré také metódy a postupy. Neviem, či je to dokázané vedecky, ale správny programátor by mal byť predovšetkým lenivý. To mu umožní nerobiť žiadnu zbytočnú prácu; a tej je pri písaní kódu možné urobiť viac než dosť. Kedykoľvek sa teda chystáte písať nejaký kód, mali by ste sa najprv sami seba pýtať: Neopísal už som niekedy podobnú funkciu alebo skript?, Nemám k dispozícii cudzí kód, ktorý by podobnú záležitosť riešil?, Dal by sa nájsť príklad také veci na internete?, Ak nie, mohol by som sa aspoň inšpirovať podobnú úlohou?

Ďalej: www.linuxsoft.cz/article.php?id_artic...rticle=492



[color=#000099]PHP (64) - Ladenie kódu[/color]
Aplikácie v PHP (ako kdekoľvek inde) sa musia po napísaní odladiť. Pozrime sa ako na to. Hoci dobrí vývojári dokážu napísať aj dlhé časti kódu bez syntaktických chýb, prakticky vždy je potreba kód odladiť, skôr než sa na neho môžeme spoľahnúť. Dnes si ukážeme na niektoré bežnejšie metódy, ako ladenie vykonávať a pozrieme sa, ako takéto veci môžu byť prevádzkované s prihliadnutím na programovanie v PHP.


Ďalej: www.linuxsoft.cz/article.php?id_artic...rticle=502


[color=#000099]PHP (65) - Ladenie kódu 2.[/color]
Ďalšie techniky ladenie kódu PHP. Aserce, testovacie skripty. Pokračujme dnes tým, čo sme načal v minulom diele - a síce postupmi a metódami, ktoré môžu zbaviť náš kód chýb. Ladiť kód môžeme aj inak než len vypisovaním premenných a nastavovaním príznakov pre ladenie. Pozrime sa najprv treba na aserce. Tento výraz súvisí s asertívnym správaním. Keď to veľa zjednodušíme (psychlogové prepáčia) tak by sme mohli aserce definovať ako "ozvi sa, keď nie je po tvojom". V programovaní sa aserce používajú ako ladiaci nástroj a PHP aserce realizuje pomocou príkazu ASSERT (). Nasleduje primitívne ukážka, ako by sa mohli aserce použiť, ak predpokladáme, že premenná $ denvmesici označuje poradové číslo dňa v mesiaci:

Ďalej: www.linuxsoft.cz/article.php?id_artic...rticle=504


[color=#000099]PHP (66) - PHP debugger[/color]
Dnes sa pozrieme na zúbok PHP debuggerům. Uvidíme či a aké existujú a ako ich rozumne použiť. Rozmýšľam nad nejakým zmysluplným začatím. Čo treba takhle: "Celý som strávil rozchozením nejakého nekomerčného PHP na ladenie, a zatiaľ žiadna sláva". Nebolo by to síce dvakrát optimistické, ale pekne by to vystihovalo situáciu, v ktorej sa nachádzam. Leč poporiadku. Medzi väčšinou vývojárov naprieč programovacími jazykmi získala veľkú obľubu integrovaná vývojové prostredia (Integrated Development Environment, IDE (nepliesť s diskami)). Jedná sa o vylepšené editory, ktoré okrem úprav zdrojového textu vie treba spustiť prekladač (to sa PHP samozrejme netýka), a vie vykonávať ladenie kódu za behu.

Ďalej: www.linuxsoft.cz/article.php?id_artic...rticle=514


[color=#000099]PHP (67) - Zdroje informací o PHP [/color]
Knihy, stránky a projekty související s PHP, které Vám mohou vydatně pomoci. V našem seriálu jsme se dotkli mnoha podstatných věcí, týkajících se PHP. Pevně věřím, že to bylo pro čtenáře užitečné. Seriál ještě nekončí; dnes se podíváme na některé zdroje, které Vám při práci s PHP mohou výrazně pomoci. Asi nejlepší českou knihou o PHP je dosud Jiří Kosek - Tvorba interaktivních internetových aplikací. Autor má tu vzácnou vlastnost (která se pohříchu nedostává mnoha jiným), že umí vysvětlovat složité věci na jednoduchých příkladech a celá kniha je nesmírně čtivá. Ačkoli neobsahuje CD, lze si uvedené příklady stáhnout z autorova webu a pak s nimi pracovat. Kniha obsahuje mimo vysvětlení prakticky všech aspektů PHP rovněž referenční přehled funkcí a ten je provázán s příklady. Praktické, veskrze použitelné. I když byla tako kniha psána v době éry PHP 3, neztratila dodnes nic ze své aktuálnosti.

Ďalej: www.linuxsoft.cz/article.php?id_artic...rticle=517



[color=#000099]PHP (68) - Staviame portál[/color]
Téma na viac dielov - stavba portálu v PHP. A s príkladom funkčného webu. Počnúc týmto dielom nášho seriálu úplne opustíme trochu nudnú šeď teórie PHP programovanie, a vrhneme sa na prax. V niekoľkých nasledujúcich dieloch totiž poslepujeme úplne nový web a prejdeme pritom všetky kroky, ktoré by ste mali v takejto situácii mať na pamäti. Programovanie v PHP je dosť zviazané s ďalšími technológiami, takže jeden väčší príklad bude lepšia ako niekoľko malých fragmentov kódu. Je to samozrejme dilema - čím kratší je príklad, tým skôr sa môžete sústrediť na to, čo naozaj rieši - ale čím je rozsiahlejšie, tým skôr pochopíte, ako spolu jednotlivé etapy práce a časti kódu súvisia. Budeme teda používať nielen PHP, ale HTML a MySQL (možno trochu aj štýly). Navyše, budem sa snažiť predstaviť vám jednotlivé kroky stavby webu tak, ako v praxi naozaj prebiehajú. Tým by čitateľ (najmä ak s webovou tvorbou začína) mal získať aspoň základnú predstavu o tom, čo a kedy sa má robiť.

Ďalej: www.linuxsoft.cz/article.php?id_artic...rticle=523


[color=#000099]PHP (69) - Stavíme portál 2.[/color]
Dnes budeme pokračovat v programování našeho virtuálního hudebního portálu. V minulém díle jsme načali tvorbu portálu pro virtuální hudební skupinu. Dnes si ukážeme, jak na takovém portálu realizovat navigaci mezi jednotlivými částmi webu. Uvidíme rovněž, že již v této fázi návrhu se dají použít některé "osvědčené triky" ostřílených webdesignérů. V navázání na předchozí díl se (například) rozhodneme, že budeme používat kódování utf-8. Tím bychom se měli zcela vyhnout problémům s češtinou. Jiná dobrá volba je iso-8859-2. Pokud máte pocit, že byste své stránky chtěli kódovat v čemkoli jiném, zvažte to. Většinou pro to není důvod. Rovněž se rozhodneme použít (například) typ dokumentu HTML 4.0 Transitional. Odpovídající DOCTYPE a meta-tag můžeme do dokumentu hned zapsat. Informace můžete čerpat ze seriálu Pavla Káchy zde na Linuxsoftu. Minule jsem slíbil, že náš portál bude mít tabulkový layout. Ten navrhneme z výukových důvodů co možná nejjednodušší. Stránka tedy bude tvořena tabulkou, která bude centrovaná a bude mít jednu širokou buňku v prvním řádku jako záhlaví a dvě užší buňky ve druhém řádku jako tělo (viz obrázek).

Ďalej: www.linuxsoft.cz/article.php?id_artic...rticle=524


[color=#000099]PHP (70) - Registrácia užívateľov na portáli[/color]
Dnes si ukážeme, ako by sa dala na portáli pomocou PHP vykonávať registrácia užívateľov. Potom, čo sme vyriešili základné navigáciu, budeme dnes pokračovať v našom hudobnom portáli vecami, ktoré zabezpečia jeho funkcionalitu. Poďme si najprv prejsť zadania a rozhodnúť sa, čím začať. V predminulom diele seriálu sme si stanovili akýsi cieľový koncept celej aplikácie. Keď si ho poriadne prečítate, zistíte, že sa skladá zo štyroch hlavných vecí - koncerty, diskografie, texty piesní a užívatelia. Texty piesní majú byť k dispozícii len registrovaným užívateľom, zadávať koncerty smie len užívateľ - administrátor. Z toho vyplýva, že by bolo praktické začať nejakými skripty pre uloženie užívateľov, aby sme na to neskôr mohli nadviazať.

Ďalej: www.linuxsoft.cz/article.php?id_artic...rticle=538


[color=#000099]PHP (71) - Prihlasovanie užívateľov na portál[/color]
Tož, užívateľa už máme. Poďme sa teda prihlásiť (a odhlásiť) z nášho výcvikového portálu. Dnes na náš portál doplníme funkciu pre prihlasovanie a odhlasovanie užívateľov, ktoré sme si v predchádzajúcom diele seriálu vytvorili. Uvidíte, že to nemusí byť až tak jednoduché, ako to na prvý pohľad môže vyzerať. Pozn: Množia sa otázky, či demoverzie portálu bude vedieť všetky popisované funkcie - áno, bude. Takže si skutočne môžete založiť "účet" a testovať to s nami. Ako budú v jednotlivých dieloch pribúdať funkcie, tak bude príklad upravovaný, aby vždy fungoval tak, ako je v článku vysvetlené. Jednoducho - v odkazoch v ľavej časti stránky je položka Prihlásiť. Tá povedie na skript, ktorý bude zabezpečovať prihlasovanie užívateľov. Ak bude užívateľ už prihlásený, zmení sa text odkazu z "Prihlásiť" na "Odhlásiť" a odkaz povedie na skript pre odhlásenie. Časom možno budeme chcieť niekde vypísať, kto je aktuálne prihlásený (aspoň prezývku), takže by sme na to už v tejto fáze mali myslieť na o prihlásenom užívateľovi by sme si mali uložiť na dobre dostupné miesto nejaké informácie.

Ďalej: www.linuxsoft.cz/article.php?id_artic...rticle=543


[color=#000099]PHP (72) - Hrátky s užívateľmi[/color]
Dnes sa na našom výcvikovom portále naučíme posielať zabudnuté heslá, meniť heslá a rušiť užívateľské registrácie. Na našom výukovom hudobnom portále už vieme užívateľa zaregistrovať, prihlásiť ho a odhlásiť. Dnes dokončíme prácu na správe používateľov tým, že sa zamyslíme nad odosielaním zabudnutého hesla, zmenou hesla a nad zrušením registrácie. U zabudnutého hesla bude najlepšie, keď sa pokúsime uvažovať ako užívateľ. Kedy vlastne bude chcieť používateľ odoslať zabudnuté heslo? Bude to pochopiteľne v momente, keď nie je prihlásený, a starostlivým rozborom zistíme, že to môže nastať minimálne v dvoch prípadoch: keď sa užívateľ pokúsi prihlásiť pod správnym menom, ale zlým heslom, keď sa užívateľ pokúsi znovu sa registrovať na už existujúce e-mail . Ako mu heslo pripomenieme? Heslo je v databáze uložené v tabuľke pouzívateov spoločne s prezývkou a e-mailom, pričom prezývka aj e-mail musia byť v rámci tabuľky užívateľov jednoznačné. To stráži už skript registrace.php. Takže k pripomenutie hesla nám stačí poznať prezývku alebo e-mail a môžeme zapomětlivému užívateľovi jeho heslo poslať.

Ďalej: www.linuxsoft.cz/article.php?id_artic...rticle=545


[color=#000099]PHP (73) - Frontend a backend[/color]
Ďalší diel seriálu o portáli v PHP. Frontend, backend, bezpečnosť. Náš "hudobný portál" má teraz všetky náležitosti strán správy užívateľov vyriešené. Takže sa smelo môžeme pustiť do naozajstného programovanie obsahu tohto webu. Ešte než k tomu pristúpime, ujasnite si ale niečo málo názvoslovie a zorganizujte si prácu. Stojí za zmienku, že skoro všetky poloprofesionálne až profesionálne weby s dynamickým obsahom skončí u koncepcie "frontend-backend". To jednoducho znamená, že existujú stránky pre užívateľov portálu (teda frontend), na ktorých je zobrazené to, čo potrebuje návštevník webu vidieť, a stránky pre administrátora, kde je zase naopak to, čo potrebuje ku vkladanie dát (backend). Niekde "medzi" tým všetkým sú dáta na zobrazenie, prevažne uložené v databáze. Celú situáciu ilustruje nasledujúci obrázok:

Ďalej: www.linuxsoft.cz/article.php?id_artic...rticle=551


[color=#000099]PHP (74) - Administrátorské rozhranie portálu[/color]
Dnes sa pri stavbe portálu zahryzne do tvorby administrátorského rozhrania. V minulom diele sme teoreticky rozobrali úskalia, ktorá nás môžu stretnúť pri zostavovaní administračné sekcie portálu. Dnes si poďme ukázať, ako takú vec v praxi doviesť do zdarného konca. Ako bude vyzerať funkcie pre overovanie, či je prihlásený užívateľ administrátorom už asi tušíte. Jej jadro bude spočívať v tom, že v prvom rade otetuje, či je vôbec niekto prihlásený, a ak áno, či má v databáze nastavené, že je to administrátor. Môžeme teda smelo napísať niečo ako:

Ďalej: www.linuxsoft.cz/article.php?id_artic...rticle=556


[color=#000099]PHP (75) - Pokračujeme na portále[/color]
Čo hrozí a na čo dávať pozor pri administrácii portálu v PHP? V piatok sme zostavili administrátorovi rozhranie pre zadávanie koncertov. Ak ste si to doma skúsili, pravdepodobne ste zistili, že tomu k dokonalosti ešte niečo chýba. Poďme to teda dnes trochu vylepšiť. Predovšetkým, je tu jeden nepodarok zo zadania. Medzi podmienkami totiž bolo to, že aplikačná logika by nemala povoliť zadať viac ako jeden koncert denne, čo nám súčasná verzia povolí. Problém je možné riešiť rôzne. Jedna možnosť je, že pred uložením otestujeme, či daný dátum v databáze už nie je. Niečo podobné sme už robili v prípade prezývok a mailov pri registrácii. Vtedy sme použili dotaz, ktorý zistil, či sa v databáze zadaný údaj už nevyskytuje a zachová sa podľa toho. Iné dobré riešenie je nechať pracovať databáze. Ak to databázový stroj umožňuje, možno na určitom stĺpci definovať tzv unikátny index. V praxi to znamená, že hodnoty v danom stĺpci musia byť navzájom odlišné, inak databázy nepovolí uloženie alebo úpravu záznamu. MySQL toto vie a príslušný unikátny index pridáte k poľu nasledujúcim spôsobom:

Ďalej: www.linuxsoft.cz/article.php?id_artic...rticle=557


[color=#000099]PHP (76) - Zobrazujeme dáta na portále[/color]
Jako použiť funkcie pre bufferování výstupu pri zobrazení dát na PHP portále. Náš portál sme minule zanechali v stave, kedy nešluo uspokojivo vyriešiť zadanie koncertu a presun na stránku so zoznamom koncertov kvôli problémom s hlavičkami. Naznačil som, že riešením bude zapnúť bufferování výstupu. Poďme to trochu rozobrať.

Ďalej: www.linuxsoft.cz/article.php?id_artic...rticle=564


[color=#000099]PHP (77) - Portál, databázy a relácie[/color]
Dnes navrhneme na našom "PHP hudobnom portáli" databázové štruktúry pre albumy a piesne. Dosť bolo na našom portáli koncertov. Dajme tomu, že túto tému máme už uspokojivo vyriešené, a poďme sa venovať ďalším veciam. Bude to stvárnenie diskografie. To nás vedie k záveru, že budeme musieť pridať ďalšie tabuľky do databázy (zatiaľ tam máme len tabuľku pre užívateľov a tabuľku pre koncerty). Okrem toho, že budeme musieť pridať tabuľky, musíme si rozmyslieť aké a ako na seba budú nadväzovať. Tabuľka užívateľov a tabuľka koncertov totiž boli na svojom okolí relatívne nezávislé, zatiaľ čo tabuľky s albumami, piesňami a tiež s textami piesní budú vzájomne závisieť. Už sme o tom hovorili v diele o uloženie dát v databáze. Na takúto situáciu platí staré slovenské príslovie:

Ďalej: www.linuxsoft.cz/article.php?id_artic...rticle=567


[color=#000099]PHP (78) - Informačný obsah portálu[/color]
Jako je dôležité mať Filipa ... a testovacie dáta pre vývoj webu v PHP. Minule sme rozobrali databázový návrh usporiadanie albumov a piesní na našom hudobnom webe. Dnes je teda čas niečo poriadneho s tým urobiť prakticky. Pôjde o to, ako to celé zorganizovať a doviesť k zdarnému koncu. Hoci sme úvahou strávili celý minulý diel, ešte jednu vec by sme si mali rozmyslieť. Pri zadávaní a zobrazovanie koncertov sme najprv vyriešili zadávanie dát a potom ich zobrazovanie na webe. V prípade diskografie to ale skúsime opačne. Dôvody sú dva: Aby som Vám ukázal, že to ide, ako sa to od opačného postupu líšia a na čo dávať pozor, Pretože diskografie spracováva tri tabuľky naraz a zobrazenie dát bude neskonale jednoduchšie ako ich zadávania. Tak či tak, ak budeme chcieť najprv riešiť zobrazovanie albumov a piesní, mali by sme si nachystať nejaký vzorku dát. Takže vymyslíme testovacie dáta, naplníme ich do databázy a pokúsime sa ich zobraziť.

Ďalej: www.linuxsoft.cz/article.php?id_artic...rticle=572


[color=#000099]PHP (79) - Triky s formulármi a ergonómia webu[/color]
Jako si pomôcť menej známymi triky s formulári pri vývoji portálu? A čo to vlastne je ergonómia webu? Predchádzajúci diel sme zakončili smutným konštatovaním, že súbor diskografie.php nerobí to, čo by mal. Jeho úlohou totiž bolo zobrazovať názvy albumov, alebo albumov a zároveň piesní. Dnes sa pozrieme, ako to doriešiť. V diele, v ktorom sa predstavovali formulára, som uviedol, že "klasický formulár obsahuje nejaké prvky pre užívateľský vstup (hoci textové polia) a nejaké prvky pre jeho odoslania". Rovnako Pavel Kácha v sesterskom seriálu o HTML vyhlásil, že "webový formulár je časť stránky zložená z rôznych tlačidiel, vstupných polí a prepínačov, ktorá slúži na získanie nejakých dát od používateľa". Ono to nie je úplne presné. Môže totiž existovať formulár, ktorý bude obsahovať len odosielacie tlačidlo! V našom prípade takejto tlačidlo môže byť "dvojstavové" a môže obsahovať pokyn pre zobrazenie vydaných albumov alebo pokyn pre zobrazenie dát a zároveň piesní. Celý trik pritom môže spočívať v tom, že vykonaná akcia sa vyhodnotí podľa toho, aká bola hodnota value (a teda aj popisek) na tlačidle. Môžeme teda zobraziť formulár pomocou finty:

Ďalej: www.linuxsoft.cz/article.php?id_artic...rticle=574


[color=#000099]PHP (80) - Administrácia diskografie hudobného portálu[/color]
Niekedy sa môže zadávanie dát do databázy docela zesložitit. Uvidíme, ako sa to dá zvládnuť pomocou premyslených formulárov. Poďme dnes začať riešiť pomerne náročné témy - rozhranie pre zostavovanie diskografie. Uvidíme, že to nie je jednoduché a že celá vec má veľa slepých uličiek a zákutí. Pripomeňme, že dátová štruktúra pre uchovanie informácií o albumoch a piesňach má tri tabuľky - piesne, albumu a obsahyalb. Do týchto tabuliek vlasov môĎete chcieť zadávať dáta "naraz", čo je celkom problém. Ukážeme si, ako by sa na to napríklad dalo ísť.

Ďalej: www.linuxsoft.cz/article.php?id_artic...rticle=580
[color=#000099]PHP (81) - Užívateľ versus programátor[/color]
Pri programovaní (nielen) v PHP by mal byť na prvom mieste VŽDY užívateľ. Dnešný diel seriálu o tvorbe hudobného portálu je krásnym príkladom. V predchádzajúcom diele sme zostavili rozhranie pre zadávanie albumov a piesní do databázy. Skúsme dnes toto rozhranie ešte nejako vylepšiť. Naše "diskografické" rozhranie je už celkom schopné. Pripomeňme si, že pomocou šikovne rozstrkaných formulárov už vieme: pridať pieseň do zoznamu piesní, pridať album do zoznamu albumov, pridať pieseň do albumu, odobrať pieseň z albumu. Človeku by sa mohlo zdať, že je prostredie takmer dokonalé. Skúsme ale chvíľu uvažovať ako užívateľ: Čo bude pre administrátora webu zďaleka najčastejší dôvod k návšteve stránky zadejdiskografii.php? Bude to situácia, kedy kapela vydá nové CD. Má v takom prípade Nebohý administrátor ľahký život? Vlastne moc nie.

Ďalej: www.linuxsoft.cz/article.php?id_artic...rticle=587



[color=#000099]PHP (82) - zabezpečenie vstupov formulárov[/color]
Formulára sa musí zabezpečiť. O prvku TEXTAREA, ako uvidíme, to platí dvojnásobne, pretože je špecifický. Ako začať ... čo treba citácií slov Honzu Houšťka, ktorý v diskusii pod jedným článkom nášho seriálu napísal: "Spoliehať sa na nejakú vlastnosť PHP je cesta do pekiel". Bolo to v diskusii okolo zabezpečenia užívateľských vstupov. Čo so svojím podstatným spôsobom týka formulárového prvku TEXTAREA, ktorý sme minule použili pre zadávanie piesní. Tento prvok býva v PHP mnohokrát často zle zabezpečený. Poďme sa teda pozrieť na dva možné všeobecné zdroje problémov s týmto prvkom a na jeden špecifický problém, týkajúci sa spôsobu, ako je použitý v našej aplikácii. V predchádzajúcom diele sme nijako neobmedzili množstvo dát, ktoré používateľ môže zadať do poľa TEXTAREA. Respektíve kontrolujeme len, či je vôbec v tomto poli po odoslaní niečo vyplnené. Takže používateľ by mohol do poľa napchať vědomně či nevědomně príliš veľa dát a našu aplikáciu tak zahltiť. To je samozrejme stav, ktorý nemôžeme strpieť. V samotnom formulári síce nastaviť maximálny počet znakov jednoducho nemôžeme, môžeme ale kontrolovať veľkosť premennej po odoslaní na server.

Ďalej: www.linuxsoft.cz/article.php?id_artic...rticle=588


[color=#000099]PHP (83) - Ukladanie textov piesní na hudobnom portále[/color]
Dnes sa pozrieme na spôsoby, akými možno uložiť na portále obsiahla dáta a vyberieme si metódu, ktorá sa nám najlepšie hodí. Opusťme teraz na portále správu albumov a piesní a venujme sa pár dielov prácu s textami piesní. Uvidíte, že aj tu je čo premyslieť a tiež čo pokaziť. Ukladanie textov piesní je totiž práca s podstatne súhrnnejšie informáciami ako napríklad ukladanie ich názvov. Pripomeňme si, že portál by mal vedieť v oblasti textov piesní nasledujúce funkcie: Pôjde zverejniť len text k piesni, ktorá už je v databáze, Bude to môcť robiť len administrátor, Text piesne sa bude dať exportovať do textového súboru, Texty piesní budú k dispozícii len pre registrovaných užívateľov.

Ďalej: www.linuxsoft.cz/article.php?id_artic...rticle=609




[color=#000099]PHP (84) - Ešte k registrácii[/color]
Chybovati je ľudské, alebo prečo sa niektorí používatelia nemohli na náš cvičný portál registrovať. Dnes budeme riešiť záležitosť mimo plán - aj také veci sa pri vývoji softvéru stávajú. Budeme riešiť reálny problém, ktorý vznikol s registráciou na tomto cvičnom portálu. Je to naliehavé, pretože väčšina vecí bez funkčného prihlasovanie nejde vyskúšať. Pravdepodobne si spomínate, že registračný skript generoval e-mail, ktorý obsahoval inštrukcie na dokončenie registrácie. Vtip spočíva v tom, že užívateľ si musí e-mail stiahnuť a zariadiť sa podľa inštrukcií v ňom obsiahnutých. To v našom prípade reprezentuje kliknutí na odkaz. A ten vedie na stránku pre dokončenie registrácie.

Ďalej: www.linuxsoft.cz/article.php?id_artic...rticle=613



[color=#000099]PHP (86) - zobrazenie dát a sťahovanie sobor pre registrovaných[/color]
Ako zobrazovať predformátovaný text a ako na portále realizovať download súborov? Náš cvičný hudobný portál sa pomaly blíži do finiša. Pretože sme minule rozoberali zadávanie textov piesní do databázy, poďme sa dnes pozrieť na to, ako texty piesní umožníme registrovaným užívateľom najprv zobraziť a neskôr aj stiahnuť. Pretože sa texty piesní budú zobrazovať iba prihláseným používateľom, začneme skript pisen.php testovaním, či je niekto prihlásený (nemusí to byť administrátor). O tom sme už hovorili. Nasledovať bude výpis piesne pomocou dotazu na tabuľku piesní. Celý skript má ale niekoľko zádrheľov, ktoré musíme najprv vyriešiť. Predovšetkým je to spôsob, ako odovzdávať skriptu číslo požadovanej piesne. Zvolíme napríklad tú najjednoduchšiu variantu a budeme odovzdávať číslo piesne v parametri URL. Takže stránku budeme požadovať pomocou URL v štýle index.php? Clanek = pisen & pisen = 9999. S tým súvisí otázka zabezpečenia, pretože parameter z URL bude odovzdaný do databázového dotazu. Nám postačí testovať, či bolo ako parameter pisen zadané číslo.

Ďalej: www.linuxsoft.cz/article.php?id_artic...rticle=623



[color=#000099]PHP (87) - finišujú portál[/color]
Dnes uzavrieme prácu na hudobnom portáli. Čo sa musí urobiť, aby bol projekt schopný uverejnenie? Dnes sa pozrieme na niektoré veci, na ktoré by ste pri skutočnej práci na weboch v PHP nemali zabúdať. Čím dokončíme náš cvičný portál ai teda celú stať s väčšími príklady v PHP. Hoci to budú prevažne samozrejmosti, divili by ste sa, koľko ľudí takéto veci rieši na až posledný chvíľou, prípadne vôbec. Webové štandardy sú tu preto, aby sa dodržiavali. Na testovanie, či je stránka validný alebo nie, môžete použiť celý rad validátor. Veľmi dobrý je ten na http://validator.w3.org/, ktorý mnoho ľudí používa preto, že je k dispozícii ON-LINE a preto, že prípadné nedostatky dokumente rovnako prehľadne vysvetlí. Testovať dynamický web však nie je tak jednoduché, ako by sa na prvý pohľad mohlo zdať. Prezradím vám tip.

Ďalej: www.linuxsoft.cz/article.php?i...rticle=626



[color=#000099]PHP (88) - prevádzka vo Windows[/color]
... aneb nemôžete povedať, že sme vás nevarovali. Záver nášho seriálu bude patriť niektorým všeobecnejším témam súvisiacim s PHP. Dnes sa pozrieme na problematiku prevádzky PHP na strojoch s operačnými systémami Windows. To je veľmi diskutované a kontroverzné témy - a asi si hovoríte, čo tento článok robí na Linuxsoftu. Prečítajte, uvidíte. PHP býva označovaný za multiplatformný záležitosť. To je slovo, ktorého by ste sa, ak ho budete počuť, mali desiť. Schopnosť fungovať na viacerých systémoch totiž mnohí užívatelia zamieňajú za: schopnosť fungovať na viacerých systémoch bez problémov, schopnosť fungovať na viacerých systémoch bez úprav. Oboje je samozrejme nezmysel. Tvrdenie, že PHP bude fungovať rovnako dobre na viacerých operačných systémoch by sa dalo prirovnať k tvrdeniu, že existujú celoročné pneumatiky. To prirovnanie je veľmi trefné - jednak preto, že tomu veľa ľudí verí, a jednak preto, že niektorí tomu prestanú veriť až v momente, keď dôjde k havárii. Pre účely našej úvahy budeme za "multiplatformný" považovať schopnosť PHP bežať na operačných systémoch Linux a Windows. Nie je to tak úplne presné, pretože PHP možné prevádzkovať aj pod MAC OS, tým sa ale v našej úvahe zaoberať nebudeme. Osobne by som za hlavný význam multiplatformný aplikácií považoval to, že nám umožňujú výber operačného systému, na ktorom pobeží, a nie teda to, že môžu bežať na viacerých systémoch. Otázka teda znie: Prečo by ste si mali vybrať pre PHP Linux - a ak nechcete alebo nemôžete, aké problémy pri prevádzkovaní na PHP na Windows vás čakajú?

Ďalej: www.linuxsoft.cz/article.php?id_artic...rticle=629



[color=#000099]PHP (89) - cesta do hlbín php.ini[/color]
Každý trochu zložitejšie program má svoje nastavenia. PHP taky, takže: kde, prečo, ako by ste sa mali dozvedieť v tomto dieli seriálu. Začínajúci používatelia o tom moc nevedia a vo väčšine seriálov o PHP sa táto téma neprávom zabúda. Ak sa vám stalo, že vám nejaký skript fungoval na lokálnom počítači, ale nefungoval na serveri, čítajte ďalej. Ak potrebujete vedieť, aká nastavenia ovplyvňujú správanie PHP na serveri, čítajte tiež. Dnes totiž bude reč o nastavení PHP. Mnoho vecí v PHP závisí na konfigurácii samotného stroja. Hodnoty nastavených volieb bývajú dôležité, pretože na ne vo svojich programoch môžete - vědomně či podvědomně - spoliehať. Ale spoliehať na nastavenie nebýva považované za správnu programátorskú taktiku, takže sa na to poďme pozrieť trochu hlbšie. Jednotlivé konfiguračné voľby môžu byť predovšetkým uložené v samotnom PHP skriptu (nie ale všetky). Nastavenie volieb v skripte pomocou konfiguračných funkcií má prednosť pred všetkým ostatným a platí iba do ukončenia behu daného skriptu. Ďalej môžu byť niektoré konfiguračné voľby platné pre danú zložku. Logika veci je podobné ako logika súborov pre konfiguráciu zložky v Apache; voľby PHP pre danú zložku môžu byť dokonca umiestnené priamo do súboru. Htaccess, prípadne v konfigurácii Apache httpd.conf. Pozn: Nastavenie pre danú zložku väčšinou u hostingov nastavuje administrátor webu, nie užívateľ. Ak daná voľba nie je špecifikovaná ani v skripte samotnom, ani pre danú zložku, nastupuje čítanie hodnôt z globálneho konfiguračného súboru php.ini.


Ďalej: www.linuxsoft.cz/article.php?id_artic...rticle=635


[color=#000099]PHP (90) - potmehúdsky konfiguračné voľby[/color]
Čiže prečo si musíte dávať pozor na údaje v php.ini Poďme sa pozrieť na to, aké najčastejšie problémy súvisiace s konfiguráciou PHP nás môžu stretnúť. Uvidíte, že to môže byť pomerne zábavné a že odlišné nastavenie mohlo a môže spôsobiť zaujímavé veci. Ale poporiadku. Asi najpopulárnejší voľba php, alebo aspoň v minulosti najdiskutovanejšie je bezpochyby register_globals. Ak je nastavená na ON, teda zapnuté, sú automaticky premenné z polí $ _GET [], $ _POST [] a $ COOKIE [] k dispozícii ako globálny.

Ďalej: www.linuxsoft.cz/article.php?id_artic...rticle=636



[color=#000099]PHP (91) - php.ini tretíkrát a naposledy[/color]
Ako sa dajú nastaviť sessions, zobrazovanie chýb a upload súborov. Dnes dokončíme zamyslenie nad konfiguračnými voľbami v PHP. Tiež si ukážeme, že niečo málo sa dá robiť aj v prípade, kedy sa musíme uspokojiť s prednastavenou konfiguráciou. V diele o session premenných sme si vysvetlili, že identifikátor session môže byť stránke odovzdaný buď pomocou cookies, alebo pomocou parametra v URL. Jedno i druhé má svoje pre a proti a oboje ide vypnúť. Aby som to trochu upresnil: použitie cookies pre prenos identifikátora session sa zapína a vypína konfiguračné voľbou session.use_cookies. Ak je to povolené, ukladajú sa identifikátory session ako cookies. Nevýhoda tohto prístupu k problematike spočíva v tom, že browser musí mať povolené prijímať cookies, inak skrátka nebudú session fungovať. Výhoda je tá, že to je oveľa bezpečnejšie ako posielať identifikátory session v URL. Pozn: Uvedené správanie si môžete vyskúšať napríklad tu na Linuxsoftu. Ak zakážete prijímať cookies, nebudete sa môcť prihlásiť do svojho profilu.

Ďalej: www.linuxsoft.cz/article.php?id_artic...rticle=642



[color=#000099]PHP (92) - funkcia pre interakciu s operačným systémom[/color]
Môže PHP spúšťať systémové príkazy? A ak áno, tak ako? Hoci PHP sa v naprostej väčšine prípadov používa k tvorbe dynamických webových stránok, je dobré vedieť, že môže byť použité aj inak. V dnešnom diele sa zamyslíme nad spôsobmi, akými môže programátor pomocou PHP zasahovať do operačného systému. Vykonávacie operátor je obrátený apostrof (`). Nepleťte si ho s klasickým apostrof ('Žmurkajúci. Na tomto operátora nie je nič tajného, nazval som ho tak jednoducho preto, že ho väčšina ľudí vôbec nepozná. V skripte táto potvorka spôsobí, že príkaz, ktorý je uzavretý v obrátených apostrof PHP ignoruje a je odovzdaný na vykonávanie operačnému systému.

Ďalej: www.linuxsoft.cz/article.php?id_artic...rticle=644


[color=#000099]PHP (93) - príkazový riadok[/color]
Ako použiť PHP, keď niekto nevie programovať v shellu? PHP vlastne vôbec nemusí bežať na webe. Hoci jeho použitie inde je veľmi zriedkavé, PHP môže bežať z príkazového riadku na bežnom počítači. Nemusí sa teda jednať o server a úlohou PHP nemusí byť vytváranie dynamického obsahu stránok. Ale poporiadku. Predovšetkým - toto môžete vyskúšať, ak máte k dispozícii spustiteľnú (CGI) verziu PHP. Ak máte PHP skompilovaný a nastavený ako modul servera Apache, nebude Vám fungovať nič z toho, čo budeme popisovať ďalej. To, či máte PHP spustený ako CGI alebo ako modul Apache poznáte z výstupu funkcie phpinfo (). Ak je vo všeobecných informáciách uvedený v položke Server API údaj CGI / FastCGI, máte vyhraté a môžete čítať ďalej. Keď mu tam máte uvedené Apache 2.0 Handler či niečo podobné, beží vám PHP ako modul Apache a to ho potom nemôžete spúšťať z príkazového riadku. Čo neznamená, že musíte zúfať. PHP je navrhnuté tak, že Vám umožňuje inštaláciu ako spustiteľné verzie, tak aj modulu na jednom stroji.


Ďalej: www.linuxsoft.cz/article.php?id_artic...rticle=646



[color=#000099]PHP (94) - GUI[/color]
PHP sa dá okrem tvorby webu a shell skriptov použiť ik vytváraniu samstatných aplikácií - vrátane grafického rozhrania. Kľúčom k tomu je PHPGTK. Hoci to veľa ľudí vôbec nevie, dá sa PHP okrem tvorby webových stránok (a okrem použitia ako shellovský interpreter) použiť aj ako všeobecný jazyk pre tvorbu samostatných aplikácií, a to dokonca aplikácií s grafickým rozhraním. V tomto a nasledujúcom diele si trochu ukážeme, ako na to. Samotné PHP nemá žiadne prostriedky pre tvorbu GUI (graphic user interface, grafické užívateľské rozhranie). Tým mám na mysli prostriedky pre tvorbu okien s tlačidlami, rozbaľovacom zozname, zaškrtávacie, prepínačmi a tak ďalej. Existujú však samostatne napísané programy, ktorých úlohou je - zjednodušene povedané - vytvárať prvky grafického užívateľského rozhrania. Takže, keby sa PHP na niektorý takýto program (často sa nazýva toolkit) vhodne napojil, mohla by vzniknúť zaujímavá kombinácia, že? Najmä, keby taký toolkit bol dostupný pod nejakou symatickou licencií a keby fungoval pod viacerými operačnými systémami. Tvorcovia dnes už veľmi populárneho programu pre manipuláciu s obrázkami GIMP (na Linuxsoftu máme mimochodom o GIMPu seriál) presne taký toolkit kedysi potrebovali. Takže vznikol GTK +, alebo "The Gimp Toolkit" - nezávislý balíček pre tvorbu grafického užívateľského rozhrania. Šírený je pod licenciou GNU LGPL, čiže patrí medzi slobodný softvér. Software je to veľmi používaný, GTK + je napríklad základom prostredie GNOME.


Ďalej: www.linuxsoft.cz/article.php?id_artic...rticle=651



[color=#000099]PHP (95) - GUI druhýkrát[/color]
Dnes si trochu hlbšie rozoberieme, ako funguje spolupráca medzi PHP a knižnicou pre tvorbu grafického rozhrania. Pretože sme minule len ľahko načrtli spôsob, akým možno PHP použiť pre tvorbu aplikácií s grafickým rozhraním, budeme to dnes musieť trochu rozviesť. Začneme okomentováním príklade, ktorý sme použili v predchádzajúcom diele. Už toto by mohlo niekoho odradiť. Dva riadky kódu, a štyri neznáme veci v nich. Takže poporiadku: predovšetkým je tu použitá funkcia extension_loaded (). Jej názov je dostatočne popisný - vracia TRUE, ak je nahraná externé knižnica (ako napríklad PHPGTK). Túto funkciu by ste si mali pri programovaní v PHPGTK zvyknúť používať, pretože akonáhle sa dostanete ku vkladanie súborov pomocou include (require), veľmi skoro sa môžete dostať do situácie, kedy neviete, či ste už extenziu nahrali alebo nie. Filozofiou sa to trochu podobá testovanie, či je k dispozícii daná funkcia (pomocou function_exists), ale tu ide samozrejme o celú knižnicu. Ako vieme, že názov hľadanej knižnice je gtk a nie trebárs gtklib? Ak si to nepamätáte z hlavy, môže Vám pomôcť dokumentácie alebo môžete vyveštiť názov extenzie z výstupu funkcie phpinfo (). Potom je tu funkcia dl () - tá danú knižnicu za behu PHP načíta. Je zaujímavé, že manuál neuvádza či a akú návratovú hodnotu táto funkcia má. Experimentálne sa mi podarilo zistiť, že funkcia vracia TRUE v prípade, keď sa podarí externú knižnicu nahrať, v opačnom prípade vráti FALSE (trebárs, keď máte zle uvedený názov knižnice, funkcia dl je zakázaná a podobne). Ak by to bola pravda, mohli by ste úspešnosť nahranie knižnice testovať a zariadiť sa podľa výsledku. Avšak, pretože to nie je v manuáli k PHP dobre zdokumentované, nemali by ste na moje experimenty príliš spoliehať.

Ďalej: www.linuxsoft.cz/article.php?id_artic...rticle=657



[color=#000099]PHP (96) - (ne) bezpečné PHP[/color]
Možno PHP považovať za bezpečnú záležitosť? A ak áno, čo sa pre to dá urobiť? Hoci sme sa určitým aspektom zabezpečenia PHP venovali priebežne, budú celé nasledujúce dva diely seriálu venované bezpečnosti. Že je to potrebné urobiť, o tom ma presvedčili komentáre čitateľov a spústa otázok ako od programátorov v PHP, tak od správcov serverov. Dnes sa pozrieme na viacmenej na serverovú časť problematiky. Teda - čo urobiť, aby nám prevádzku PHP na serveri nekompromitoval jeho bezpečnosť. Budem sa venovať len veciam, ktoré úzko súvisia s PHP. Administrátori webov majú pochopiteľne oveľa širší arzenál zbraní, pretože môžu nastavovať také veci ako práva k súborom či webový server. Viete žonglovať so štyrmi loptičky? (Ja nie). Zabezpečiť PHP sa tomu trochu podobá, pretože do hry vstupujú štyri faktory, ktoré sa vzájomne viac-menej vylučujú, a pritom všetky štyri majú vplyv na to, či a ako bude aplikácia PHP zabezpečená. Uvedomme si, že sa pri úvahe o bezpečnosti serveri sa jedná o programátorov v PHP, užívateľa našich aplikácií, administrátora webu, na ktorom to pobeží ao prípadné útočníkmi. Programátor by si samozrejme prial, aby PHP vedelo čo najviac vecí a aby išli napísať rýchlo a ľahko. Pre programátora je zaujímavé, keď mu niekto s prácou pomôže - použitím externé knižnice či funkcie tretej strany môže nezriedka získať veľa času na vývoj niečoho iného (alebo na dobehnutie časového plánu). Programátor chápe, že PHP sa musí zabezpečiť a má v ruke niektoré veľmi dobré nástroje, ktoré mu v tom môžu pomôcť. Niekedy však programátor vedome či nevedome zabezpečenia programu podcenia - napríklad keď mu horí časový plán, keď nemá dosť peňazí na vývoj alebo keď si niečoho nevšimne. Užívateľ by chcel aplikáciu čo najjednoduchšie. Bežný užívateľ problém bezpečnosti nevníma príliš zblízka; bude ho obťažovať, ak bude napríklad prihlasovanie do aplikácie príliš zložité. Ak však užívateľ vinou nejaké bezpečnostné chyby príde o dáta (alebo ešte lepšie - ak príde o peniaze), začne si problém súvisiaci s bezpečnosťou uvedomovať veľmi naliehavú. Takýto zákazník je potencálně veľmi zaujímavý - nie je potom pre neho problém pochopiť, že písanie kvalitných a bezpečných aplikácií je drahé, ale nevyhnutné. Typický správcu sa samozrejme naštarto len o samotné PHP, stará sa o celý stroj alebo o viac strojov a jeho prvotným záujmom je, aby systém nemal pokiaľ možno žiadne bezpečnostné slabiny ako celok. Samozrejme, že ruka v ruke s tým ide druhý, protichodný požiadavku - aby zabezpečenie webu mohol nejako automatizovať a aby mu to nezabralo príliš veľa času. Administrátor si uvedomuje, že úspešný útok na jeho server by mohol poškodiť nielen dáta konkrétneho užívateľa, ale aj povesť firmy, pre ktorú pracuje, alebo jeho vlastné renomé.

Ďalej: www.linuxsoft.cz/article.php?id_artic...rticle=658


[color=#000099]PHP (97) - bezpečnosť ešte raz[/color]
Ako je možné bezpečne pracovať so súbormi, databázami a heslami. Tiež sa dozviete, ako spolu súvisia PHP a mačka domáca. Dnes sa pozrieme na konkrétne záležitosti okolo PHP, ktoré sa týkajú zabezpečenia a ktoré sa viac či menej dajú ovplyvniť programátorské. Pretože sme sa niektorých týchto tém už na rôznych miestach seriálu dotkli, budú tu tiež odkazy do predchádzajúcich článkov. Keďže je PHP väčšinou prevádzkované na serveri s kvalitne nastavenými právami k súborom, nie je táto téma tak pálčivé, ako by mohlo byť. To však neznamená, že by ste mu nemali venovať pozornosť! Čas od času býva potreba pomocou PHP prečítať, odstrániť alebo zmeniť súbor operačného systému hostiteľského počítača. V takom prípade musíte byť opatrní, aby skript pre modifikáciu robil skutočne to, čo má, a aby robil len to, čo má.

Ďalej: www.linuxsoft.cz/article.php?id_artic...rticle=663


[color=#000099]PHP (98) - PHP 5.[/color]
Aká je PHP 5? Oplatí sa prejsť na ňu čo najskôr? Pred nedávnom oficiálne vyšla verzia PHP 5. Čo nového nás v nej čaká? A je potrebné urobiť prechod z "čtyřkové" verzie na "Petkov" čo najskôr? Ako prechádza PHP vývojom, objavujú sa nové verzie. Číslo hlavnej verzie jazyka však zatiaľ bolo zmenené iba štyrikrát. Pripomeňme si, že PHP 1 (aj keď sa to vlasov volalo PHP / FI, personal home page / form interpreter) vyšlo už v roku 1995. Verzia PHP 2 bola uvoľnená v novembri 1997 a zaznamenala už výraznejšie úspech. V júni 1998 bola potom uvoľnená verzia PHP 3.0, ktorá spôsobila onen boom okolo používania PHP. V tejto súvislosti stojí za zmienku, že PHP 3.0 bolo modulárne a dali sa k nemu "pripisovať" napríklad knižnice pre pripojenie databáz. Možno práve to spôsobilo, že sa "trojkovej" verzie PHP tak rozšírili. Avšak, stále sa pohybujeme v roku 1998, takže v čase, keď bol písaný tento článok, už ubehlo od vydania "trojky" viac ako 6 rokov. Zistilo sa napríklad, že moduly sú pekná vec, ale v kombinácii s viacerými užívateľmi jedného stroja s PHP sa celé spracovanie požiadaviek dosť výrazne spomaľuje. Preto bola v máji roku 2000 uvoľnená úplne nová verzia PHP (4.0), ktorá obsahovala úplne prepracované a teda rýchlejšie jadro Zend. ozn.: Ak by to niekoho zaujímalo - bolo toho dosiahnuté zmenou filozofie spracovanie súboru. PHP 3 spracovávalo zdrojový kód sekvenčne, PHP 4 ho celý skompiluje a potom spustí. Čím je skript dlhšia a zložitejšia, tým je nárast výkonu medzi PHP4 a PHP 3 výraznejšie.

Ďalej: www.linuxsoft.cz/article.php?id_artic...rticle=666



[color=#000099]PHP (99) - Budúcnosť PHP[/color]
Ľahké mudrovania o tom, čo sa stane s PHP v bližšie neurčenej budúcnosti, alebo "mám sa to teda učiť?" Dnes sa zamyslíme nad tým, aké perspektívy pravdepodobne čakajú jazyk PHP a aká budúcnosť čaká tých, ktorí tento jazyk ovládajú. Nie som samozrejme veštec, ale mnohé sa dá vyčítať zo smeru, akým sa tento jazyk a komunita okolo neho v posledných niekoľkých rokoch vyvíja. Najmä v súvislosti s vydaním "Petkov" verzia PHP je na webe k dispozícii mnoho článkov, ktoré sa tak či onak zaoberajú smerovaním PHP do budúcnosti. Je to logické; vydanie novej hlavnej verzie čohokoľvek, programovací jazyk nevynímajúc, udáva jasne smer, ktorým sa daná vec bude uberať. Poďme si pre spestrenie poukázať na niektoré zaujímavejšie miesta na webe, ktorá sa tým zaoberajú alebo zaoberala. Ak si budete články čítať, odporúčam pozrieť sa aj na diskusie pod nimi. Veľakrát sú protichodné a mnohokrát sú veľmi zaujímavé.

Ďalej: www.linuxsoft.cz/article.php?id_artic...rticle=670


[color=#000099]PHP (100) - Záver[/color]
Je to neuveriteľné, čo? Ale náš stodílný seriál je u konca. Poďme ho uzavrieť krátkym ohliadnutím, pozrieť sa tá to, čo sa podarilo a nepodarilo a zodpovedať hromadne niektoré neustále sa opakujúce otázky s týmto seriálom súvisiace. Začnime optimisticky. Predovšetkým, som rád, že sa vôbec podarilo taký seriál napísať, zostaviť a publikovať. Keďže zámerom redakcie bolo poskytnúť všade tam, kde je to len možné funkčné a spustiteľné príklady, je u mnohých dielov možnosť si predloženej skripty buď stiahnuť, alebo priamo spustiť na našom serveri (u koľkých iných obdobných seriálov máte túto možnosť)? U všetkých skriptov je k dispozícii aj farebné zvýraznenie syntaxe. Z niektorých článkov mám veľkú radosť. Bol som napríklad príjemne prekvapený, koľko kladných reakcií dorazilo na diel popisujúci priamu tvorbu PDF pomocou PHP. Viem o serveroch, ktoré vďaka týmto informáciám vyriešili dlhoročný problém s tvorbou tlačových zostáv z firemného webu. Privítam bol tiež diel seriálu popisujúce zabezpečenie vstupu formulárov a veľa chvály si získal nápad publikovať "väčší" príklad s postupnými riešeniami počas viacerých dielov; to bol ten náš hypotetický server hudobné skupiny. Pozn: Niektorí ocenili aj fakt, že sme ako príklad Nepoužili elektronický obchod, pretože to robí každý. Skutočne je to veľmi otrepané.

Ďalej: www.linuxsoft.cz/article.php?id_artic...rticle=674


[color=#000099]PHP (101) - Apríl: Príklady z praxe[/color]
V špeciálnom jarnom bonusovom prídavku seriálu (nielen) o PHP sa pozrieme, ako sa vlastne tiež programuje v praxi aneb šedá je teória, zelený strom života.

Ďalej: www.linuxsoft.cz/article.php?id_artic...ticle=1163
Stanper
Môj názor:
ZÁPORY: Hlavne že tam je odkaz na inú stránku, a tým by sme mohli stratiť užívateľov ktorý sa o takéto niečo zaujímajú (viem nie je ich tu veľa ale aj tak, robiť reklamu druhým...)
KLADY: Mala si snahu to aspoň preložiť do SK (alebo google translate?)
FuFu
Bolo by dobre keby si vypla smailikov
TSilvo
FuFu: vypol som smajlikov..
Kenny: z dovodu neporusenia licencie ma byt odkaz na stranku z ktorej cerpala.. a po druhe nebol to google translator....
Vy môžete zobraziť všetky vlákna v tomto fóre.
Vy nemôžete začať nový diskusný príspevok v tomto fóre.
Vy nemôžete odpovedať v tomto diskusnom vlákne.
Vy nemôžete začať v anketu v tomto fóre.
Vy nemôžete na tomto fóre nahrať prílohy.
Vy nemôžete stiahnuť prílohy v tomto fóre.