Zde ukáži praktický příklad jedné z možností, jak vytvořit dynamický web.
Následující kód je ukázka souboru index.php na kterém závisí celá struktura webu. Veškeré stránky webu jsou dostupné přes adresy typu index.php?stranka=neco. Pokud však použijete .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 všechny stránky odkazovat právě tímto novým, hezčím způsobem, tedy neco.htm. To platí jak pro všechny 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ž vše řešit 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 požadované stránky, které bylo předáno v adrese pod proměnnou stranka. Jméno požadované stránky tedy máme uloženo v php proměnné $url. Zde by bylo velmi vhodné proměnnou $url ošetř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 požadavek 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 (nešla otevřít), skript by zahlásil v hlavičce chybu 404 a do proměnné $url uložil 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 obdrželi nesprávnou informaci o kladném vyřízení požadavku.
Na následujících řádcích (11 až 30) už je jen ilustrativní html stránka, kterou budete muset předělat dle Vašeho designu. Jediný aktivní kód je na řádku 24 až 26, který zobrazí požadovanou 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 nejenže zobrazí obsah této podstánky, ale vykoná i všechny případné php skripty v nich obsažený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 použití 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"?