Zde ukái praktický příklad jedné z moností, jak vytvořit dynamický web.
Následující kód je ukázka souboru index.php na kterém závisí celá struktura webu. Vekeré stránky webu jsou dostupné přes adresy typu index.php?stranka=neco. Pokud vak pouijete .htaccess soubor podobný tomu z minulého dílu o pěkných url pro dynamický web, můou být stránky dostupné i přes neco.htm. Poté je více ne vhodné na vechny stránky odkazovat právě tímto novým, hezčím způsobem, tedy neco.htm. To platí jak pro vechny odkazy z vlastního webu, tak i pro ostatní odkazy z internetu. Pokud byste tak neučinili, mělo by to negativní vliv u vyhledávačů - jeliko stránky index.php?stranka=neco a neco.htm zobrazují identický obsah, jedna z nich by byla s největí pravděpodobností označena za duplikát a záleí na jednotlivých vyhledávačích jakým způsobem by se s tím vypořádaly. (Nejpravděpodobněji by jednu z nich vybraly a druhou vyřadily.) Proto je lepí rozmyslet si strukturu webu včas, ne ve řeit později a být nucen přesměrovávat stránky na nové adresy.
Ukázka souboru index.php:
|
|
Na prvním řádku začíná php kód. Před ním nesmí být ádný znak, ani mezera - jinak by docházelo k chybám při odesílání hlaviček (header). Nejprve se na 2. řádku načte jméno poadované stránky, které bylo předáno v adrese pod proměnnou stranka. Jméno poadované stránky tedy máme uloeno v php proměnné $url. Zde by bylo velmi vhodné proměnnou $url oetřit, jestli neobsahuje nějaký podezdřelý obsah, například nepovolené znaky nebo nějakou podstrčenou cestu k jinému souboru.
Pokud přijde poadavek na homepage, nebo přímo na adresu index.php bez parametrů, bude proměnná $url prázdná. V tomto případě se na ni uplatní podmínka na řádku číslo 3 a do proměnné se nastaví úvodní stránka. Na řádku číslo 5 se ověří, jestli zadaná stránka existuje - pokud ano, pokračuje se dál. Pokud by stránka neexistovala (nela otevřít), skript by zahlásil v hlavičce chybu 404 a do proměnné $url uloil jméno stránky, která se má zobrazit v případě chyby. Pokud by zde toto odesílání hlavičky nebylo, prohlíeče (a vyhledávácí roboti) by obdreli nesprávnou informaci o kladném vyřízení poadavku.
Na následujících řádcích (11 a 30) u je jen ilustrativní html stránka, kterou budete muset předělat dle Vaeho designu. Jediný aktivní kód je na řádku 24 a 26, který zobrazí poadovanou stránku. Jak je vidět načte se stránka z adresáře czech, která má název $url a koncovku .php. Tento kód nejene zobrazí obsah této podstánky, ale vykoná i vechny případné php skripty v nich obsaených.
index.php | V něm je podobný obsah jako je výe demonstrovaný kód. |
czech/ | Adresář pro jednotlivé obsahové stránky - zde nahrávejte nové stránky. |
czech/uvodni-stranka.php | Úvodní stránka - homepage. |
czech/stranka-nenalezena | Obsah, který se zobrazí při chybě. |
Naopak dobrovolné je pouití souboru .htaccess o kterém jsem se zmiňoval na začátku tohoto článku.
[1] jogi dne 15.10.2007:
Prosím, co tam má být místo toho parametru "stranka"?