Aleš Pěnkava 17.05.2005 doplněno 27.05:2005 Dokumentaci k semestrální úloze z předmětu Internet a WWW (X36WWW)
FOTOGALERIE
www.frikulin.net
Zadání: vytvoření internetové fotogalerie, s možností vkládání mazání a editování fotografií
Vypracování: Stránka je pojatá jako osobní stránka s one-person gallery, tím je myšlené, že pouze jedna osoba, a to majitel stránek, bude vkládat články, novinky a fotografie. Pokud budou chtít jiní návštěvníci stránek, něco sdělit ostatním, mohou tak učinit prostřednictvím diskuze. Stránka je programovaná v jazyce PHP , používá databázi MySQL a skripty v javascriptu.
Obsah stránky: Fotogalerie Novinky Články Diskusní fórum
Popis z pohledu uživatele Po načtení stránky uvidí návštěvník 2 menu, jedno ve stylu horní lišta, druhé je boční. Dále uvidí tři velká okna, v jednom jsou poslední 3 novinky, v druhém jsou poslední dva články (ne celé pouze nadpis a úvodník) a ve třetím okně jsou naposledy vložené fotografie (6 fotografií). Po kliknutí na políčko další se vždy dostane návštěvník do příslušné sekce (články, novinky, fotogalerie). V případě, že klikne na titulek článku, zobrazí se mu přímo požadovaný článek. Sekce novinky a články jsou řešeny jako nekonečná stránka, sekce fotogalerie je stránkována po 16-ti fotografiích, což je v případě 17ti palcového LCD panelu, nebo 19ti palcového CRT monitoru ideální počet.
Hlavní stránka
Popis z pohledu programátora Stránka index.php která je hlavní stránku galerie obsahuje: - skript rozpoznávající prohlížeč a následně na to vybere vhodný styl - skript , který uloží cookies na počítač klienta a následně uloží údaje do databáze (počítadlo) - skript který rozhoduje, která další část stránky se bude includovat (články, novinky, fotogalarie, škola, diskuze) - layout Databáze- v databázi jsou následující tabulky: - autori – informace o autorech, id_autora, jmeno, heslo, email - clanky – id_clanku, nadpis, uvodník, telo, datum, rubrika - novinky – id_novinky, nadpis, uvodník, datum, rubrika - fotky – id_fotky, nazev, popis, datum, url, url_nahled, puvodni_nazev - pocitadlo – id, url, ip, prohlizec, datum - prispevky – id, nadpis, nickname, ip, datum pro ukládání datumu do databáze je používaná funkce CURRENT_TIMESTAMP() do databáze nejsou ukládány fotky samotné, ale jen jejich jméno, to je generované pomocí funkce CURRENT_TIMESTAMP (), zároveň je do databáze ukládané původní jméno fotky
Adaptace prohlížeči a styly Stránka se rozhoduje podle prohlížeče klienta , jaký se použije styl v případě, že má klient prohlížeč identifikovaný jako MOZILLA/4.0 (IE + starší prohlížeče) nebo OPERA použije se -styl upravený pro explorer-tento styl je plně funkční akorát má odebrané prvky, které IE nepodporuje Jelikož se prohlížeč opera velice zpomaluje v případě, že jsou aktivní javascripty, jsou tyto skripty, v případě že má klient Operu, neaktivní. Speciální ošetření pro jiné prohlížeče, než jsou výše zmiňované, není provedeno jelikož jich je pouze velmi malé procento. Použití knihovny GD Aby bylo možné vytvářet náhledy vložených fotografií, je potřeba knihovnu GD K vytváření náhledu jsou používané následují následující funkce - getimagesize(), imagecreatefromjpeg(),imagejpeg() Počítadlo Při návštěvě stránek se kontroluje zda je na klientském počítači uložen cookies „pocitadlo“, v případě že ano, počítadlo se nezvýší, v případě že ne, uloží se do databáze informace o dalším přístupu a následně se zvýší stav počítadla. V databázi
se v datové tabulce počítadlo uchovávají i jiné informace, než jen o počtu přístupů, např:čas přístupu nebo klientský prohlížeč (tato informace se uchovává právě proto, aby bylo vidět pro jaké prohlížeč je vhodné stránku adaptovat) Zabezpečení proti špatnému vstupu Na stránce je možné v sekci diskuze přidávat komentáře, proti případnému vložení HTML tagů je stránka chráněna funkcí htmlentities(), zároveň je kontrolováno zda je vyplněno políčko nickname a zda není prázdný příspěvek při vkládání nového příspěvku. Plnička článků, novinek a fotek Do stránky je samozřejmě možné vkládat články, novinky a fotografie – v tomto případě se administrátor musí přihlásit na stránku www.frikulin.net/admince.php . V případě, že ještě není zalogován, musí tak učinit. -Vložení nového uživatele se děje pouze prostřednictvím SQL dotazu (vkládá se pouze výjimečně, zpravidla jednou)
Přihlášení administrátora
Informace o přihlášení je “držena“ v session proměnné Po přihlášení se zobrazí nabídka umožňující vložení, editaci či smazání článku, novinky nebo fotografie
Po zalogovaní
Editace/mazáni fotografií