PHP v praxi - 1. díl autor: Jan Veselý rubrika: HTML pro pokročilé (05.06. 2001) ![]()
Možná se zeptáte, proč je zde další seriál o PHP, když už jich lze najít na Internetu hned několik. Důvodem je to, že většinou se jedná o opis manuálu, tzn. autor si stáhne z http://www.php.net/ manuál, umí anglicky a pokusí se manuál interpretovat. Ale podle toho se začátečník může něco naučit jen velmi těžko. Cílovou skupinou tohoto seriálu jsou tvůrci stránek, kteří si chtějí práci ulehčit a ne ztížit, lidé, kteří nemusí vědět nic o programování, stačí jim základní znalost html. PHP je scriptovací jazyk (podobně jako JavaScript), ale třeba právě od JavaScriptu se nezpracovává u vás v prohlížeči, nýbrž na serveru, kde máte stránky uloženy. Výhodou je, že ať už má člověk jakýkoliv prohlížeč, vždycky bude výsledek stejný. S JavaScriptem je věčný problém - stránka se zobrazuje u každého jinak a člověk nemá jistotu shodného výsledku. Nevýhodou je menší interaktivita, ke zpracování dojde vždy až po odeslání požadavku na server. Abyste mohli začít vytvářet stránky s php, musíte také někde vidět výsledek. Pro začátek vám může stačit některý z free hostingů s podporou php. (např. http://www.kgb.cz/ nebo http://www.yo.cz/ a spousta dalších). Je však důležité vědět, kterou verzi php mají - momentálně se můžete setkat s verzemi PHP3 a PHP4, přičemž vřele doporučuji verzi novější (však také většina serverů na čtvrtou verzi již přešla či se chystá v nejbližší době). Na určitém stupni znalostí ale bude nutné nainstalovat si server doma, přece jen je pak práce trošku rychlejší. K tomu se vrátíme někdy později, dovíte se, jak nainstalovat asi nejpoužívanější kombinaci - server Apache a PHP modul. Co byste měli vědět, než začnete psát: každý soubor, ve kterém je uložen nějaký PHP příkaz, musí mít příponu - pro třetí verzi nazev_souboru.php3 a pro čtvrtou stačí nazev_souboru.php. Proto je důležité znát verzi, která na serveru běží. Samotný kód je ohraničený například značkami <? tady je nějaký příkaz ?>. Nenechte se vyvést z míry, když uvidíte <?php, je to stále to samé. A za poslední - každý příkaz končí středníkem. Nejprve si ukážeme příklad nejjednodušší, abyste viděli základ, pak se již podíváme přímo na funkci, která vám usnadní život a několikanásobně vrátí čas vložený do přečtení tohoto článku. Jsme tedy již ve stadiu, že máte někde možnost umístit vaše první stránky v PHP, takže si v poznámkovém bloku (nebo jiném jednoduchém editoru) otevřete nový dokument a zkopírujte tam následující: <? echo 'jsem nejlepší na světě'; ?> a pojmenujte jej jako index.php. Po odeslání na server a zadání vaší adresy
se ukáže, kdo vlastně jste. Krátký rozbor: příkaz je vložen mezi <? a ?>,
čímž se server dozvěděl, co má zpracovat, příkaz echo slouží k vypsání textu na
obrazovku. Text se nachází mezi uvozovkami - a tady poznámka: zásadně pište v
php uvozovky jednoduché, složené nechte html, vyhnete se tak spoustě problémů.
Příkaz končí středníkem, server se dozví, že příkaz už dále nepokračuje.
Zapomenete-li ho, v tomto jednoduchém případě se nic nestane, ale jindy místo
hlášky pro zvednutí sebevědomí obdržíte např.: A protože se člověk nejvíce naučí z praxe a ne z manuálu, podíváme se rovnou na jednoduchý příklad: jistě už máte nějaké stránky vytvořené. Předpokládám, že jako správní webmasteři nepoužíváte rámy (frames), ale kvůli pěknému vzhledu vašich stránek pěkně tabulky. Těch stránek je několik a tady přichází problém. co když potřebuji třeba přidat odkaz, který je vidět na každé z nich. Pro každého je takováto editace časově náročná, zvláště, když přichází třeba každý týden. A přesně na to je tu PHP. Podívejte se na stránku, na které se právě nalézáte - z čeho se skládá? Nad článkem je tabulka, která začíná Grafika publishing: Grafika... následuje logo WebTipu a reklama a pod tím proužek HTML Animace... Tuto část si nazvěme horní tabulka. Pod ní jsou dva sloupce - samotný text a pravý okraj - Top články, Aktuality... a pod tímhle vším ještě dolní tabulka - copyright a pár reklam. Co z těchto částí se mění? Pouze samotný text, a» už se podíváte na kterýkoli jiný článek WebTipu, okolí zůstává neměnné. Co do komplexnosti je asi WebTip poněkud rozsáhlejší než vaše stránky, ale i kdyby rozsah vašeho webu měl jen pět stránek v html, představte si, jak měníte třeba ten copyright - znamená to zásah do každé jednotlivé stránky. Samozřejmě, že na to můžete využít program, který najde konkrétní změny a opraví je, ale mnohem jednodušší je následující řešení: funkce readfile(). Máme tedy třeba pět stránek, kterým se opakuje horní část - odkazy. Chystají se postupné změny a vidíme, že by bylo neúnosné, zdržovat se s každým z těchto souborů zvlášť». Začneme tím, že neustále se opakující část zkopírujeme do jiného souboru - např. hlavicka.php a upravíme odkazy. V tomto souboru máme: <html> Normálně tedy následuje text, pak tagy </body> a </html>. Těch pět souborů nyní tedy musíme zeditovat následovně - přejmenovat je na nazev_souboru.php a vymazat část textu, která je nyní v hlavicka.php. Místo ní dáme na začátek každého z těchto souborů následující příkaz: <? readfile ('hlavicka.php'); ?> Co se teď stane? Po vyžádání souboru index.php server zpracuje příkaz mezi otazníky způsobem - přečti soubor hlavicka.php a dosaď ho tam, kde jsem. Výsledek bude vypadat úplně stejně jako před tím, akorát názvy souborů mají jinou příponu. Ve zdroji html není vidět žádný rozdíl. Ale přidání jednoho odkazu nyní znamená pouze jedinou editaci - přidání řádku do souboru hlavicka.php. O zbytek se už postará samo PHP. Detaily k funkci readfile () - mezi závorkami se nachází cesta k souboru,
pokud je pouze naše hlavicka.php, pak musí být tento soubor ve stejném
adresáři jako ostatní, které k němu přistupují. Pokud je cesta jiná, zadává se
http://nazev_domeny/hlavicka.php. Nezapomeňte na uvozovky a středník.
Vyzkoušejte a uvidíte, za chvíli budete odmítat dělat stránky na serverech bez
PHP. Lenost je hlavní příčinou lidského pokroku. |