Slezská univerzita v Opavě Obchodně podnikatelská fakulta v Karviné PORTÁL A JEHO SPRÁVA A Pro prezenční formu studia Petr Suchánek Jan Górecki Karviná 2013 Projekt OP VK č. CZ.1.07/2.2.00/28.0017 „Inovace studijních programů na Slezské univerzitě, Obchodně podnikatelské fakultě v Karviné“ Obor: Informatika. Anotace: Webové portály lze v dnešní době považovat za klíčové rozhraní v prostředí internetu. Jejich využití je možné jak pro pouhou prezentaci obsahu, tak i například pro podnikatelské účely v podobě internetových obchodů, přístup k podnikovým informačním systémům, řízení dislokovaných pracovišť, komunikaci a podporu řízení obsahu v rámci intranetu, apod. Tato studijní opora je zaměřena na problematiku tvorby webových portálů s využitím technologií HTML, PHP, MySQL a lokálního serveru Apache. Primárním cílem je seznámit studenty s tvorbou dynamických webových stránek, metodami práce se skripty a propojením dynamických webových stránek s databázemi. Po studiu dané studijní opory budou studenti schopni vytvořit jednoduchá portálová řešení, která budou funkční jak s využitím lokálního serveru, tak i v rámci webhostingu. Klíčová slova: Webový portál, skript, databáze, webové formuláře, vytváření dynamických webových stránek, předávání dat. © Doplní oddělení vědy a výzkumu. Autor: Doc. Mgr. Petr Suchánek, Ph.D. Ing. Jan Górecki Recenzenti: Doc. RNDr. Petr Šaloun, Ph.D. Ing. Mgr. Roman Šperka, Ph.D. ISBN Doplní oddělení vědy a výzkumu. - 3 - OBSAH ÚVOD ........................................................................................................................................ 6 1 WEBOVÝ & INTERNETOVÝ PORTÁL ................................................................... 7 1.1 DEFINICE WEBOVÉHO PORTÁLU A SOUVISEJÍCÍCH POJMŮ ....................................................... 7 1.2 TYPY WEBOVÝCH PORTÁLŮ ..................................................................................................... 8 1.2.1 HORIZONTÁLNÍ WEBOVÉ PORTÁLY .............................................................................. 8 1.2.2 VERTIKÁLNÍ WEBOVÉ PORTÁLY ................................................................................... 8 1.2.3 KOMBINACE HORIZONTÁLNÍHO A VERTIKÁLNÍHO WEBOVÉHO PORTÁLU ...................... 9 1.3 TVORBA WEBOVÉHO PORTÁLU ................................................................................................ 9 1.4 NÁSTROJE A TECHNOLOGIE PRO TVORBU WEBOVÉHO PORTÁLU........................................... 11 1.5 PSPAD .................................................................................................................................... 12 1.5.1 INSTALACE PROGRAMU PSPAD................................................................................. 12 1.5.2 ZÁKLADNÍ PRÁCE S PROGRAMEM.............................................................................. 13 2 HTML ............................................................................................................................ 14 2.1 CHARAKTERISTIKA HTML .................................................................................................... 14 2.2 CHARAKTERISTIKA XHTML ................................................................................................. 14 2.3 ZÁKLADNÍ ROZDÍLY MEZI HTMNL A XHTML..................................................................... 14 2.4 TAGY...................................................................................................................................... 14 2.4.1 PÁROVÝ TAG ............................................................................................................ 15 2.4.2 NEPÁROVÝ TAG ........................................................................................................ 15 2.4.3 STRUKTURA HTML DOKUMENTU............................................................................... 15 2.5 ODSTAVCE A ZALOMENÍ TEXTU............................................................................................. 17 2.6 NADPISY................................................................................................................................. 17 2.7 TYPY PÍSMA............................................................................................................................ 18 2.8 ODKAZY ................................................................................................................................. 18 2.9 SEZNAMY ............................................................................................................................... 19 2.10 OBRÁZKY ............................................................................................................................... 19 2.11 TABULKY ............................................................................................................................... 20 2.12 RÁMY ..................................................................................................................................... 21 2.13 FORMULÁŘE........................................................................................................................... 23 2.13.1 TAG FORM................................................................................................................ 23 2.13.2 TAG INPUT ............................................................................................................... 24 2.13.3 TAG TEXTAREA ......................................................................................................... 24 2.13.4 TAG SELECT ............................................................................................................. 25 2.13.5 TAG FIELDSET.......................................................................................................... 25 2.14 STRUKTUROVANÝ PŘEHLED VYBRANÝCH TAGŮ ................................................................... 27 2.14.1 ZÁKLADNÍ ZNAČKY ................................................................................................... 27 2.14.2 TYPOGRAFICKÉ ZNAČKY........................................................................................... 27 2.14.3 FORMÁTOVACÍ ZNAČKY ............................................................................................ 28 2.14.4 ODKAZY ................................................................................................................... 28 2.14.5 OBRÁZKY ................................................................................................................. 28 2.14.6 SEZNAMY.................................................................................................................. 29 2.14.7 FORMULÁŘE ............................................................................................................ 29 2.14.8 RÁMY ....................................................................................................................... 29 2.14.9 TABULKY.................................................................................................................. 30 - 4 - 3 CSS (CASCADING STYLE SHEETS)....................................................................... 31 3.1 STYL....................................................................................................................................... 31 3.2 DĚDIČNOST ............................................................................................................................ 31 3.3 PŘIPOJENÍ STYLU K SOUBORU................................................................................................ 32 3.3.1 EXTERNÍ SOUBOR ..................................................................................................... 32 3.3.2 DEFINOVÁNÍ STYLU UVNITŘ DOKUMENTU................................................................. 32 3.4 BARVY.................................................................................................................................... 32 3.5 PÍSMO ..................................................................................................................................... 33 3.5.1 RODINA PÍSMA ......................................................................................................... 33 3.5.2 STYL PÍSMA .............................................................................................................. 34 3.5.3 VARIANTA PÍSMA ...................................................................................................... 34 3.5.4 VELIKOST PÍSMA....................................................................................................... 34 3.6 ODKAZY ................................................................................................................................. 35 3.6.1 BARVA ODKAZU........................................................................................................ 35 3.6.2 PSEUDOTŘÍDY.......................................................................................................... 36 3.7 SEZNAMY ............................................................................................................................... 36 3.8 OHRANIČENÍ........................................................................................................................... 37 3.9 POZADÍ ................................................................................................................................... 38 3.10 TABULKY ............................................................................................................................... 39 3.11 TŘÍDY A IDENTIFIKÁTORY...................................................................................................... 42 3.11.1 TŘÍDY V CSS ............................................................................................................ 42 3.11.2 DĚDIČNOST.............................................................................................................. 42 3.11.3 KONTEXTOVÁ DEKLARACE........................................................................................ 43 3.12 IDENTIFIKÁTOR ID V CSS....................................................................................................... 43 3.13 CSS POZICOVÁNÍ.................................................................................................................... 43 3.14 SÉMANTIKA............................................................................................................................ 46 4 PHP ................................................................................................................................ 48 4.1 INSTALACE LOKÁLNÍHO SERVERU ......................................................................................... 48 4.2 FUNKČNOST LOKÁLNÍHO SERVERU........................................................................................ 49 4.3 ZÁKLADY PHP ....................................................................................................................... 49 4.4 PROMĚNNÉ ............................................................................................................................. 52 4.5 VĚTVENÍ................................................................................................................................. 54 4.5.1 IF............................................................................................................................. 54 4.5.2 IF ELSE A ELSEIF ...................................................................................................... 54 4.6 CYKLY.................................................................................................................................... 55 4.6.1 DO WHILE ................................................................................................................ 56 4.6.2 WHILE ..................................................................................................................... 56 4.6.3 FOR ......................................................................................................................... 56 4.6.4 BREAK ..................................................................................................................... 57 4.6.5 CONTINUE ............................................................................................................... 57 4.7 FUNKCE.................................................................................................................................. 57 4.7.1 VYVOLÁNÍ FUNKCE................................................................................................... 58 4.7.2 FUNKCE BEZ ARGUMENTU........................................................................................ 58 4.7.3 FUNKCE S ARGUMENTEM ......................................................................................... 58 4.7.4 FUNKCE VRACEJÍCÍ HODNOTU, PŘÍKAZ RETURN........................................................ 59 4.7.5 GLOBÁLNÍ PROMĚNNÉ.............................................................................................. 59 - 5 - 4.8 POLE....................................................................................................................................... 59 4.8.1 VYTVOŘENÍ POLE ..................................................................................................... 59 4.8.2 VÝPIS PRVKŮ POLE................................................................................................... 60 4.8.3 PROCHÁZENÍ POLEM................................................................................................ 60 4.9 PHP MENU.............................................................................................................................. 61 4.10 ÚLOHY K ZAMYŠLENÍ ............................................................................................................ 61 5 VYUŽITÍ PHP PRO ZPRACOVÁNÍ FORMULÁŘŮ ............................................. 62 5.1 ÚLOHY K ZAMYŠLENÍ ............................................................................................................ 64 6 MYSQL.......................................................................................................................... 65 6.1 VYTVOŘENÍ DATABÁZE.......................................................................................................... 65 6.1.1 TVORBA TABULKY..................................................................................................... 65 6.1.2 VLOŽENÍ ZÁZNAMŮ DO TABULKY .............................................................................. 67 6.2 PŘÍKAZY SQL......................................................................................................................... 68 6.2.1 VYTVOŘENÍ TABULKY................................................................................................ 68 6.2.2 VLOŽENÍ ZÁZNAMU DO TABULKY .............................................................................. 69 6.2.3 ZMĚNA HODNOT V TABULCE..................................................................................... 70 6.2.4 SMAZÁNÍ ZÁZNAMŮ V TABULCE................................................................................. 70 6.2.5 VÝBĚR ZÁZNAMŮ Z DATABÁZE................................................................................... 71 6.3 DATA VE VÍCE TABULKÁCH ................................................................................................... 72 6.3.1 ERD DIAGRAM......................................................................................................... 73 6.3.2 PŘÍKAZ SELECT PRO VÍCE NEŽ JEDNU TABULKU..................................................... 74 7 REGISTRACE A OVĚŘENÍ UŽIVATELE.............................................................. 77 7.1 REGISTRACE UŽIVATELE........................................................................................................ 77 7.1.1 HTML - REGISTRAČNÍ FORMULÁŘ ............................................................................ 78 7.1.2 PHP –SKRIPT PRO ZPRACOVÁNÍ FORMULÁŘOVÝCH DAT............................................ 79 7.1.3 SQL – DOTAZ ZAJIŠŤUJÍCÍ ZÁPIS DAT DO DATABÁZE.................................................. 80 7.1.4 ŠIFROVÁNÍ HESLA..................................................................................................... 81 7.2 OVĚŘENÍ UŽIVATELE.............................................................................................................. 81 7.2.1 HTML – PŘIHLAŠOVACÍ FORMULÁŘ ......................................................................... 82 7.2.2 PHP – SKRIPT PRO OVĚŘENÍ UŽIVATELE................................................................... 83 8 PŘÍPADOVÁ STUDIE................................................................................................. 88 ZÁVĚR.................................................................................................................................. 109 SEZNAM POUŽITÉ LITERATURY................................................................................ 110 - 6 - ÚVOD Jedním z předmětů, který je na Slezské univerzitě v Opavě, obchodně podnikatelské fakultě vyučován v rámci oboru „Manažerská informatika“ studijního programu „Systémové inženýrství a informatika“ je předmět „Portál a jeho správa A“. Tento předmět si jako volně volitelný mohou vybrat i studenti jiných oborů a podle sledovaného zájmu lze konstatovat, že se jedná o oblíbený předmět pro všechny, které zajímá problematika tvorby webových stránek resp. dynamických webových stránek a ještě lépe webových portálů, které jsou dnes primárním komunikačním rozhraním v rámci internetu. Současné nástroje a technologie se stále více přibližují uživatelům a i lidé s neinformatickým vzděláním jsou schopni vytvořit si kvalitní webové stránky využitelné pro osobní nebo i profesionální účely. A to je právě jeden z primárních cílů předmětu „Portál a jeho správa A“, v rámci kterého si na jedné straně studenti oboru Manažerská informatika prohloubí své dosavadní znalosti z tvorby dynamických webových stránek a portálů a studenti jiných, v našem případě oborů souvisejících s ekonomií, marketingem apod., proniknou do dané problematiky a získají minimálně základní znalosti a dovednosti, které budou moci dle vlastního zájmu a potřeb v budoucnu dále rozvíjet. Z obsahového hlediska je předmět zaměřen spíše do praktické roviny. Z tohoto hlediska je cílem zvládnout tvorbu struktury webového portálu pomocí HTML (HyperText Markup Language (resp. XHTML (eXtensible HyperText Markup Language)) a kaskádových stylů CSS (Cascading Style Sheets), tvorbu webových formulářů, vkládání dynamických prvků v podobě PHP (Hypertext Preprocessor) skriptů, tvorbu databáze v MySQL a základní metody komunikace webových portálů s databází MySQL (předávání hodnot mezi databází a webovými formuláři). Petr Suchánek, Jan Górecki; Portál a jeho správa A - 7 - 1 WEBOVÝ & INTERNETOVÝ PORTÁL Vyjdeme-li z nejobecnějšího pohledu, pak pojem „portál“ pochází z latinského porta (brána) a má celou významů. Lze ho použít například pro označení architektonickými nebo jinými výtvarnými prvky ozdobeného orámování vstupu do významné, obvykle veřejné budovy, např. do katedrály, pohledového orámování divadelního jeviště, v němž bývá zavěšena divadelní opona, vstupu do jeskyně nebo dalších objektů. Ve spojitosti s výukou předmětu Portál a jeho správa se budeme v tomto textu zabývat jiným významem resp. formou portálu, kterou je tzv. webový nebo internetový portál. V této publikaci bude z důvodu zachování jednotnosti a konzistence textu využíván pojem webový portál. 1.1 DEFINICE WEBOVÉHO PORTÁLU A SOUVISEJÍCÍCH POJMŮ Webový portál můžeme definovat z různých pohledů orientovaných zejména na technologie, oblasti využití, cílové skupiny a funkce (Definice 1 – 3). DEFINICE 1 Termínem portál v pojetí informačních technologií (Information Technology – IT) označujeme (webovou) aplikaci, která svému uživateli poskytuje jednotným způsobem a centralizovaně informace z různých zdrojů, které uživatele zajímají nebo se ho nějakým způsobem týkají. Jiná definice říká že: DEFINICE 2 Technicky je portál internetovou aplikací napojenou na různé datové zdroje a pracuje se s ním prostřednictvím internetového prohlížeče. Z hlediska funkcí, využitelnosti a cílových skupin může být dále webový portál definován jako: DEFINICE 3 Webový portál představuje bezpečný a jednotný bod interakce s různorodými informacemi, obchodními procesy a lidmi, přizpůsobený individuálním potřebám konkrétních uživatelů. Abychom dále upřesnili definice 1 – 3, je nutné nadefinovat ještě pojem webová aplikace (Definice 4) a v návaznosti na tuto definici ještě pojem webový server (Definice 5). DEFINICE 4 Webová aplikace v softwarovém inženýrství je aplikace poskytovaná uživatelům z webového serveru přes počítačovou síť Internet, nebo její vnitropodnikovou obdobu (intranet). 1 Webový & internetový portál - 8 DEFINICE 5 5 a) Webový server je počítač, který je odpovědný za vyřizování požadavků HTTP od klientů - programů zvaných webový prohlížeč. Vyřízením požadavků se rozumí odeslání webové stránky. 5 b) Webový server je počítačový program, který provádí činnosti popsané v předchozím bodě (démon). Webové portály jsou primárně založeny na komunikaci klient-server (Definice 6). DEFINICE 6 Klient-server je síťová architektura, která odděluje klienta (často aplikaci s grafickým uživatelským rozhraním) a server, kteří spolu komunikují přes počítačovou síť. Klient-server popisuje vztah mezi dvěma počítačovými programy, v nichž první program, klient, žádá o služby jiný program zvaný server. Příkladem je webový prohlížeč, tj. klientský program na uživatelském počítači, který může přistupovat k informacím na libovolném webovém serveru na světě (v rámci Internetu) (samozřejmě s přihlédnutím k autorizaci přístupu). 1.2 TYPY WEBOVÝCH PORTÁLŮ Webové portály nabízejí širokou škálu služeb a informací s možností jejich přizpůsobení uživateli podle osobních potřeb a zájmů (personalizace). Z hlediska služeb a orientace na cílové skupiny rozdělujeme webové portály na tři typy, kterými jsou horizontální, vertikální a kombinované. 1.2.1 HORIZONTÁLNÍ WEBOVÉ PORTÁLY Horizontální webové portály obsahují široké tematické zaměření a jsou orientované na co nejširší cílovou skupinu. Do této kategorie řadíme klasické webové vyhledávače, kterými jsou například: www.seznam.cz; www.google.com; www.centrum.cz; www.atlas.cz; www.volny.cz; www.yahoo.com; www.msn.com; www.aol.com; www.altavista.com; www.go.com; www.dogpile.com; a další. 1.2.2 VERTIKÁLNÍ WEBOVÉ PORTÁLY Tento typ webových portálů je zaměřen na určitou skupinu uživatelů (např. tzv. community portals slouží uživatelům z určitého regionu) nebo jsou orientovány tematicky, opět s ohledem na zájmy určité skupiny uživatelů. Terminologicky jsou označovány i jako oborové portály (vortály). Jako příklady je možné uvést: www.diit.cz; www.statnisprava.cz; www.itnews.sk; management.blog.cz; www.microsoft.com; www.cd.cz; www.vodafone.cz; www.opf.slu.cz; www.idos.cz; a další. Petr Suchánek, Jan Górecki; Portál a jeho správa A - 9 Vertikální webové portály můžeme dále konkrétněji dělit na následující typy: Osobní portály nabízející možnost personalizace prezentace a výběru informací pro své uživatele (například sociální sítě a podobně); Regionální portály; Zpravodajské portály; Vládní portály; Obchodní a byznys portály; Podnikové portály (často sloužící i jako intranet). 1.2.3 KOMBINACE HORIZONTÁLNÍHO A VERTIKÁLNÍHO WEBOVÉHO PORTÁLU Jako speciální případ kombinovaného webového portálu můžeme uvést internetové obchody, které jsou orientované na různé cílové skupiny (buď na širokou cílovou skupinu, nebo úzkou) a nabízejí buď specifické produkty, nebo velmi široký rozsah produktů. Ve vztahu k vertikálním portálům je nutné uvést, že studijní text se nebude zaměřovat na problematiku podnikových portálů, ale pouze těch, které jsou vytvářené za účelem poskytování a sdílení informací v prostředí Internetu. Jen pro upřesnění uvedeme, že podnikové portály jsou chápány jako webové stránky (obvykle dynamické webové stránky), které slouží k lepšímu publikování a sdílení informací ve firmě. V podstatě se termínů firemní, podnikový, či vnitrofiremní portál užívá pro označení aplikace s názvem intranet či extranet. Firemní portály jsou většinou vystavěny na redakčních systémech typu ECM (Enterprise Content Management), které dokáží agregovat data z více datových zdrojů. 1.3 TVORBA WEBOVÉHO PORTÁLU Jak již vyplývá z předchozího textu, webové portály jsou ve svém pojetí „dynamické webové stránky“ představující uživatelské rozhraní poskytující uživateli nejen statický obsah, ale i celou řadu služeb, jako například mailové schránky, vyhledávání, zprávy do mailu, informace o počasí, diskusní fórum, chat, kalendář akcí, katalog zdrojů a další. Chceme-li vytvářet portál sami nebo ho zadat v rámci externí dodávky, vždy je nutné provést podrobnou analýzu potřeb založenou na jasné vizi a strategii. Předpokladem úspěšnosti projektu tvorby webového portálu jsou: Identifikace potřeb potenciálních uživatelů portálu; Specifikace použitelnosti a uživatelské přívětivosti; Technologické možnosti; Bezpečnost; Stabilita; Redukce technologií potřebných pro fungování webového portálu; Maximalizace flexibility portálu potřeby průběžných úprav, vylepšení a doplnění; Časový harmonogram tvorby; Finanční rozpočet; Možnosti personalizace webového portálu; Testování použitelnosti a uživatelské přívětivosti. 1 Webový & internetový portál - 10 Z hlediska vlastní tvorby se musí brát do úvahy a zajistit: Použitelnost webu - návštěvník musí snadno najít informaci, pro kterou na web přišel. Zejména kontakt, poptávka či objednání zboží musí být po ruce; Přehledná struktura webu - vychází z výše uvedené Použitelnosti webu. Jde zejména o logické členění stránek a intuitivní orientaci návštěvníka napříč webem; Přístupnost webu - zahrnuje (nejen) technické požadavky, např. výrazné a logické menu pro ovládání stránek, alternativní popisy obrázků, velikost písma, barva odkazů atd. Validní kód - vyhledávače mají dnes již velmi sofistikované indexovací algoritmy, které si poradí i s nepřívětivým kódem, ale není jediný důvod jim práci komplikovat. Základem je orientace na uživatele webu. V rámci seminářů budou vytvářené různé projekty v podobě portálů, resp. dynamických webových stránek. Když je budete vytvářet nebo jejich tvorbu řídit nyní nebo kdykoliv později v praxi, vždy byste měli dodržovat některé důležité zásady, které se staly nebo stávají standardem a jejich aplikací do svých semestrálních projektů si jejich použití můžete nacvičit. Jedná se zejména o následující výčet základních zásad vytahujících se k výšeuvedeným čtyřem oblastem: Obsah webových stránek je dostupný a čitelný: o Každý netextový prvek nesoucí významové sdělení má svou textovou alternativu; o Informace sdělované prostřednictvím skriptů, objektů, appletů, kaskádových stylů, obrázků a jiných doplňků na straně uživatele jsou dostupné i bez kteréhokoli z těchto doplňků; o Informace sdělované barvou jsou dostupné i bez barevného rozlišení; o Barvy popředí a pozadí jsou dostatečně kontrastní. Na pozadí není vzorek, který snižuje čitelnost; o Předpisy určující velikost písma nepoužívají absolutní jednotky; o Předpisy určující typ písma obsahují obecnou rodinu písem. Práci s webovou stránkou řídí uživatel: o Obsah WWW stránky se mění, jen když uživatel aktivuje nějaký prvek; o Webová stránka bez přímého příkazu uživatele nemanipuluje uživatelským prostředím; o Nová okna se otevírají jen v odůvodněných případech a uživatel je na to předem upozorněn; o Na webové stránce nic nebliká rychleji než jednou za sekundu; o Webová stránka nebrání uživateli posouvat obsahem rámů; o Obsah ani kód webové stránky nepředpokládá ani nevyžaduje konkrétní způsob použití ani konkrétní výstupní či ovládací zařízení. Informace jsou srozumitelné a přehledné: o Webové stránky sdělují informace jednoduchým jazykem a srozumitelnou formou; o Úvodní webová stránka jasně popisuje smysl a účel webu. Název webu či jeho provozovatele je zřetelný; o Webová stránka i jednotlivé prvky textového obsahu uvádějí své hlavní sdělení na svém začátku; o Rozsáhlé obsahové bloky jsou rozděleny do menších, výstižně nadepsaných celků; o Informace zveřejňované na základě zákona jsou dostupné jako textový obsah webové stránky; o Na samostatné webové stránce je uveden kontakt na technického správce a prohlášení jasně vymezující míru přístupnosti webu a jeho částí. Na tuto webovou stránku odkazuje každá stránka webu. Petr Suchánek, Jan Górecki; Portál a jeho správa A - 11 Ovládání webu je jasné a pochopitelné: o Každá webová stránka má smysluplný název, vystihující její obsah; o Navigační a obsahové informace jsou na webové stránce zřetelně odděleny; o Navigace je srozumitelná a je konzistentní na všech webových stránkách; o Každá webová stránka (kromě úvodní webové stránky) obsahuje odkaz na vyšší úroveň v hierarchii webu a odkaz na úvodní WWW stránku; o Všechny webové stránky rozsáhlejšího webu obsahují odkaz na přehlednou mapu webu. o Obsah ani kód webové stránky nepředpokládá, že uživatel již navštívil jinou stránku; o Každý formulářový prvek má přiřazen výstižný nadpis; o Každý rám má vhodné jméno či popis vyjadřující jeho smysl a funkčnost. Odkazy jsou zřetelné a návodné: o Označení každého odkazu výstižně popisuje jeho cíl i bez okolního kontextu; o Stejně označené odkazy mají stejný cíl; o Odkazy jsou odlišeny od ostatního textu, a to nikoli pouze barvou; o Obrázková mapa na straně serveru je použita jen v případě, že nebylo možné pomocí dostupného geometrického tvaru definovat oblasti v obrázkové mapě. V ostatních případech je použita obrázková mapa na straně uživatele. Obrázková mapa na straně serveru je vždy doprovázena alternativními textovými odkazy; o Uživatel je předem jasně upozorněn, když odkaz vede na obsah jiného typu, než je webová stránka. Takový odkaz je doplněn sdělením o typu a velikosti cílového souboru. Kód je technicky způsobilý a strukturovaný: o Kód webových stránek odpovídá nějaké zveřejněné finální specifikaci jazyka HTML či XHTML. Neobsahuje syntaktické chyby, které je správce webových stránek schopen odstranit; o V metaznačkách je uvedena použitá znaková sada dokumentu; o Prvky tvořící nadpisy a seznamy jsou korektně vyznačeny ve zdrojovém kódu. Prvky, které netvoří nadpisy či seznamy, naopak ve zdrojovém kódu takto vyznačeny nejsou; o Pro popis vzhledu webové stránky jsou upřednostněny stylové předpisy; o Je-li tabulka použita pro rozvržení obsahu webové stránky, neobsahuje záhlaví řádků ani sloupců. Všechny tabulky zobrazující tabulková data naopak záhlaví řádků a/nebo sloupců obsahují; o Všechny tabulky dávají smysl čtené po řádcích zleva doprava. 1.4 NÁSTROJE A TECHNOLOGIE PRO TVORBU WEBOVÉHO PORTÁLU Pro tvorbu webového portálu je možné využít celé řady technologií a nástrojů, pomocí kterých je možné vytvářet webové stránky s dynamickým obsahem. Z hlediska jazyků a skriptovacích jazyků lze pro tvorbu www stránek využít HTML (HyperText Markup Language), XHTML (Extensible HyperText Markup Language), CSS (Cascading Style Sheets), Java Skript, AJAX (Asynchronous JavaScript and XML (Extensible Markup Language)), PHP (Hypertext Preprocessor), JSP (JavaServer Pages), Java, Ruby, Python, Perl, ASP.NET apod. Jedná se dnes o běžné jazyky, které se většinou využívají v nejnovějších verzích, ovšem v některých případech ani pozdější přechod k novější verzi většinou nečiní žádné významnější problémy. V rámci této studijní opory budeme pro tvorbu webového portálu využívat: HTML nebo XHTML (v textu se využívá HTML s tím, že téměř všechny kódy odpovídají i standardu XHTML); Lokální server Apache; PHP; MySQL; 1 Webový & internetový portál - 12 Z hlediska softwarové podpory budou všechny ukázky a příklady realizovány pomocí PSPad a EasyPHP. Aby bylo možné si hned od začátku výkladu doplněného o příklady tyto příklady zkoušet, bude jako první popsán v předchozí větě uvedený software PSPad, ve kterém je možné průběžně, bez jakýchkoliv doplňků a dalších software, zkoušet kódy prezentované v kapitolách HTML a CSS. 1.5 PSPAD PSPad je celosvětově rozšířený freewarový textový editor a editor zdrojových kódů pro platformu Microsoft Windows vyvíjený v prostředí Delphi. Je navržen jako univerzální editor pro editaci prostých textů a zdrojových kódů mnoha programovacích, skriptovacích a značkovacích jazyků (podporuje přes 30 různých prostředí - PHP, HTML, XML, Java, JavaScript, Perl, C, C++, ASP, SQL, Python, aj.) a další. Základními funkcemi programu jsou: práce s projekty; práce ve více dokumentech současně s možností uložení rozdělané práce; záznam makra s možností uložení a načtení z disku; hledání s nahrazením v souborech; porovnávání textu s barevným zvýrazněním rozdílů; šablony (HTML tagy, skripty, kusy kódu...) včetně uživatelsky definovatelných klávesových zkratek; instalace obsahuje šablony pro HTML, PHP, Pascal, JScript, VBScript, MySQL, MS-Dos, Perl, ...; uživatelská definice zvýrazňovačů pro exotická prostředí; konverze češtiny (LatinII, Kamenických, Windows 1250, ISO 8859-2, UTF-8, UNICODE); zvýraznění syntaxe s automatickým nastavením dle typu souboru; automatické opravy; inteligentní interní HTML náhled pomocí IE i Mozilly; plnohodnotný HEXA editor od verze 3.2.5; přímé odeslání souboru na disketu, jako obsahu e-mailu nebo příloha e-mailu; definice externích programů, ve kterých je možné soubor otevřít; tisk zvýrazněné syntaxe s možností náhledu před tiskem; export včetně zvýraznění do RTF, HTML, XHTML, TeX souboru nebo do schránky; sloupcové a řádkové bloky, záložky v textu, zobrazení čísel řádků; přeformátování a komprese HTML kódu, změna velikosti tagů, odstranění tagů; integrovaná knihovna TiDy pro formátování a kontrolu HTML, převod do CSS, XML, XHTML; integrovaný free editor TopStyle Lite (odkaz ke stažení) pro editaci CSS; setřídění řádků s možností třídění dle definovaného sloupce; změny velikosti písmen, odstranění diakritiky; zobrazení ASCII tabulky s možností tisku; práce se dvěma soubory současně v rozděleném okně s možností synchronizace posuvu; uživatelská lokalizace do jiných jazyků (doufám, že se podělíte s vlastními lokalizacemi); jednoduchá integrace do systému Windows a oblíbených programů. 1.5.1 INSTALACE PROGRAMU PSPAD Software PSPad si lze stáhnout z celé řady odkazů. Základním odkazem je http://www.pspad.com/cz/. Instalace proběhne automaticky po spuštění instalačního souboru. Petr Suchánek, Jan Górecki; Portál a jeho správa A - 13 - 1.5.2 ZÁKLADNÍ PRÁCE S PROGRAMEM Po instalaci a spuštění programu se nám zobrazí pracovní plocha programu. Defaultně je při prvním spuštění otevřený soubor označený jako Novy1.txt, jehož záložka je zobrazena v levém horním rohu. (Obrázek 1) Obrázek 1: Záložka souboru v programu PSPad. Tento soubor zavřeme způsobem, že klepneme pravým tlačítkem myši na záložku souboru a zadáme příkaz zavřít. Je zřejmé, že se jedná o standardní způsob využitelný v libovolném okamžiku při práci s programem PSPad. Jak bylo uvedeno v základním popisu programu, tento umožňuje práci s celou řadou různých prostředí (resp. jazyků), přičemž po prvním otevření souboru daného typu automaticky vkládá na pracovní plochu základní strukturu podle výchozí syntaxe. Jako příklad si ukážeme otevření dokumentu html. Zadáme příkaz Soubor/Nový a z nabídky vybereme HTML. Otevře se nám soubor s názvem Novy1.html obsahující základní strukturu html dokumentu (konkrétně bude popsána v následující kapitole). (Obrázek 2) Obrázek 2: Otevření souboru html v programu PSPad. Mezi tagy
a vepište podle Obrázku 2 text “Zkušební soubor.”. Takto vytvořený html dokument nepotřebuje žádnou speciální podporu a proto po kliknutí na funkční tlačítko F10 se obsah html dokumentu zobrazí v prohlížeči. Obecně tedy je funkční klávesa F10 je využívána pro zobrazování souborů, které nepotřebují žádnou jinou podporu. Důležitým krokem je samozřejmě uložení souboru, které se provádí standardním příkazem Soubor/Uložit jako…. 2 HTML - 14 - 2 HTML 2.1 CHARAKTERISTIKA HTML HTML (HyperText Markup Language) je značkovací jazyk pro hypertext, který umožňuje tvorbu www stránek. Jazyk je aplikací dříve vyvinutého rozsáhlého univerzálního značkovacího jazyka SGML (Standard Generalized Markup Language). Vývoj HTML byl ovlivněn vývojem webových prohlížečů, které zpětně ovlivňovaly definici jazyka. 2.2 CHARAKTERISTIKA XHTML XHTML (eXtensible Hypertext Markup Language) je značkovací jazyk pro tvorbu hypertextových dokumentů v prostředí WWW vyvinutý W3C. Původně se předpokládalo, že se stane nástupcem jazyka HTML, jehož vývoj byl verzí 4.01 ukončen. V roce 2007 však došlo k založení pracovní skupiny, která má za cíl vytvořit novou verzi HTML, která ponese označení HTML 5 a její XML variantu XHTML 5. 2.3 ZÁKLADNÍ ROZDÍLY MEZI HTMNL A XHTML Některé věci platily už v HTML, ovšem XHTML je striktně vyžaduje. Jedná se zejména o: Všechny atributy mají hodnoty v uvozovkách; Zákaz křížení tagů. Již konkrétními rozdíly mezi HTML a XHTML jsou: Tagy a atributy jsou malými písmeny; Nepárové tagy končí lomítkem; Párové tagy jsou párové povinně; Všechny atributy musejí mít hodnotu; Interní javascript a styly se zapisují jiným způsobem; Dokument má mít XML prolog; Dokument požaduje správný doctype. Než začneme s následujícím výkladem orientovaným na výklad základních postupů při práci s jazyky a prostředími, pomocí kterých budeme portály vytvářet, je vhodné doporučit, aby všechny příklady a ukázky, které budou níže prezentované, jste si vyzkoušeli prakticky v programech PSPad a EasyPHP. 2.4 TAGY Jak již bylo uvedeno výše, HTML je značkovací jazyk pro tvorbu www stránek. Jako například Český jazyk má svá slova, tak i HTML obsahuje slova, neboli tagy (značky), které dávají vlastnímu obsahu stránky význam a také dokument formátují. Tagy máme párové a nepárové. Petr Suchánek, Jan Górecki; Portál a jeho správa A - 15 - 2.4.1 PÁROVÝ TAG Párový tag – má začátek a konec: ŘEŠENÝ PŘÍKLAD 1Já jsem krátký odstavec.
V příkladu 1 představuje:- začátek – tag uzavřený do lomených závorek;
- konec – tag uzavřený do hranatých závorek, před tagem je lomítko. U párových tagů se text (obsah) stránky se vkládá mezi začátek a konec. Konkrétně tag p značí odstavec (z anglického paragraph). 2.4.2 NEPÁROVÝ TAG Nepárové tagy nemají ukončovací značku. Tyto tagy neobalují text, ale mají svůj vlastní význam (Řešený příklad 2). ŘEŠENÝ PŘÍKLAD 2Zvýrazněný odstavec
– správný zápisZvýrazněný odstavec
– špatný zápis 2.4.3 STRUKTURA HTML DOKUMENTU Každý html dokument má svou strukturu. Celý html dokument se skládá ze dvou částí hlavičky a těla. Hlavička má značku , tělo . HTML dokument má značku . Struktura html dokumentu je tedy následující (Řešený příklad 4): ŘEŠENÝ PŘÍKLAD 4(Řešený příklad 7). ŘEŠENÝ PŘÍKLAD 7
První odstavec
Druhý odstavec
třetí odstavec
neboPrvní odstavec
Druhý odstavec
Třetí odstavec
Před zobrazením odstavce, prohlížeč převádí všechny konce řádků na mezery. Pokud je za sebou více mezer, nahradí je jednou mezerou - mezi slovy můžeme psát mezer kolik chceme, ovšem nakonec se zobrazí mezera jediná. Další věcí je, že se text zarovnává podle aktuální velikosti okna, takže dokument lze zobrazit v různých rozlišeních. Někdy však potřebujeme, aby se text zalomil na určitém místě. To dosáhneme pomocí tagu (Řešený
příklad 18).
ŘEŠENÝ PŘÍKLAD 18
| , tak u | |||||||||||
. Pokud
ovšem zadáme velikost tabulky, součet velikostí buněk se musí rovnat velikosti tabulky
(Řešený příklad 20).
Petr Suchánek, Jan Górecki; Portál a jeho správa A
- 21 ŘEŠENÝ
PŘÍKLAD 20
|