ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE Fakulta elektrotechnická. Bakalářská práce. Jiří Šebek

Rozměr: px
Začít zobrazení ze stránky:

Download "ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE Fakulta elektrotechnická. Bakalářská práce. Jiří Šebek"

Transkript

1 ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE Fakulta elektrotechnická Bakalářská práce 2012

2 ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE Fakulta elektrotechnická Katedra grafiky a interakce [DCGI] Webová aplikace (eshop) pro využití v obchodní organizaci květen 2012 Student: Vedoucí práce: Ing. Ondřej Macháček

3 Čestné prohlášení Prohlašuji, že jsem zadanou bakalářskou práci zpracoval sám s přispěním vedoucího práce a používal jsem literaturu v práci uvedenou. Dále prohlašuji, že nemám námitek proti půjčování nebo zveřejňování mé bakalářské práce nebo její části se souhlasem katedry. V Praze dne

4 Poděkování Děkuji Ing. Ondřeji Macháčkovi, vedoucímu bakalářské práce, za jeho cenné rady a připomínky, jimiž mi ochotně pomáhal. Dále děkuji své rodině za podporu při studiu.

5

6 Anotace: Bakalářská práce řeší úlohu vytvoření efektivní webové aplikace eshopu pro organizaci Eurocontracts s.r.o., zabývající se prodejem a distribucí elektronických zařízení, zejména zařízení radiových spojů a elektronických pojítek. Zadaný úkol, který má zeefektivnit administrativní práci organizace, zejména kontakt se zákazníky, zpřehlednit zákaznickou agendu a fakturaci zakázek, byl řešen pomocí technologií html, css, javascript, PHP, které autor zkombinoval tak, aby výsledné řešení úkolu splňovalo požadavky na bezpečný provoz podle současných standardů pro provoz podobných webových stránek. Řešení umožňuje zejména administrátorovi tohoto webu tyto hlavní kategorie funkčních požadavků: Evidence uživatelů, Evidence zboží a Evidence objednávek. Podrobný popis těchto funkčních požadavků je podrobně uveden v závěru této práce, spolu s výsledky testů a validací tohoto systému. Přínos této práce lze vidět zejména v odstínění prezetační vrstvy aplikace od perzistentní, což zvětšuje přehlednost a bezpečnost aplikace. Summary: This bachelor thesis deals with the creation of effective web application eshop for the organisation Eurocontracts s.r.o., which concentrates on the sales and the distribution of the electronic devices, especially the devices of the radio communication and the electronic connecting links. The given task is to make administrative work more effective. This matter covers particularly simplification of contacting the customers and making billing more clear. The task was solved using the technologies html, css, javascript, PHP. The author used these technologies to create the final application save according to the modern standards for running similar web applications. The proposed solution allows the administrator of the web application to use particularly these main categories of the functionality requirements: Evidence of users, Evidence of goods and Evidence of orders. Detailed description of each of these categories is referred to in the conclusion of this thesis. The gain of this thesis can be seen especially in the separation of the presentation layer from perzistant. This separation guarantees more security to the application and makes it more user friendly.

7 Obsah 1. Úvod Rešerše aplikace Problematika eshopu Výběr vhodného programovacího jazyka Výběr vhodného databázového systému Výběr modelu, metodiky vývoje softwaru Plán vývoje Sběr požadavků, analýza, návrh Vize Uživatelé Katalog požadavků Funkční požadavky Nefunkční požadavky Use case diagram Stavový diagram uživatelů Diagram nasazení Doménový model ER model Analytický model tříd Grafický návrh aplikace Implementace Struktura adresáře projektu Životní cyklus formuláře Bezpečnost Implementace spojení s databází Komunikace mezi stránkami Implementace usecase Zobrazení, přidávání a rozesílání aktualit Uživatelské účty Vyhledávání a zobrazování zboží Funkce košíku... 37

8 4.6.5 Správa zboží a kategorií Správa objednávek Použité javascripty Stránkování Validace html a css Testování tabulka regresivních testů Instalace Výběr serveru Samotná instalace Bezpečnost na úrovni webového serveru Závěr Seznam zkratek Seznam tabulek, obrázků a ukázek kódů Tabulky Obrázky Ukázky kódů Seznam použité literatury... 55

9 Úvod 1. Úvod Úkolem bakalářské práce je vytvořit webovou aplikaci eshop, pro využití v obchodně výrobní organizaci Eurocontract s.r.o., která umožní zkvalitnění a urychlení hospodářské a administrativní činnosti organizace, zvýší efektivnost kontaktu se zákazníky, a tím zvýší i příjmy organizace. Tento typ aplikace je v dnešní době velmi rozšířený, jeho jednoznačnou výhodou je rychlá a přehledná informovanost zákazníka, možnost jeho okamžité reakce na nabídku organizace, promptní uzavření transakce, a tím celkové zefektivnění obchodního vztahu. Zároveň tato webová aplikace umožní ucelenou nabídku zboží a služeb organizace, jakož i přehledně prezentovat základní technické parametry nabízeného zboží a tím dává možnost zákazníkovi se rychle zorientovat v nabidce organizace. V první části je popsána problematika eshopu a výběr vhodného programovacího jazyka. Dále je zde rozebrán výběr modelu a metodiky vývoje softwaru. Druhá část se zabývá konkrétním řešením sběru požadavků, analýzy, návrhu aplikace. Dané diagramy byly vytvořeny pomocí nástroje Enterprise Architect. V třetí části je popsána konečná implementace a testování. Dané řešení bylo navrženo tak, aby bylo v souladu s moderními OOP nároky na aplikaci a tedy aby nebyl problém aplikaci rozšířit. Aplikace je navržena tak, aby byla bezpečná a zárověň výkonná. Implementace obsahuje jak veřejnou tak administrační část. V průběhu řešení práce byly porovnávány jednotlivé způsoby implementace a diskutovány jejich výhody. Závěr práce vyhodnocuje celkový způsob řešení této aplikace. 9

10 Rešerše aplikace 2. Rešerše aplikace 2.1 Problematika eshopu Mezi internetovými aplikacemi patří eshop v současné době mezi nejčastější. Slouží zákazníkovi k vyhledávání zboží a jeho objednání. Majiteli eshopu slouží k nabídce produktů a následně k příjmu objednávky od zákazníka. Existuje několik způsobů jak takovou aplikaci vytvořit. První je aplikaci naprogramovat v některém programovacím jazyce, což je i obsahem této bakalářské práce. Většinou se jedná o skriptovací jazyk. Druhým způsobem je použít CMS systém či opensource eshop. Zde bývá problém vybrat ten správný, protože některé CMS systémy jsou primárně jen redakční systémy a buď velmi špatně nebo vůbec nepodporují funkce eshopu. Také záleží na výběru toho, jestli je CMS systém opensource nebo komerční. Z opensource patří mezi nejznámnější Joomla, WordPress. Komeční CMS systém je např. JPublisher. Třetím způsobem je využít již naprogramovaného opensource eshopu. Tato varianta se může zdát v tomto ohledu nejlepší alternativou, avšak mohou při práci s nimi být problémy např. obtížná práce s tabulkami, nízká výkonnost. Výhoda eshopu oproti klasickému kamennému obchodu je zřejmá. Zákazník nemusí opustit práh domu a může si objednat cokoli nalezne v nabídce eshopu. Stále více uživatelů využívá tento potenciál internetu. Eshop může také vydělávat sám o sobě z reklam, které může obsahovat. 2.2 Výběr vhodného programovacího jazyka V dnešní době existuje velké množství programovacích jazyků a různých frameworků, které je vylepšují a jsou efektivní. Každý z těchto jazyků se však hodí jen na vývoj některých aplikací. K nejznámějším jazykům patří C, C++, Java, C#, Visual Basic, PHP. Na obr. 1 je znázorněno rozdělení programovacích jazyků podle úrovně. 10

11 Výběr vhodného programovacího jazyka Obr. 1: Rozdělení programovacích jazyků C je jazyk, který se používá převážně pro psaní systémových sofwarů, převážně unixových. Jedná se o kompilovaný jazyk, který někdo řadí mezi nízkoúrovňové a někdo mezi vysokoúrovňové jazyky. Oproti ostatním nižším jazykům jako např. Assembler je nezávislý na platformě a oproti ostatním vyšším jazykům zde neexistují objekty, ale jen datový typ struct. Většina ostatních jazyků přejímá syntax od jazyku C. Také zde není žádný garbage collector, takže programátor musí sám uvolňovat místa v paměti, které již nebude používat, aby nevznikly memory leaky. C++ je objektově orientovaný vyšší jazyk. Jedná se o rozšíření jazyka C. Podporuje nejen naivní a procedurální programování jako jazyk C, ale také objektově orientované a generické programování. Není však určen pro psaní webových aplikací. Java je velmi rozšířený moderní objektově orientovaný programovací jazyk. Je velmi podobná C++, avšak je pomalejší. Výhodou tohoto jazyku je garbage collector, který se stará o správu paměti. Zde se webový projekt dá vytvořit jako jeden velký aplet, který bude umístěn do html stránky. Avšak nevýhodou oproti klasickému webu tvořeném html a javascriptem je pomalé načítání apletů. Na druhou stranu mají velký potenciál ve vývoji. Druhá cesta vývoje je přes Enterprise Edition Java (Java EE). Ta se však používá spíše pro větší projekty. 11

12 Výběr vhodného programovacího jazyka C# a Visual Basic jsou programovací jazyky vytvořené firmou Microsoft. V současné době si většina programátorů oblíbila C#. Důvod je jednoduchý, Visual Basic má svoji vlastní syntax, ale C# syntax se odvíjí od jazyka C. C# je velmi podobný jazykům jako Java nebo C++. Visual Basic však má své výhody jako např zápisu XML přímo do kódu. Oba tyto jazyky nejsou přímo určeny pro vývoj webových aplikací. PHP je skriptovací jazyk, který je určen pro tvorbu dynamických webových stránek. Skripty vytvořené v PHP se nemusí překládat. PHP je podporováno u většiny webhostingových serverů a syntaxe PHP je podobná jako u jazyka C. Dá se velmi rychle naučit a v současné době se většinou využívá ve webových aplikací. Nevýhodou tohoto jazyka je, že programátor může snadno vytvořit velmi chaotický kód, ve kterém se ostatní lidé, kteří kód nevytvářeli, nevyznají. Z těchto jazyků se na webové aplikace hodí nejvíce Java EE, a PHP. V ostatních jazycích by byl vývoj buď zdlouhavý a náročný (jazyk C) nebo tento jazyk není přizpůsoben pro vývoj webových aplikací. Z těchto dvou jazyků jsem vybral PHP. Jeho další výhodou je, že velmi dobře komunikuje s databází MySQL a je multiplatformní. Na základě mnoha jazyků vznikly frameworky, které usnadňují práci programátorům. Z C# nebo Visual Basicu vznikl ASP.NET. Z PHP vzniklo řada frameworků jako Zend, Nette, Smarty. Každý z těchto frameworků má své výhody. Smarty odděluje aplikační vrstvu od zobrazovací (prezentační), což je velmi výhodné pro velké projekty, na kterých pracuje více lidí. Aplikační vrstvou jsou myšleny PHP skripty a zobrazovací vrstva je klasická html část webu. Nette a Zend obsahují MVC komponenty, které řeší například autorizaci a autentifikaci. V této bakalářské práci jsem se rozhodl vybrat jazyk PHP pro programování na straně serveru. Na klientské straně jsou vybrány technoogie html, css a javascript. Výsledná aplikace bude komunikovat jak je ukázáno na obr. 2. Tomuto typu aplikace se říká Dynamický web. Jakýkoli framework by byl pro tuto aplikaci zbytečný, frameworky se lépe využijí na větších projektech, kdy na jednom projektu pracuje více lidí. Další zpomalení ve vývoji aplikace by představovalo nastudovat jak daný framework funguje. Problémy u frameworků také bývají v tom, že chyby v aplikaci mohou být na straně frameworku. Tyto chyby se mnohem hůře hledají. 2.3 Výběr vhodného databázového systému Ze všech databázových systémů, které jsou v současnosti k dispozici jsem zvolil MySQL. Je pro tento projekt výhodný, protože podporuje standarty SQL, není placený a ve spojení s PHP je rychlý. Také jako PHP je podporovaný u většiny webhostingů a je multiplatformní. Jedním z velkých konkurentů MySQL je Oracle, který ovšem placený je. 12

13 Výběr modelu, metodiky vývoje softwaru Obr. 2: Dynamický web (převzato z lit. 1) 2.4 Výběr modelu, metodiky vývoje softwaru U softwarových projektů je dobré promyslet, jestli nebude vyvíjen podle nějakého modelu či metodiky. Velmi záleží na velikosti projektu. U malých projektů, které se dají naprogramovat např. do týdne, není potřeba tyto postupy používat. U větších projektů se tyto postupy však osvědčí. Model nám určuje jednotlivé fáze SW projektu, zatímco metodika nám definuje co v jednotlivých fázích dělat a jaké mají být výstupy k dané fázi. Modelů a metodik existuje mnoho, v této bakalářské práci jsem zvolil spirálový model. Spirálový model má výhodu např. oproti modelu vodopádu, že se v jednotlivých fázích můžeme vracet. Princip spirálového modelu je, že iterujeme postupně všechny fáze viz obr. 3. Když při konzulaci se zákazníkem zjistíme nedostatky, tak je v další iteraci opravíme. Obr. 3: Spirálový model (převzato z lit. 2) 13

14 Plán vývoje 2.5 Plán vývoje Celý projekt byl naplánován od počátku podle spirálového modelu viz kapitola 2.4. Schůzky se zadavatelem z firmy Eurocontracts s.r.o. se konaly většinou jednou za 14 dnů, během kterých se řešily podrobnosti jednotlivých částí v projektu. Na začátku bylo těchto schůzek méně, avšak později kdy přibývaly use casy, byly tyto schůzky pravidelnější. Výsledný plán vývoje softwarovu je znázorněn na obr.4. Obr. 4: Plán vývoje softwaru 14

15 Sběr požadavků, analýza, návrh 3. Sběr požadavků, analýza, návrh 3.1 Vize Jak již bylo řečeno v úvodu této práce, systém bude sloužit jako webová aplikace (e shop) pro využití v obchodně výrobní organizaci, který umožní zkvalitnění a urychlení hospodářské a administrativní činnosti organizace, kontakt se zákazníky, a tím může zvýšit obrat a zefektivnit činnost organizace. Návrh systému se soustředí na tyto body: základní informace a prezentaci firmy přehlednost nabízených produktů a služeb vytvoření základních funkcí eshopu (dle katalogu požadavků níže) zajistit celkovou funkčnost aplikace rozdělení aplikace na veřejnou a administrační část, implementována bude jak veřejná tak administrační část použití vhodného programovacího jazyku/frameworku pro vývoj webových aplikací 3.2 Uživatelé Systém bude podporovat tři typy uživatelů: neregistrovaný zákazník registrovaný zákazník administrátor (admin) Neregistrovaný zákazník neregistrovaný zákazník se může registrovat, prohlížet zboží podle kategorií, prohližet stránky eshopu, vyhledávat zboží podle názvu nebo popisu. Registrovaný zákazník registrovaný zákazník může vše co neregistrovaný zákazník. Navíc se může přihlásit se, přidávat zboží do košíku, objednat obsah celého košíku, měnit údaje vlastního účtu nebo jej smazat. Admin admin může dělat vše co zákazník, ale navíc si může prohlížet veškeré objednávky, mazat je, změnit stav objednávky na vyřízenou, může prohlížet faktury k objednávkám, změnit oprávnění uživatele (zákazník, admin), smazat účet, přidat, upravit zboží z kategorie, odebrat zboží z kategorie, přidat novinky na stránky a zárověň tyto novinky rozeslat registrovaným uživatelům. 15

16 Katalog požadavků 3.3 Katalog požadavků Katalog požadavků zachycuje požadavky zadavatele. Požadavky se dělí na funkční a nefunkční (někdy též obecné) viz obr. 5. Většinou obsahují co nejméně informací o implementaci. Funkční požadavky obsahují co daný systém bude umět. Nefunkční požadavky definují systém jako celek. Většinou se jedná o požadavky na hardware. Obr. 5: Rozdělení požadavků (převzato z lit. 3) Funkční požadavky Evidence uživatelů registrace uživatele přihlášení uživatele změna vlastních údajů smazání vlastního účtu změna oprávnění uživatele (pouze Admin) smazání uživatele (pouze Admin) Evidence zboží přidání zboží do košíku smazaní zboží z košíku změna počtu zboží v košíku vysypání celého košíku přidání zboží do kategorie (pouze Admin) úprava informací o zboží do kategorie (pouze Admin) odebrání zboží z kategorie (pouze Admin) přidání nové kategorie (pouze Admin) přejmenování kategorie (pouze Admin) 16

17 Nefunkční požadavky odebrání staré kategorie (pouze Admin) objednání zboží vyhledání zboží přes kategorii vyhledání zboží přes název nebo popis s využitím vyhledavače Evidence objednávek uložení objednávky výpis všech objednávek výpis nevyřízených objednávek generování faktur k dané objednávce Nefunkční požadavky Grafické uživatelské rozhraní Provoz na osobním počítači Program bude vyvíjen v programovacím jazyce PHP Software bude kompatibilní s OS Windows 7, Vista a XP s nainstalovaným prohlížečem Firefox verze 8.0 a výše Bude podporováno uložení dat v DB Systém by měl být intuitivní a uživatel by neměl mít problémy s užíváním aplikace K užívání aplikace pro uživatele bude nutná klávesnice a myš K provozu aplikace na straně serveru bude potřeba server s nainstalovaným Apachem, s podporou PHP a MySQL Aplikace by měla chránit svá data před nahráním nesprávných dat (jak na straně klienta tak na straně serveru) Systém nebude vyžadovat pro klienty kromě osobního počítače s OS Windows 7, Vista nebo XP s nainstalovaným prohlížečem Firefox verze 8.0 nebo výší verze žádné další HW vybavení jako databázový server apod. Pro server bude vyžadován databázový server. 17

18 Use case diagram 3.4 Use case diagram Use case diagram se používá na zachycení funkčních požadavků. Obsahuje aktéry, use cases (případy užití), hranice systému a relace. Na obr. 6 je znázorněn use case diagram eshopu. Obr. 6: Use case diagram eshopu 18

19 Stavový diagram uživatelů 3.5 Stavový diagram uživatelů Stavový diagram se používá na zachycení stavů, které se mění v čase. Jedná se o dynamický diagram chování. Obsahuje stavy (jako např. počáteční, koncový) a přechody. Každý přechod může být popsán událostí, podmínkou a akcí. Na obr. 7 je znázorněn stavový diagram eshopu pro stavy uživatelů. Obr. 7: Stavový diagram eshopu 19

20 Diagram nasazení 3.6 Diagram nasazení Diagram nasazení zachycuje hardwarové komponenty a procesy mezi nimi a softwarem. Zde se používají uzly, spojení mezi nimi a artefakty. Artefakty bývají zdrojové kódy, tabulky v databázi. Tento typ diagramu patří mezi implementační diagramy. Na obr. 8 je znázorněn tento diagram pro eshop, je na něm vidět, že databáze je na jiném stroji než server nebo klient (tři různé uzly grafu). Obr. 8: Diagram nasazení eshopu 20

21 Doménový model 3.7 Doménový model Doménový model patří do části analýzy. Jeho cílem je zachytit model systému nezávislý na použité technologii. Na obr. 9 je znázorněn tento doménový model pro eshop, datové typy proměnných a metody by zde neměly být zobrazeny, ale v EA jsem přímo z tohoto modelu vycházel pro analytický model tříd v návrhové části, kde již mají být. Obr. 9: Doménový model eshopu 21

22 ER model 3.8 ER model ER model znamená Entityrelationship model. Tento typ modelu patří již do návrhové části. Vytváří ucelený obrázek o tom, které tabulky budeme mít v databázi. Na obr. 8 je znázorněn tento ER model pro eshop, avšak neobsahuje jen entity a relace, ale přímo tabulky s datovými typy jako INTEGER, VARCHAR a integritními omezeními jako NOT NULL, PRIMARY KEY a UNIQUE. Jak je na obr. 9 vidět entita Zboží se zde vyskytuje 2x. Jednou jako tabulka Zboží, která reprezentuje zboží v nabídce v určité kategorii. A podruhé jako Zboží objednávka, aby zboží, které již někdo objednal, zůstalo v objednávce při smazání zboží z kategorie. SQL dotazy najdete v php stránce, která vytvoří tyto tabulky i s uživatelem administrátorem. Z obr. 10 je vidět, že používáme cizí klíče, takže nemůžeme použít engine MyISAM. Engine, který jsme použily, je InnoDB. Tento engine podporuje cizí klíče. Obr.10: ER model eshopu 22

23 Analytický model tříd 3.9 Analytický model tříd Analytický model tříd je diagram, který zachycuje celkový statický pohled na aplikaci. Účelem je znázornit typy objektů, proměnných a jejich vztahy. Část tohoto diagramu vychází z doménového modelu. Na obr. 11 je znázorněn tento diagram pro eshop. Neobsahuje všechny soubory z důvodu přehlednosti, ale vždy je zde alespoň balíček, který reprezentuje funkcionalitu souborů. Obr.11: Analytický model tříd eshopu 23

24 Grafický návrh aplikace Perzistentní vrstva na obr.11 bude mít v aplikaci důležitou roli. Bude oddělovat databázovou vrstvu od prezentační, zlepšovat bezpečnost aplikace a zjednodušovat práci s databází. Při změně databáze z MySQL např. na Oracle postačí vyměnit třídy DBConnection a DB. Je tedy výhodná při změnách Grafický návrh aplikace Grafický návrh aplikace je jedna z částí, kterou se zadavatel projektu nejvíce vnímá. Požaduje, aby vzhled byl takový, aby mu co nejvíce vyhovoval. Proto často nestačí pouze jeden návrh, který by byl dokonalý a postačil. V případě eshopu byly postupně vytvořeny dva výsledné návrhy (viz obr. 13 a obr. 14), ze kterých si zadavatel vybral druhý (viz obr. 14). Je výhodou, že byla použita spirálová metodika vývoje softwaru, jak bylo popsáno v kapitole 2.3, protože se návrhy mohly měnit v průběhu vývoje. Nejprve byla vytvořena šablona grafiky jen pro úvodní stránku a pak u každého use case se podle ní udělala grafika dalších stránek. Určité aspekty na grafice museli být dodrženy jako barvy firmy, což je odstín modré. Vzhledem k teorii barev byla zvolena jedna komplementární barva a jedna barva doplňková k naší základní barvě modré (viz obr. 12). Oranžová a modrá jsou přirozené komplementární barvy vůči sobě. Doplňková barva se může vzít jak ze strany oranžové tak ze strany modré, v našem případě z obou. Obr. 12 Kruh barev (převzato z lit. 4) K těmto barvám, které jsme si již vybrali je potřeba vybrat ještě barvu písma, která musí být kontrastní vzhledem k pozadí dané oblasti. V prvním návrhu je pozadí střední části bílé, proto barva písma je černá. V druhém návrhu je pozadí navigace a středu modré, proto byla zvolena bíla barva písma. V horní části eshopu je zvolena barva písma tmavě modrá, protože u loga stránky je bílé pozadí. 24

25 Grafický návrh aplikace Obr. 13: Návrh GUI 1 Obr. 14: Návrh GUI 2 výsledná grafika 25

26 Implementace 4 Implementace Jak bylo popsáno v kapitole 2.2 pro implementaci eshopu byl zvolen jazyk PHP s databázovým dotazovacím jazykem MySQL. Na straně klienta byl použit jazyk Javascript a značkovací jazyk html 4.0 a css. 4.1 Struktura adresáře projektu Adresářová struktura tohoto eshopu obsahuje 4 hlavní adresáře (viz obr. 15). Jedná se o adresář classes, ve kterém jsou soubory php s definoványmi třídami použítých v eshopu. Obr. 15: Adresářová struktura projektu 26

27 Životní cyklus formuláře Druhý adresář se jmenuje faktury. Zde se budou ukládat faktury v pdf formátu, které se generují při přijetí objednávky od zákazníka. Třetí adresář se nazývá img. Jsou v něm všechny obrázky, které jsou použity v designu aplikace. Obsahuje jeden podadresář zbozi, kam se ukládají obrázky každého zboží eshopu, které admin uloží. Poslední adresář je js, který obsahuje javascriptové soubory. Tyto skripty jsou převážně pro kontrolování formulářů na straně klienta. Okolo těchto adresářů jsou ostatní php stránky. Adresář css jsem nezavedl pro lepší propojení css stylů s obrázky ve složce img. 4.2 Životní cyklus formuláře V eshopu jsou často používány formuláře od registrace až po odeslání objednávky. Formuláře bývají často bezpečnostním rizikem celé aplikace. Životní cyklus formuláře obecně obsahuje několik kroků. Nejprve se zobrazí. Pokud existují předvyplněná data z databáze tak se zobrazí s nimi, jinak je prázdný. V dalším kroku uživatel vyplní nebo upraví data ve formuláři a odešle je. Zde ještě na straně klienta existuje kontrola dat pomocí javascriptu, která buď odešle formulář nebo ne podle korektnosti vyplněných dat. Pokud uživatel má vypnuté javascripty, to znamená, že kontrola na straně klienta není, je formulář odeslán na server. Na straně serveru se nejprve zkontrolují data ve formuláři. Pokud jsou chybná, tak se vygeneruje stejný formulář s předvyplněnými daty. Pokud jsou správná, tak systém provede činnost požadovanou formulářem. Například uloží nového uživatele do databáze a pošle zpět zprávu, že uživatel byl vytvořen. Celý proces je znázorněn na obr. 16. V našem eshopu je tento postup dodržován. Obecně všechny soubory s formuláři jsou nazvány profilxxx.php jako např. profiluzivatele.php. Tento formulář je kontrolován javascriptem. Formulář odesílá data na Controllerxxx.php, např. ControllerUzivatele.php. Zde je automat, který vykoná danou funkci jako je např. přihlášení, registrace. 27

28 Bezpečnost Obr. 16: Životní cyklus formuláře U formulářů se setkáváme s dalším problémem, jak zabránit dvojímu odeslání dat. Tento problém bývá způsoben chybou uživatele (2x stiskl tlačítko odeslat) nebo se někdo snaží napadnout naší aplikaci. Tento problém byl vyřešen tím, že vždy po odeslání se stránka přesměruje na Controllerxxx.php (viz obr. 16). 4.3 Bezpečnost Obecně každá aplikace by měla být bezpečná. U webových aplikací se na bezpečnost dbá o to více, protože na internet se dostane dnes každý. A když někdo nalezne nezabezpečenou aplikaci na internetu, tak může způsobit velké škody od smazání celé databáze až po nahrání škodlivého souboru na server. Před desítkami let musel útočník mít velké znalosti, aby mohl něco takového udělat. Žádně softwary na provedení útoku neexistovaly. Dnes je situace opačná. Softwarů na různé útoky existuje hodně a útočník často nepotřebuje mít ani základní znalosti o programování či počítačové síti. Druhů útoků na webovou aplikaci existuje hodně. Jedná se o SQL injection, Crosssite scripting (XSS), CrossSite Request Forgeries (XSRF), nahrání škodlivého kódu na server a jiné. Útočníkovi také mohou velice pomoci v útoku chybová hlášení, které mohou obsahovat pro něj zajímavé informace. V navrženém eshopu neobsahují chybové hlášky žádné přidané informace pro útočníka. Poslední velmi důležitou věcí je ochrana hesla. V následujících odstavcích této kapitoly jsou popsány jednotlivé druhy útoků a způsoby ochrany navržené aplikace eshopu proti výše zmíněným nežádoucím útokům. 28

29 Bezpečnost Jednou z důležitých ochran je přímo chránit vstup od uživatele z textového pole formulářů pomocí funkce mysql_real_escape_string(). Tato funkce zaručuje přidání zpětných lomítek před nebezpečné znaky jako apostrof (viz obr. 17). Takto bezpečně upravené znaky pak můžeme použít pro dotazování k databázi. Když tyto uložené znaky poté chceme zobrazit uživateli je potřeba lomítka odstranit pomocí funkce stripslashes() (viz ukázka kódu 1). Obr. 17: Převedení nebezpečných znaků na bezpečné SQL injection je technika útoku, kdy útočník vloží do neošetřeného uživatelského vstupu sql dotaz. Díky tomu může vkládat, měnit a mazat informace v databázi. Obranou je ošetření uživatelských vstupů pomocí funkce mysql_real_escape_string(), jak je uvedeno v předešlém odstavci. XSS je útok, kdy útočník vloží do stránky škodlivý html kód nebo javascriptový kód. To může využít k znefunkčnění stránek, změnění vzhledu nebo k získávání informací od uživatele. Ochrana proti takovému typu útoku je filtrovat informace od uživatele, které zobrazujeme funkcí htmlspecialchars(). Tato funkce převádí znaky jako < > na html entity (viz obr. 18). V eshopu se jedná např. o zobrazení informací o uživateli v horní části stránky (viz ukázka kódu 1). Obr. 18 Převedení nebezpečných znak na html entity Položek: <?php echo stripslashes(htmlspecialchars($kosik>getpocet()));?><br> Cena: <?php echo stripslashes(htmlspecialchars($kosik>getcena()));?>, Kč Ukázka kódu 1: Užití funkcí stripslashes() a htmlspecialchars() ve výpisu informací košíku 29

30 Bezpečnost XSRF útok je založen na neočekávaném požadavku uživatele. Tento požadavek však není legitimní. Některé stránky se dají často lehce odhadnout jako i v našem případě admin.php. Ochrana proti přítupu někoho neautorizovaného je znázorněna v ukázce kódu 2. Další ochranou je, že všechny důležitá data jsou přenášena pomocí metody post. Vyjímku tvoří jen informace přenášené o aktuální stránce ve výpise zboží a při vyhledávání. if (isset($uzivatel)) { if ($uzivatel>getrole() > 1) { /*administrační stránka*/ }} Ukázka kódu 2: Zabezpečení proti vstupu do administrační části Dalším typem útoku je nahrání škodlivého kódu na server. V tom případě by na straně serveru mohl škodlivý kód způsobit velké škody. Řešením je kontrolovat upload souboru od typu po velikost souboru (viz ukázka kódu 3). V našem eshopu je toto ošetřeno také tím, že nahrát obrázek může pouze admin. $current_image=$_files['image']['name']; $typ = substr(strrchr($current_image, '.'), 1); if (!(($typ == "jpg") ($typ == "png"))) {} if($typ=="jpg"){$im=imagecreatefromjpeg($_files['image']['tmp_name']);} if($typ=="png"){$im=imagecreatefrompng($_files['image']['tmp_name']);} if(imagesx($im)>180 imagesy($im)>70){ /*ošetření*/} Ukázka kódu 3: Zabezpečení nahrávaného souboru Ochrana hesla je jednou z nejdůležitějších věcí. Ukládat heslo jako čistý text je velká chyba. Sice je jednoduché zjistit heslo uživateli při zapomenutí a poslat mu ho, ale přinejmenším heslo uživatele bude znát administrátor a vývojář aplikace. Jedná se tedy o bezpečnostní riziko. Správnou možností je tedy z hesla vytvořit pouze hash a ten uložit. Existují funkce, které tyto hashe vytváří. V této aplikaci jsem zvolil funkci sha1(), která vždy vrací 40 znaků. Z tohoto hashe se poté původní řetězec nedá zjistit. 4.4 Implementace spojení s databází Spojení aplikace a databáze je velmi důležité. Jak bylo řečeno v kapitole 2.2 PHP dobře podporuje propojení s MySQL. Důležitým aspektem je také, aby aplikace mohla být rozšířitelná např. při přechodu z MySQL na Oracle. Proto byly vytvořeny třídy DB a DBConnection, které implementují toto spojení pomocí MySQL API. Postačila by i jedna třída, ale zde byly zvoleny 30

31 Komunikace mezi stránkami dvě, aby měly vyšší cohesion (účelovost). Jde o to, aby třídy nedělali moc odlišných věcí. Třída DBConnection se stará o připojení k databázi, výběr databáze, příkaz query, zavření spojení. Na ní je závislá třída DB. Ta obsahuje již implementace funkcí select, selectlimit, insert, update, delete, fetch_array, free_result, getid. Pro prvních pět funkcí jsou potřebné údaje předány v parametru. Při přechodu např. na Oracle by tedy stačilo vyměnit pouze tyto dvě třídy. V celé aplikaci se tedy vytváří objekt DB, když je potřeba spojení s databází. Jedná se především o header.php, všechny stránky Controllerxxx.php. 4.5 Komunikace mezi stránkami K udržení stavu aplikace můžeme v PHP použít 4 možnosti: skrytá pole, obohacování odkazů, cookies a sessions. Skrytá pole jsou použita u některých formulářů Profilů jako např. ProfilObjednavek.php, když jsou potřeba další údaje pro Controllerxxx.php, které ve formuláři nejsou. V případě našich objednávek se jedná o IDU. IDU je unikátní ID uživatele, podle kterého si Controller najde správného uživatele v databázi, který objednávku vytvořil. Obohacování odkazů již není nejlepší možnost předání proměnné. Proměnné jsou totiž vidět v adrese stránky. Tento typ přenášení proměnných se většinou používá pro filtrování dotazů a věcí, které nemohou ohrozit bezpečnost aplikace. Výsledné proměnné se poté nachází v poli $_GET[ ]. V eshopu je tato technika použita jen pro vyhledávání, filtrování zboží podle kategorií a stránkování. Důvod je jednoduchý, nejedná se o nebezpečná data. Veškeré formuláře v eshopu používají metodu post, kvůli bezpečnosti. Cookies je technologie, která je založena na tom, že server ukládá informace přímo na klientovi. Využít se dají např. na počitadlo návštěv, ale je zde hrozba toho, že kdokoli si vypůjčí Váš počítač, tak tyto informace vidí a může je i použít. Cookies na klientovi totiž nejsou nijak chráněné. Tato varianta předávání proměnných v eshopu nebyla použita. Pro udržování stavu aplikace je velmi vhodná poslední varianta a to pomocí sessions. Jedná se o kombinaci cookies a lokální databáze. Přístup k těmto proměnným je poté přes pole $_SESSION[ ]. Nejprve server přidělí session identifikátor (PHPSESSID) a vyhradí si v databázi místo pro tyto session proměnné. Výhodou oproti jiným metodám je, že se posílá pouze tento identifikátor session (viz obr. 19). 31

32 Komunikace mezi stránkami Obr. 19: Sessions v PHP (převzato z lit. 1) V navrhovaném eshopu jsou sessions použity na přenášení nejen proměnných jako řetězce $_SESSION['upozorneni']. Tato proměnná slouží k přenášení řetězců jako špatně vyplněný formulář, nepovolený přístup, objednávka přijata apod. Pomocí sessions se dají také přenášet celé objekty. Rozdíl oproti proměnným je, že se objekt musí serializovat před uložením do session. A když tento objekt chcete použít musí se deserializovat. V eshopu jsou takto přenášeny nejčastěji objekty košik a uživatel. 4.6 Implementace usecase Zobrazení, přidávání a rozesílání aktualit Novinky může uživatel vidět na hlavní stránce index.php (viz obr. 20). Jedná se o klasický výpis z tabulky Novinky (viz ukázka kódu 4). Obr. 20: Novinky 32

33 Zobrazení, přidávání a rozesílání aktualit echo '<div class="novinky">'; $co = "*"; $odkud = "Novinky"; $podminka = '0=0'; $db>select($co, $odkud, $podminka); echo '<div class="shadow">novinky<hr></div>'; if ($db>pocet_radku() == 0) { echo '<h2>momentálně neexistují žádné novinky.</h2>'; } else { while ($row = $db>fetch_array()) { echo '<div class="novinkynadpisy">'. stripslashes($row['predmet']). ' [' stripslashes($row['datum']).. ']</div> '. stripslashes($row['obsah']).''; }$db>free_result();}echo '</div>'; Ukázka kódu 4: Výpis novinek Novinky může vkládat pouze administrátor. Každá novinka se poté objeví nejen na hlavní stránce, ale také se rozešle jako všem uživatelum eshopu. Administrátor se dostane na tuto funkčnost přes odkaz Správa serveru. Tento use case je implementován přes admin.php, kde admin napíše aktualitu, předmět a formulář odešle (viz obr. 21). Data se odešlou na ControllerNovinky.php. Tam se Novinka uloží a odešle všem uživatelům jako mail (viz ukázka kódu 5). V této ukázce je použit příkaz header("location: ". $_SESSION['ref']), tato funkce přesměruje stránku jinam. V našem případě a to i v případě všech funkcí košíku, jak bude vidět v dalších kapitolách, přesměruje na stránku předešlou. V proměnné $_SESSION['ref'] je uložena adresa předchozí stránky. Uložení se provádí při každé návštěvě stránky, kdy v header.php je vytvořen objekt URL a zavolána metoda selfurl(). Ta uloží adresu do session. 33

34 Zobrazení, přidávání a rozesílání aktualit Obr. 21: Administrační část novinek $co = "*"; $odkud = "Uzivatel"; $podminka = "0=0"; $db>select($co, $odkud, $podminka); while($row = $db>fetch_array()) { mail($row[' '], $_POST['predmet'], $_POST['novinky']);} $db>free_result(); $datum = date('ymd H:i:s'); $kam = "Novinky"; $co = "predmet, obsah, datum"; $hodnoty = '"'.$_POST['predmet'].'","'.$_POST['novinky'].'","'.$datum. '"' ; $db>insert($kam,$co,$hodnoty); header("location: ". $_SESSION['ref']); exit(); Ukázka kódu 5: Uložení a rozesílání novinek Uživatelské účty Funkce s uživatelskými účty zahrnuje registraci, přihlášení, odhlášení, změnu vlastních údajů a smazání účtu. Admin poté může ještě měnit ostatní účty (kromě hesel) a mazat je. Registraci nového účtu je možné pod odkazem Registrace na hlavní stránce. Ten nás odkáže na profiluzivatele.php. Po vyplnění a odeslání formuláře na controlleruzivatele.php je formulář nejprve zkontrolován pomocí javascriptové kontroly a poté ještě na serverové části. Jak již bylo zmíněno v kapitole 4.2 je to kvůli tomu, že javascript lze v prohlížeči vypnout. Controller účet vytvoří, přihlásí uživatele a pošle na uživatele zprávu o vytvoření účtu. 34

35 Uživatelské účty Přihlášení je realizováno podobně. Formulář se zobrazuje pod odkazem Přihlásit. Vstupní údaje jsou zkontrolovány jak na klientské straně tak na straně serveru. To znamená, že uživatel neposílá prázdná pole. Kontrola hesla by vyžadovala spojení s databází. Na straně serveru kontrola probíhá v controlleruzivatele.php. Controllery poznají co mají udělat podle hodnoty submit tlačítka v tomto případě value= Přihlásit. Controller porovná údaje (u hesla si převede zadané heslo na hash a porovná s hashem v databázi) a buď přihlásí uživatele nebo ne. Vždy vrací nějaké upozornění v session proměnné pro uživatele co se stalo. Odhlásit se uživatel může pomocí tlačítka Odhlásit. Přenese nás na stránku controlleruzivatele.php. Zde controller smaže obsah session, zničí je a přesměruje na hlavní stránku (viz ukázka kódu 6). Odlášený uživatel totiž nepotřebuje objekt košíku, který je uložen v session, takže je vše v pořádku. session_unset(); session_destroy(); header('location: index1.php'); exit(); break; Ukázka kódu 6: Odhlášení uživatele Při změně údajů je potřeba klinout na odkaz Profil. Znova se ocitneme na stránce profiluzivatele.php, ale jsme již přihlášeni, takže textboxy jsou vyplněny údaji ze session objektu uživatele kromě hesla. Heslo je totiž stejně zahashováno a zpětná cesta neexisuje. Pro úpravu těchto údajů je povinné vyplnit staré heslo. Toto je bezpečnostní opatření proti tomu, kdyby někdo odešel od počítače a někdo k němu přišel a chtěl měnit údaje. V tomto formuláři je nejen možnost úpravy údajů, ale také je zde tlačítko na smazání účtu. Zde javascript vždy zobrazí kontrolní hlášku, jestli se náhodou uživatel nepřeklikl (viz obr 22). Obr. 22: Javascriptové upozonění před smazáním účtu 35

36 Uživatelské účty Administrátor navíc může měnit nejen vlastní účet, ale hlavně může měnit roli uživatelů. Avšak nemůže měnit heslo uživatelů. Změna údajů uživatele se nachází na odkazu Správa serveru, kde na admin.php v sekci Správa uživatelů vybere uživatele, kterého bude měnit. Tato část se musí kontrolovat, jestli je uživatel přihlášen a jestli má roli adminitrátora Vyhledávání a zobrazování zboží Každý uživatel má možnost nalézt zboží nejen podle kategorie v levém menu každé stránky (viz obr. 14), ale také podle zadaného názvu nebo části textu v popisu zboží do textboxu s tlačítkem vyhledat (viz obr. 23). Výpis kategorií a vyhledávací textbox se nachází v hlavičce (header.php) každé stránky php, které uživatel vidí. Obr. 23: Vyhledávací textbox Při výběru kategorie z levého menu eshop uživatele odkáže na stránku view_kategorie.php, kde se zobrazí zboží z této kategorie. Protože může být v jedné kategorii hodně zboží, je zde naimplementováno stránkování v rozsahu deseti zboží (viz obr. 24). Proměnnou page si předáváme pomocí obohacování odkazů. Nejedná se o citlivou informaci, takže to neoslabuje bezpečnost aplikace. Obr. 24: Stránkování Vyhledávání zboží je naprogramováno tak, že při zadání textu do vyhledávacího textboxu je uživatel přesměrován do search.php, kde je vstup ošetřen pomocí funkce mysql_real_escape_string() a použita metoda select třídy DB k dotazu na databázi a výsledek je vypsán uživateli. Dotaz na databázi vypadá jako ukázka kódu 7. Při kliknutí na odkaz na zboží je přenesen na stránku view_zbozi.php, která zboží zobrazí. 36

37 Vyhledávání a zobrazování zboží $hledaneslovo = mysql_real_escape_string($_get['keywords']); $co = "*"; $odkud = "Zbozi"; $podminka = 'nazev LIKE "%'. $hledaneslovo. '%" OR popis LIKE "%'. $hledaneslovo. '%"'; $db>select($co, $odkud, $podminka); Ukázka kódu 7: Dotaz na vyhledání zboží Podle tohoto dotazu by se mohlo zdát, že asymptotická složitost je lineární. Avšak sloupce název a popis v databázi jsou označeny jako index (viz obr 25). Index je pomocná datová struktura, která urychluje hledání dat v tomto sloupci. Většinou se používá datová struktura halda, takže asymptotická složitost je logaritmická. Přirozeně v databázích jsou takto uloženy primární klíče, protože podle nich se většinou dotazujeme. Je ale pravdou, že toto uspořádání v databázi obecně zpomaluje operace insert, update a delete. Naproti tomu je výhodou, že engine InnoDB podporuje cizí klíče. Existovala zde ještě jedna možnost a to použít fulltextové vyhledávání. Bohužel engine InnoDB toto nepodporuje. Pro fulltextové vyhledávání by se musel použít engine MyISAM. Fulltextové vyhledávání je více optimalizované než běžné, které jsme použili v ukázce kódu 7, ale poté bychom neměli cizí klíče (MyISAM je nepodporuje) a museli bychom při smazání kategorie ošetřit mazání všech zboží ručně, které v této kategorii byly. Tato varianta by byla však pracnější a náročnější. Obr. 25: Důležité sloupce označny jako index Funkce košíku Všechny funkce košíku u eshopu jsou velmi důležité. Mezi tyto funkce patří: přidání zboží do košíku, odstranění zboží z košíku, změnu počtu zboží, vyprázdnit celý košík, odeslat objednávku i s vytvořením faktury. 37

38 Funkce košíku Přidání zboží do košíku je možné pomocí tlačítka Přidat do košíku u každého zboží v dané kategorii. Každé zboží je formulář, při kliknutí na tlačítko Přidat do košíku se tento formulář odešle na controllerkosiku.php i s informacemi o zboží. Controller nejprve zkontroluje, jestli vůbec objekt košíku v session existuje a deserealizuje ho. Pokud neexisuje, tak ho vytvoří. Poté vytvoří objekt zboží a zkontroluje, zda již zboží není v košíku. V objektu košík je pole $seznamzbozi, které uchovává objekty zboží. Pokud se zboží v poli $seznamzbozi nachází (porovnávají se ID objektů), tak se jen přičte počet zboží ke stávajícímu počtu. Pokud se objekt v poli nenachází tak se do něj uloží. Objekt košíku se uloží do session a také se do session uloží zpráva 'Zboží přidáno do košíku!', aby byl uživatel informován co se děje. Poté pomocí funkce header se přesměrujeme na poslední stránku, která byla uložena v session. Ve výsledku uživatel přidá zboží a ani neví, že navštívil stránku controllerkosiku.php. Pro další funce je potřeba kliknout na odkaz košík. Ten nás přesměruje na stránku profilkosiku.php. Zde jsou vypsány všechny položky košíku (viz obr. 26). V implementaci to znamená, že každé vypsané zboží je formulář, které odesílá informace o zboží metodou POST na controllerkosiku.php. Také se v session přenáší objekty uživatel a košík. Jak je na tomto obr. 26 vidět, košík si explicitně uchovává počet položek a celkovou cenu, kterou může uživatel vidět neustále v horní části stránky. Všechny funkce jsou založeny na komunikaci s controllerkosiku.php, který komunikuje s databází a přesměruje uživatele zpět. Obr. 26: Košík eshopu a jeho funkce 38

39 Funkce košíku Tlačítko Odebrat u daného zboží v košíku odešle formulář na controllerkosiku.php, kde controller najde objekt zboží podle ID v poli $seznamzbozi v objektu košíku a smaže ho. Funkce tlačítka Změnit u daného zboží je velmi podobná. Controller najde zboží v poli a změní počet. Dále také opraví celkovou cenu a celkový počet zboží v košíku. Tlačítko Vyprázdnit celý košík je implementováno v controlleru tak, že přepíše celý objekt košíku na null a uloží ho do session, viz ukázka kódu 8. $_SESSION['kosik'] = null; $_SESSION['upozorneni'] = 'Košík byl vyprázdněn!'; header("location: ". $_SESSION['ref']); exit(); Ukázka kódu 8: Vyprázdnění celého košíku Objednání zboží v košíku je implementováno v controlleru tak, že nejprve vytvoří záznam v tabulce objednávky, který odkazuje cizím klíčem na záznam uživatele v databázi. Tento záznam objednávky je poté spojen se záznamem v tabulce ZboziHistorie přes tabulku Obsahuje. Stav u objednávky je nastaven na nevyřízená. Controller nyní ještě vytvoří fakturu instanční metodou vytvorfakturu() objektu košíku. Třída Košík pro vytváření faktury v pdf formátu využívá knihovnu fpdf. Metoda vytvorfakturu() byla rozdělena na několik částí. První část vytvoří objekt FPDF, vytvoří stránku a nastaví font, který byl překonvertován na správné kódování a to windows cp1250. Zde je dobré podotknout, že veškerý obsah stránek, tabulky v databázi i jejich sloupce jsou kódovány v utf8. Problém s touto knihovnou je, že nepodporuje utf8 a pro češtinu si musíte překonvertovat font do správného kódování. Řešení v navrženém eshopu tedy je, aby všude fungovala čeština, že jen ta část stránky generující fakturu je v kódování windows cp1250. Druhá část obsahuje hlavičku faktury, třetí tělo a čtvrtá zavře dokument a uloží fakturu do souboru typu pdf s názvem jeho id. Ukázka kódu 9 ukazuje nejdůležitější příkazy a to pro vepsání textu a nakreslení rámečku do pdf. $pdf>setxy(450, $x); $pdf>write(24,'faktura '.$IDO.'/'.date("Y")); $zpusobrameceky = 600; $pdf>setxy($ramecek, $zpusobrameceky); $pdf>cell(270,80,'',1,1,'c'); Ukázka kódu 9: Ukázky práce s knihovnou fpdf 39

40 Funkce košíku Na závěr controller odešle administrátorům o nové objednávce a uživateli o tom, že objednávka byla přijata Správa zboží a kategorií Správu zboží a kategorií může dělat pouze administrátor. Kategorie může přidávat, přejmenovávat a mazat. U mazání celé kategorie smaže i všechno zboží v té kategorii. Zboží může přidat, měnit údaje i nahrát jiný obrázek a mazat. Tyto use cases se nachází pod odkazem Správa serveru. U kategorií je jednoduší postup než u zboží. Funkce jsou přímo zde a nemusíme tedy být nikam přesměrováni (viz obr 27). Zde přímo uživatel zadá název nové kategorie pro její přidání a odešle pomocí tlačítka Přidat novou kategorii. Název kategorie je poslán na controllerkategorii.php, který vytvoří novou kategorii v databázi. Pro přejmenování kategorie uživatel vybere existující kategorii, zadá nový název a odešle pomocí tlačítka Přejmenovat kategorii. Pro smazání stačí jen vybrat existující kategorii a smazat pomocí tlačítka Smazat kategorii. K zpracování těchto dvou akcí slouží znovu controllerkategorii.php. Obr. 27: Správa kategorií U zboží je situace trochu komplikovanější. U zboží je více položek, které můžeme měnit. Proto v této části jsou dvě možnosti: přidat nové zboží a upravit (viz obr 28). Při změně musí uživatel vybrat zboží z rolovací lišty, které bude upravovat. 40

41 Správa zboží a kategorií Obr. 28: Správa zboží Obě možnosti uživatele přesměrujou na profilzbozi.php (viz obr. 29). Když upravujeme zboží tak jsou hodnoty přednastaveny. Při vytváření nového zboží jsou prázdné. Zde je navíc možnost smazání existujícího zboží pomocí tlačítka Smazat zboží, při vytváření zboží zde toto tlačítko není. Obr. 29: Úprava zboží Zde je velmi důležité ošetřit vstup nahrávání obrázku. Sice je pravda, že nahrávat může jen administátor, u kterého se nepředpokládá útok na vlastní server, ale přesto není zaručena 100% bezpečnost toho vstupu. Existují dvě řešení tohoto problému. Buď uložit obrázek na server do připravené složky a do databáze si uloží jeho název. Nebo druhou možností je uložit 41

42 Správa zboží a kategorií obrázek do databáze do sloupce typu blob jako binární data. Výhodou prvního řešení je menší režie databáze a také je načítání souboru rychlejší. Proto jsem v této práci zvolil první možnost. Ošetření takového nahrávání obsahuje kontrolu nejprve typu souboru, která pustí jen obrázky typu png a jpg. Obrázek typu gif schválně nechceme nahrávat, aby eshop působil seriózněji. Gif animace by příliš odváděly pozornost zákazníka od výběru zboží. Další věc, která se kontroluje je velikost souboru a jeho rozměry. Poté obrázek zkopíruje do adresáře img/zboží s unikátním názvem, vytvořeného podle času a datumu. Tento název se uloží do databáze ke zboží Správa objednávek Spravovat objednávky může pouze administrátor. Nachází se pod odkazem Správa serveru. Na obr. 30 je vidět, že jsou zde dva výpisy: Vypsat všechny objednávky a vypsat nevyřízené objednávky. Obr. 30: Úprava zboží Obě dvě tlačítka tlačítka stránku přesměrují na profilobjednavek.php. V obou případech je výsledkem výpis objednávek (viz obr. 31). V prvním případě všech objednávek a v druhém jen nevyřízených. Obr. 31: Výpis objednávek Pro prohlédnutí objednávky ji stačí vybrat kliknutím na tlačítko Prohlédnout. To nás přenese na stránku profilobjednavky.php (viz obr. 32). 42

43 Správa objednávek Obr. 32: Ukázka výpisu objednávky Tlačítko Smazat smaže danou objednávku z databáze a tlačítko Nastavit jako vyřízená nastaví stav objednávky na vyřízenou. Tyto akce jsou provedeny přes controllerobjednavek.php. Poslední tlačítko Faktura otevře fakturu ve formátu pdf pro danou objednávku, která je znázorněna na obr. 33. Obr. 33: Ukázka faktury 43

44 Použité javascripty 4.7 Použité javascripty Kromě všech javascriptových ošetření formulářů, byl vytvořen ještě jeden skript. Jedná se o nadpis.js. Při najetí kurzoru na logo firmy změní obrázek ve formátu png za animovaný obrázek ve formátu gif. A při přejetí kurzoru pryč zase vrátí původní obrázek, viz ukázka kódu 10. Tento efekt zviditelní funkcionalitu loga jako odkaz na hlavní stránku. Také upoutá pozornost uživatele, ale efekt zde není napořád, aby uživatele nerušila (např. při výběru zboží). function mouseoverimage1() { document.getelementbyid("nadpisimg").src = "img/nadpisotacejici.gif"; } function mouseoutimage1() { document.getelementbyid("nadpisimg").src = "img/nadpis.png"; } <a href="index1.php" title="eshop Eurocontracts"> <img id="nadpisimg" src="img/nadpis.png" alt="eshop Eurocontracts" onmouseover="mouseoverimage1()" onmouseout="mouseoutimage1()"></a> Ukázka kódu 10: Javascriptový efekt loga 4.8 Stránkování Stránkování zde můžeme implementovat dvěma způsoby. První možnost by byla uložit si všechny záznamy z databáze a na straně serveru je poté filtrovat. Nevýhoda tohoto řešení je patrná, u většího počtu záznamů zatěžuje databázi. Druhá možnost je filtrovat výběr přímo u dotazu na databázi. V této aplikaci byla použita druhá možnost. Stránkování je implementováno v rozsahu 10 zobrazených položek. Nejprve je potřeba zjistit, jestli nějaká stránka je nastavená (viz ukázka kódu 11). ($page1)*10 znamená, že potřebujeme na první stránce začínat zbožím s indexem 0, na druhé stránce indexem 10. Index zde představuje index v poli zboží v objektu košík. if (isset($_get["page"])) { $page = $_GET["page"]; } else { $page=1; } $start_from = ($page1) *10; Ukázka kódu 11: Zjištění stránky pro výpis Poté se musí upravit dotazový příkaz (viz ukázka kódu 12). Je zde vidět, že vybíráme přesný rozsah z databáze. Výpis je stejný jako na jiných stránkach, změna přichází na dolní části stránky, kde je výpis stránek (viz ukázka kódu 13). 44

45 Stránkování $co = "*"; $odkud = "Zbozi"; $podminka = 'IDKategorie = "'. $IDKategorie. '"'; $limit = $start_from.', 10 '; $db>selectlimit($co, $odkud, $podminka, $limit); Ukázka kódu 12: Dotaz na databázi pro data již v určeném rozsahu pomocí klíč. slova limit $co = "COUNT(IDZ)"; $odkud = "Zbozi"; $podminka = 'IDKategorie = "'. $IDKategorie. '"'; $db>select($co, $odkud, $podminka); $row = $db>fetch_array(); $pocetudaju = $row[0]; $pocetstranek = ceil($pocetudaju / 10); echo '<div class="center">'; for ($i=1; $i<=$pocetstranek; $i++) { if($i==$page){ echo "<span class='vetsi'> ".$i."</span> "; }else{ echo "<a class='stredoveodkazy' href='view_kategorie.php?idkat=". $IDKategorie."&kat=".$Kategorie."&page=".$i."'>".$i."</a> "; } } echo '</div>'; Ukázka kódu 13: Výpis stránek 4.9 Validace html a css Aplikace této práce prošla validací jak html validátoru tak css validátoru (viz obr. 34). Obr. 34: Výsledky validátorů html a css 45

46 Validace html a css Validátor css našel pouze některé varování a to se týkalo použitých css3, které zatím tento validátor ne zcela podporuje (viz obr. 35). Stránky byly spouštěny pod různými prohlížeči a grafický výsledek byl vždy velmi podobný. Jediná odlišnost je stín pod prostředním prvkem stránky. Tento css3 styl podporuje zatím jen prohlížeč firefox. Obr. 35: Varování ohledně použitých css3 stylů 46

1 Webový server, instalace PHP a MySQL 13

1 Webový server, instalace PHP a MySQL 13 Úvod 11 1 Webový server, instalace PHP a MySQL 13 Princip funkce webové aplikace 13 PHP 14 Principy tvorby a správy webového serveru a vývojářského počítače 14 Co je nezbytné k instalaci místního vývojářského

Více

Rezervační systém Tvorba WWW stránek

Rezervační systém Tvorba WWW stránek 2012 Rezervační systém Tvorba WWW stránek Vytvoření rezervačního systému pro rezervaci motokár,ubytování a atrakcí Marek Svoboda Motokáry Motobydlo 30.12.2012 Obsah 1.Základní charakteristika... 3 a) Téma

Více

Uživatelská příručka 6.A6. (obr.1.)

Uživatelská příručka 6.A6. (obr.1.) Uživatelská příručka 6.A6 Na stránky se dostanete zadáním URL adresy: http://sestasest.tym.cz do vašeho prohlížeče. Teď jste se dostali na úvodní stránku, na které vidíte fotku, přivítání, odkaz na Uživatelskou

Více

1. Webový server, instalace PHP a MySQL 13

1. Webový server, instalace PHP a MySQL 13 Úvod 11 1. Webový server, instalace PHP a MySQL 13 Princip funkce webové aplikace 13 PHP 14 Principy tvorby a správy webového serveru a vývojářského počítače 14 Co je nezbytné k instalaci místního vývojářského

Více

PTÁČEK - velkoobchod. eshop. ZÁKAZNICKÝ pracovní postup

PTÁČEK - velkoobchod. eshop. ZÁKAZNICKÝ pracovní postup PTÁČEK - velkoobchod eshop ZÁKAZNICKÝ pracovní postup 2009 Obsah Úvod... 3 Autorizace... 3 Přihlášení... 4 Odhlášení... 4 Změna hesla editace uživatele... 4 Hlavní stránka Před přihlášením... 4 Výběr Produktu

Více

Úvodem 9. Zpětná vazba od čtenářů 10 Zdrojové kódy ke knize 10 Errata 10. Než začneme 11

Úvodem 9. Zpětná vazba od čtenářů 10 Zdrojové kódy ke knize 10 Errata 10. Než začneme 11 Obsah Úvodem 9 Zpětná vazba od čtenářů 10 Zdrojové kódy ke knize 10 Errata 10 Kapitola 1 Než začneme 11 Dynamické vs. statické stránky 11 Co je a k čemu slouží PHP 12 Instalace potřebného softwarového

Více

TECHNICKÁ DOKUMENTACE SOCIÁLNÍ SÍŤ MRSHARE. David Malát, Adam Novák, David Vurbs, Dominik Walta. SPŠ Na Proseku 2012/13. Pod velením Davida Vurbse

TECHNICKÁ DOKUMENTACE SOCIÁLNÍ SÍŤ MRSHARE. David Malát, Adam Novák, David Vurbs, Dominik Walta. SPŠ Na Proseku 2012/13. Pod velením Davida Vurbse TECHNICKÁ DOKUMENTACE SOCIÁLNÍ SÍŤ MRSHARE David Malát, Adam Novák, David Vurbs, Dominik Walta SPŠ Na Proseku 2012/13 Pod velením Davida Vurbse Zadání práce Adam Novák-Vytvořit zeď a její funkce a technickou

Více

Obsah přednášky. Představení webu ASP.NET frameworky Relační databáze Objektově-relační mapování Entity framework

Obsah přednášky. Představení webu ASP.NET frameworky Relační databáze Objektově-relační mapování Entity framework Web Jaroslav Nečas Obsah přednášky Představení webu ASP.NET frameworky Relační databáze Objektově-relační mapování Entity framework Co to je web HTTP protokol bezstavový GET POST HEAD Cookies Session HTTPS

Více

MBI - technologická realizace modelu

MBI - technologická realizace modelu MBI - technologická realizace modelu 22.1.2015 MBI, Management byznys informatiky Snímek 1 Agenda Technická realizace portálu MBI. Cíle a principy technického řešení. 1.Obsah portálu - objekty v hierarchiích,

Více

Redakční systém Joomla. Prokop Zelený

Redakční systém Joomla. Prokop Zelený Redakční systém Joomla Prokop Zelený 1 Co jsou to red. systémy? Redakční systémy (anglicky Content Management System - CMS) jsou webové aplikace používané pro snadnou správu obsahu stránek. Hlavním cílem

Více

STŘEDNÍ ŠKOLA INFORMAČNÍCH TECHNOLOGIÍ A SOCIÁLNÍ PÉČE

STŘEDNÍ ŠKOLA INFORMAČNÍCH TECHNOLOGIÍ A SOCIÁLNÍ PÉČE STŘEDNÍ ŠKOLA INFORMAČNÍCH TECHNOLOGIÍ A SOCIÁLNÍ PÉČE WEBOWÉ STRÁNKY TŘÍD KAMIL POPELKA ZÁVĚREČNÁ MATURITNÍ PRÁCE BRNO 2011 Prohlášení Prohlašuji, že maturitní práce je mým původním autorským dílem, které

Více

1 Administrace systému 3. 1.3 Moduly... 3 1.4 Skupiny atributů... 4 1.5 Atributy... 4 1.6 Hodnoty atributů... 4

1 Administrace systému 3. 1.3 Moduly... 3 1.4 Skupiny atributů... 4 1.5 Atributy... 4 1.6 Hodnoty atributů... 4 CRM SYSTÉM KORMORÁN PŘÍRUČKA ADMINISTRÁTORA Obsah 1 Administrace systému 3 1.1 Uživatelské účty.................................. 3 1.2 Přístupová práva................................. 3 1.3 Moduly.......................................

Více

Uživatelská dokumentace

Uživatelská dokumentace Uživatelská dokumentace Verze 14-06 2010 Stahování DTMM (v rámci služby Geodata Distribution) OBSAH OBSAH...2 1. O MAPOVÉM SERVERU...3 2. NASTAVENÍ PROSTŘEDÍ...3 2.1 Hardwarové požadavky...3 2.2 Softwarové

Více

Athena Uživatelská dokumentace v

Athena Uživatelská dokumentace v Athena Uživatelská dokumentace v. 2.0.0 OBSAH Obsah... 2 Historie dokumentu... 3 Popis systému... 4 Založení uživatele... 5 Přihlášení uživatele... 7 První přihlášení... 8 Založení profilu zadavatele/dodavatele...

Více

Ing. Přemysl Brada, MSc., Ph.D. Ing. Martin Dostal. Katedra informatiky a výpočetní techniky, FAV, ZČU v Plzni

Ing. Přemysl Brada, MSc., Ph.D. Ing. Martin Dostal. Katedra informatiky a výpočetní techniky, FAV, ZČU v Plzni Webové aplikace Ing. Přemysl Brada, MSc., Ph.D. Ing. Martin Dostal Katedra informatiky a výpočetní techniky, FAV, ZČU v Plzni Harmonogram Dopolední blok 9:00 12:30 Ing. Dostal Úvod, XHTML + CSS Ing. Brada,

Více

WORKWATCH ON-LINE EVIDENCE PRÁCE A ZAKÁZEK

WORKWATCH ON-LINE EVIDENCE PRÁCE A ZAKÁZEK WORKWATCH ON-LINE EVIDENCE PRÁCE A ZAKÁZEK Systém WorkWatch je určen pro malé a střední firmy, které se zabývají službami nebo zakázkovou výrobou. Zajistí dokonalý přehled o všech zakázkách a jejich rozpracovanosti.

Více

PHP PHP je skriptovací programovací jazyk dynamických internetových stránek PHP je nezávislý na platformě

PHP PHP je skriptovací programovací jazyk dynamických internetových stránek PHP je nezávislý na platformě PHP PHP původně znamenalo Personal Home Page a vzniklo v roce 1996, od té doby prošlo velkými změnami a nyní tato zkratka znamená Hypertext Preprocessor. PHP je skriptovací programovací jazyk, určený především

Více

Individuální projekt z předmětu webových stránek 2012/2013 - Anketa

Individuální projekt z předmětu webových stránek 2012/2013 - Anketa Individuální projekt z předmětu webových stránek 2012/2013 - Anketa Daniel Beznoskov, 2 IT A Skupina 1 Úvod Prohlášení o autorství Prohlašuji, že jsem individuální projekt z předmětu webových stránek na

Více

Internetový obchod Mironet

Internetový obchod Mironet České vysoké učení technické v Praze Fakulta elektrotechnická Internetový obchod Mironet Semestrální práce A2 Testování uživatelských rozhraní A4B39TUR Pavel Štíbal Stibapa1@fel.cvut.cz 2013/2014 Otevřená

Více

DELTA - STŘEDNÍ ŠKOLA INFORMATIKY A EKONOMIE, s.r.o. Obor informační technologie AJAX ESHOP. Maturitní projekt. Třída:

DELTA - STŘEDNÍ ŠKOLA INFORMATIKY A EKONOMIE, s.r.o. Obor informační technologie AJAX ESHOP. Maturitní projekt. Třída: DELTA - STŘEDNÍ ŠKOLA INFORMATIKY A EKONOMIE, s.r.o. Obor informační technologie AJAX ESHOP Maturitní projekt Vypracoval: Denis Ptáček Třída: 4B Rok: 2014/2015 Obsah 1. Použité nástroje... 3 1.1 NetBeans

Více

rychlý vývoj webových aplikací nezávislých na platformě Jiří Kosek

rychlý vývoj webových aplikací nezávislých na platformě Jiří Kosek rychlý vývoj webových aplikací nezávislých na platformě Jiří Kosek Co je to webová aplikace? příklady virtuální obchodní dům intranetový IS podniku vyhledávací služby aplikace jako každá jiná přístupná

Více

PROFI TDi s.r.o. 696 37, Želetice 40 www.profi-tdi.cz info@profi-tdi.cz. Návod k používání systému OTDI.CZ

PROFI TDi s.r.o. 696 37, Želetice 40 www.profi-tdi.cz info@profi-tdi.cz. Návod k používání systému OTDI.CZ Návod k používání systému OTDI.CZ Vážený kliente. Děkujeme za projevený zájem o náš on-line systém evidence kontrol, určený speciálně pro účely dozorů staveb. Systém OTDI.CZ nabízí svým uživatelům zejména:

Více

8.2 Používání a tvorba databází

8.2 Používání a tvorba databází 8.2 Používání a tvorba databází Slide 1 8.2.1 Základní pojmy z oblasti relačních databází Slide 2 Databáze ~ Evidence lidí peněz věcí... výběry, výpisy, početní úkony Slide 3 Pojmy tabulka, pole, záznam

Více

TAOX Konfigurátor potisku seznam funkcí

TAOX Konfigurátor potisku seznam funkcí TAOX Konfigurátor potisku seznam funkcí Úvod Celý systém se dělí na několik částí. A to jak z pohledu uživatele (zákazníka), tak z pohledu administrátora. Konfigurátor aplikace na tvorbu potisku (dělí

Více

FAKULTA INFORMAČNÍCH TECHNOLOGIÍ SPOLEČNOST DECADIC PROJEKT FRAMETRIX

FAKULTA INFORMAČNÍCH TECHNOLOGIÍ SPOLEČNOST DECADIC PROJEKT FRAMETRIX FAKULTA INFORMAČNÍCH TECHNOLOGIÍ ÚSTAV INFORMAČNÍCH SYSTÉMŮ MANAGEMENT PROJEKTŮ SPOLEČNOST DECADIC PROJEKT FRAMETRIX SPECIFIKACE POŽADAVKŮ AUTOR DOKUMENTU JIŘÍ JANDA BRNO 15. března 2012 Obsah 1 Úvod........................................

Více

Maturitní projekt do IVT Pavel Doleček

Maturitní projekt do IVT Pavel Doleček Maturitní projekt do IVT Pavel Doleček CO FILMBOOK JE Filmbook je uzavřená webová aplikace pro celkovou správu informací a dat souvisejících se sledováním filmů. Primárně je zaměřen na uchovávání a spravování

Více

Personální evidence zaměstnanců

Personální evidence zaměstnanců Mendelova univerzita v Brně Provozně ekonomická fakulta Personální evidence zaměstnanců Uživatelská dokumentace Bc. Petr Koucký Bc. Lukáš Maňas Bc. Anna Marková Brno 2015 1 Popis funkcionality Námi řešená

Více

Webové stránky fotbalového klubu

Webové stránky fotbalového klubu Semestrální práce pro X36WWW Webové stránky fotbalového klubu DOKUMENTACE autor: David Komárek 1. Zadání Naprogramujte informační web fotbalového klubu. V klubu jsou registrována dvě mužstva, A mužstvo

Více

INFORMAČNÍ SYSTÉMY NA WEBU

INFORMAČNÍ SYSTÉMY NA WEBU INFORMAČNÍ SYSTÉMY NA WEBU Webový informační systém je systém navržený pro provoz v podmínkách Internetu/intranetu, tzn. přístup na takový systém je realizován přes internetový prohlížeč. Použití internetového

Více

Databáze EMS podacích lístků

Databáze EMS podacích lístků Databáze EMS podacích lístků Semestrální práce ------------------------------ 1 / 30 Obsah Obsah...2 Obsah...2 Záměr projektu...3 Uživatele...6 Katalog požadavků...7 Use case...8 Konceptuální datový model...9

Více

Uživatelský manuál. Obsah

Uživatelský manuál. Obsah Uživatelský manuál Obsah Úvodní stránka a horní menu Registrace uživatele Registrace studenta Registrace pedagoga Registrace firmy Přihlášeni do systému Obnovení zapomenutého hesla Nastavení uživatelského

Více

InsideBusiness Payments CEE

InsideBusiness Payments CEE InsideBusiness Payments CEE Referenční příručka k novému vzhledu Přístupová cesta do střední a východní Evropy InsideBusiness Payments CEE Potřebujete pohodlný a bezproblémový přístup k úplné nabídce služeb

Více

Dobrý SHOP Popis produktu a jeho rozšíření

Dobrý SHOP Popis produktu a jeho rozšíření Dobrý SHOP Popis produktu a jeho rozšíření 501M012.N01 11/11/2011 www.dlaex.cz info@dlaex.cz OBSAH 1 Úvod...3 2 Účel produktu...3 3 Vlastnosti produktu...3 3.1 Koncepce...3 3.2 Základní y...3 3.3 Doplňkové

Více

ACTIVATE HERE - FAQ. Zakoupením této položky získáte do 60 minut do požadovaného emailu aktivační klíče k vybranému produktu.

ACTIVATE HERE - FAQ. Zakoupením této položky získáte do 60 minut do požadovaného emailu aktivační klíče k vybranému produktu. ACTIVATE HERE - FAQ Co je to Activate-Here produkt? Zakoupením této položky získáte do 60 minut do požadovaného emailu aktivační klíče k vybranému produktu. Součástí emailu je i odkaz, kde si můžete vybraný

Více

1 Úvod. 2 Registrace a přihlášení. Registrace). Zobrazí se stránka, kde budete mít na výběr ze dvou možností. Můžete vytvořit nové či.

1 Úvod. 2 Registrace a přihlášení. Registrace). Zobrazí se stránka, kde budete mít na výběr ze dvou možností. Můžete vytvořit nové či. 1 Úvod Aplikace XPERA Projects, která je určena pro sběr a řešení požadavků, přináší nový rozměr a efektivity mobilního klienta. Aplikace Xpera Projects pro ios znamená mít řešené případy stále s sebou.

Více

POKYNY K REGISTRACI PROFILU ZADAVATELE

POKYNY K REGISTRACI PROFILU ZADAVATELE POKYNY K REGISTRACI PROFILU ZADAVATELE Stav ke dni 4. 12. 2012 Obsah: 1 Úvod... 3 1.1 Podmínky provozu... 3 1.2 Pokyny k užívání dokumentu... 3 2 Registrace profilu zadavatele... 4 2.1 Přihlášení uživatele...

Více

Profesis KROK ZA KROKEM 2

Profesis KROK ZA KROKEM 2 Profesis KROK ZA KROKEM 2 Adresa systému: www.profesis.cz Údaje nutné pro přihlášení: - přihlašovací jméno: sedmimístné číslo autorizace. Včetně nul na začátku např.: 0000001 - heslo: na štítku DVD Profesis

Více

Aplikační vrstva. Úvod do Php. Ing. Martin Dostal

Aplikační vrstva. Úvod do Php. Ing. Martin Dostal Aplikační vrstva Úvod do Php Ing. Martin Dostal Co to je PHP? php soubory se nekompilují, interpret je spouští přímo bez překladu php běží na serveru php soubor je.txt soubor obsahující php kód: Zkrácený

Více

E-NABÍDKA PARTNER.REDA.CZ

E-NABÍDKA PARTNER.REDA.CZ E-NABÍDKA PARTNER.REDA.CZ Reda e-nabídka představuje mocný nástroj, díky kterému mohou naši registrovaní klienti přímo z prostředí e-shopu partner.reda.cz vytvářet vlastní produktové nabídky pro své zákazníky.

Více

INOVACE PŘEDMĚTŮ ICT. MODUL 11: PROGRAMOVÁNÍ WEBOVÝCH APLIKLACÍ Metodika

INOVACE PŘEDMĚTŮ ICT. MODUL 11: PROGRAMOVÁNÍ WEBOVÝCH APLIKLACÍ Metodika Vyšší odborná škola ekonomická a zdravotnická a Střední škola, Boskovice INOVACE PŘEDMĚTŮ ICT MODUL 11: PROGRAMOVÁNÍ WEBOVÝCH APLIKLACÍ Metodika Zpracoval: Jaroslav Kotlán srpen 2009s Úvod Modul Programování

Více

Databázové a informační systémy Informační systém prodejny nábytku. Jakub Kamrla, KAM087

Databázové a informační systémy Informační systém prodejny nábytku. Jakub Kamrla, KAM087 Databázové a informační systémy Informační systém prodejny nábytku Jakub Kamrla, KAM087 1. část Funkční a nefunkční požadavky 1. K čemu má systém sloužit Jedná se o informační systém pro jednu nejmenovanou

Více

Easycars Aplikace pro správu autobazaru

Easycars Aplikace pro správu autobazaru Easycars Aplikace pro správu autobazaru Obsah 1 Úvod... 2 1.1 Požadavky... 2 2 Přihlášení do systému... 3 2.1 Úvodní stránka... 4 3 Správa nabídek vozů a klienů... 5 3.1 Výpis vozidel... 5 3.1.1 Export

Více

Grantové projekty. V současné době jsou zpracovány tyto části:

Grantové projekty. V současné době jsou zpracovány tyto části: Grantové projekty V současné době jsou zpracovány tyto části: - konzultace záměru grantového projektu - registrace grantového projektu - zahájeni realizace grantového projektu 1. Schéma konzultace záměru

Více

Administrace webu Postup při práci

Administrace webu Postup při práci Administrace webu Postup při práci Obsah Úvod... 2 Hlavní menu... 3 a. Newslettery... 3 b. Administrátoři... 3 c. Editor stránek... 4 d. Kategorie... 4 e. Novinky... 5 f. Produkty... 5 g. Odhlásit se...

Více

Jak se orientovat ve světě ESTOFANu verze 3.0.3?

Jak se orientovat ve světě ESTOFANu verze 3.0.3? Jak se orientovat ve světě ESTOFANu verze 3.0.3? Systém ESTOFAN je určen pro administraci a editaci webových stránek, které jsou provozovány reklamní agenturou PANKREA. 1. Přihlášení Po objednávce a vytvoření

Více

Analýza požadavků. 1. Funkční požadavky - popisují chování, funkce a operace uživatelů, které systém musí podporovat. 1.1 Operace uživatelů

Analýza požadavků. 1. Funkční požadavky - popisují chování, funkce a operace uživatelů, které systém musí podporovat. 1.1 Operace uživatelů Základní pojmy: Systém = webová prezentace + eshop Registrovaný uživatel = zástupce montážní firmy Neregistrovaný uživatel = běžný zákazník eshop Administrátor = správce systému Analýza požadavků 1. Funkční

Více

ANOTACE vytvořených/inovovaných materiálů

ANOTACE vytvořených/inovovaných materiálů ANOTACE vytvořených/inovovaných materiálů Číslo projektu Číslo a název šablony klíčové aktivity Tematická oblast Formát Druh učebního materiálu Druh interaktivity CZ.1.07/1.5.00/34.0722 III/2 Inovace a

Více

Uživatelský manuál aplikace. Dental MAXweb

Uživatelský manuál aplikace. Dental MAXweb Uživatelský manuál aplikace Dental MAXweb Obsah Obsah... 2 1. Základní operace... 3 1.1. Přihlášení do aplikace... 3 1.2. Odhlášení z aplikace... 3 1.3. Náhled aplikace v jiné úrovni... 3 1.4. Změna barevné

Více

FFUK Uživatelský manuál pro administraci webu Obsah

FFUK Uživatelský manuál pro administraci webu Obsah FFUK Uživatelský manuál pro administraci webu Obsah FFUK Uživatelský manuál pro administraci webu... 1 1 Úvod... 2 2 Po přihlášení... 2 3 Základní nastavení webu... 2 4 Menu... 2 5 Bloky... 5 6 Správa

Více

Semestrální práce 2 znakový strom

Semestrální práce 2 znakový strom Semestrální práce 2 znakový strom Ondřej Petržilka Datový model BlockFileRecord Bázová abstraktní třída pro záznam ukládaný do blokového souboru RhymeRecord Konkrétní třída záznamu ukládaného do blokového

Více

Obsah. Úvodem 9. Kapitola 1 Než začneme 11. Kapitola 2 Dynamické zobrazování obsahu 25. Zpětná vazba od čtenářů 10 Zdrojové kódy ke knize 10 Errata 10

Obsah. Úvodem 9. Kapitola 1 Než začneme 11. Kapitola 2 Dynamické zobrazování obsahu 25. Zpětná vazba od čtenářů 10 Zdrojové kódy ke knize 10 Errata 10 Obsah Úvodem 9 Zpětná vazba od čtenářů 10 Zdrojové kódy ke knize 10 Errata 10 Kapitola 1 Než začneme 11 Dynamické vs. statické stránky 11 Co je a k čemu slouží PHP 12 Instalace potřebného softwarového

Více

IS pro podporu BOZP na FIT ČVUT

IS pro podporu BOZP na FIT ČVUT IS pro podporu BOZP na FIT ČVUT Závěrečná zpráva pro 2. iteraci 21. dubna 2011 Zadavatel: Ing. Jiří Chludil Řešitelský tým: Jiří Kopecký Jan Kratochvíl Milan Matějček Štefan Pinďák Kristýna Streitová Úvod

Více

Uživatelský manuál. Aplikace GraphViewer. Vytvořil: Viktor Dlouhý

Uživatelský manuál. Aplikace GraphViewer. Vytvořil: Viktor Dlouhý Uživatelský manuál Aplikace GraphViewer Vytvořil: Viktor Dlouhý Obsah 1. Obecně... 3 2. Co aplikace umí... 3 3. Struktura aplikace... 4 4. Mobilní verze aplikace... 5 5. Vytvoření projektu... 6 6. Části

Více

Správa obsahu webové platformy

Správa obsahu webové platformy Správa obsahu webové platformy www.dobrovolnik.net Bc. Irina Kushnareva PRAHA 2019 Tento dokument byl vypracován v rámci projektu Dobrovolnictví ve veřejné správě, reg. č. CZ.03.3.X/0.0/0.0/15_018/0005458,

Více

Informační systém webhostingu

Informační systém webhostingu VYSOKÁ ŠKOLA BÁŇSKÁ TECHNICKÁ UNIVERZITA OSTRAVA INFORMAČNÍ SYSTÉMY A DATOVÉ SKLADY Informační systém webhostingu semestrální projekt Analýza Číslo skupiny: 4 Členové: Filip Bartman Jakub Vaněk Jan Šrámek

Více

Manuál PVU dodavatel Platnost pro elektronický nástroj X-EN verze 3 a novější

Manuál PVU dodavatel Platnost pro elektronický nástroj X-EN verze 3 a novější Manuál PVU dodavatel Platnost pro elektronický nástroj X-EN verze 3 a novější Obsah Registrace... 2 Přihlášení a odhlášení... 2 Správa profilu... 2 Domovská stránka... 3 Hledání zakázek... 4 Výsledky hledání...

Více

17. července 2005 15:51 z moravec@yahoo.com http://www.z-moravec.net/

17. července 2005 15:51 z moravec@yahoo.com http://www.z-moravec.net/ 17. července 2005 15:51 z moravec@yahoo.com http://www.z-moravec.net/ Úvod 1 Úvod Nedávno jsem zveřejnil návod na vytvoření návštěvní knihy bez nutnosti použít databázi. To je výhodné tehdy, kdy na serveru

Více

Student. Funguje: Přihlášení Výběr školy Výběr role Změna Akademického roku Změna kurzu Odhlášení Přihlášení offline

Student. Funguje: Přihlášení Výběr školy Výběr role Změna Akademického roku Změna kurzu Odhlášení Přihlášení offline Student Funguje: Přihlášení Výběr školy Výběr role Změna Akademického roku Změna kurzu Odhlášení Přihlášení offline Profil Zobrazení profilu Editace profilu Změna hesla Změna avatara Aktuality Zobrazení

Více

Návrh a tvorba WWW stránek 1/14. PHP a databáze

Návrh a tvorba WWW stránek 1/14. PHP a databáze Návrh a tvorba WWW stránek 1/14 PHP a databáze nejčastěji MySQL součástí balíčků PHP navíc podporuje standard ODBC PHP nemá žádné šablony pro práci s databází princip práce s databází je stále stejný opakované

Více

Profesis on-line 20.1.2015. Obrázky v prezentaci byly upraveny pro potřeby prezentace.

Profesis on-line 20.1.2015. Obrázky v prezentaci byly upraveny pro potřeby prezentace. Profesis on-line 20.1.2015 Obrázky v prezentaci byly upraveny pro potřeby prezentace. Adresa systému: www.profesis.cz Údaje nutné pro přihlášení: - přihlašovací jméno: sedmimístné číslo autorizace (včetně

Více

VYSOKÁ ŠKOLA BÁŇSKÁ TECHNICKÁ UNIVERZITA OSTRAVA

VYSOKÁ ŠKOLA BÁŇSKÁ TECHNICKÁ UNIVERZITA OSTRAVA VYSOKÁ ŠKOLA BÁŇSKÁ TECHNICKÁ UNIVERZITA OSTRAVA INFORMAČNÍ SYSTÉMY A DATOVÉ SKLADY Autosalón (semestrální projekt) ZS 2011-2012 Analýza Implementace Číslo skupiny: 2 Členové skupiny: Jmeno,příjmení,login

Více

Podrobný postup pro doplnění Žádosti o dotaci prostřednictvím Portálu Farmáře. 2. kolo příjmu žádostí Programu rozvoje venkova ( )

Podrobný postup pro doplnění Žádosti o dotaci prostřednictvím Portálu Farmáře. 2. kolo příjmu žádostí Programu rozvoje venkova ( ) Podrobný postup pro doplnění Žádosti o dotaci prostřednictvím Portálu Farmáře 2. kolo příjmu žádostí Programu rozvoje venkova (2014 2020) V tomto dokumentu je uveden podrobný postup doplnění Žádosti o

Více

Střední průmyslová škola elektrotechnická Praha 10, V Úžlabině 320 M A T U R I T N Í T É M A T A P Ř E D M Ě T U

Střední průmyslová škola elektrotechnická Praha 10, V Úžlabině 320 M A T U R I T N Í T É M A T A P Ř E D M Ě T U Střední průmyslová škola elektrotechnická Praha 10, V Úžlabině 320 M A T U R I T N Í T É M A T A P Ř E D M Ě T U P R O G R A M O V É V Y B A V E N Í Studijní obor: 18-20-M/01 Informační technologie Školní

Více

1. Úvod do Ajaxu 11. Jak Ajax funguje? 13

1. Úvod do Ajaxu 11. Jak Ajax funguje? 13 Obsah Úvodem 9 1. Úvod do Ajaxu 11 Jak Ajax funguje? 13 Popis 13 Ukázky 13 Jaké jsou možnosti tvorby interaktivních webových aplikací? 15 Co je třeba znát? 16 Jak fungují technologie Ajaxu 16 Jak funguje

Více

Zadání grafického designu Trh poptávek

Zadání grafického designu Trh poptávek 2012 Zadání grafického designu Trh poptávek Dokument obsahuje shrnutí cílů webu Trh poptávek a požadavky na grafický design Zelinka Josef LogisCom s.r.o 1.1.2012 Obsah 1. Cíle dokumentu... 2 2. Cíle webu...

Více

Použití databází na Webu

Použití databází na Webu 4IZ228 tvorba webových stránek a aplikací Jirka Kosek Poslední modifikace: $Date: 2010/11/18 11:33:52 $ Obsah Co nás čeká... 3 Architektura webových databázových aplikací... 4 K čemu se používají databázové

Více

Uživatelská příručka administrativního rozhraní Vědecké knihovny v Olomouci

Uživatelská příručka administrativního rozhraní Vědecké knihovny v Olomouci Držitel certifikátu jakosti ISO 9001:2001 Uživatelská příručka administrativního rozhraní Vědecké knihovny v Olomouci Stránka 1/44 Obsah 1.Redakční systém...4 1.1. Povolené jazykové mutace...4 5.2.1 Překlad

Více

Roční periodická zpráva projektu

Roční periodická zpráva projektu WAK-1F44C-2005-2 WAK System Název projektu: Automatizovaná výměna dat mezi informačními systémy krizového řízení v dopravě s jednotným univerzálním a implementovaným rozhraním založeným na standardu webových

Více

Už ivatelska dokumentace

Už ivatelska dokumentace Už ivatelska dokumentace Aplikace Portál úspěšných projektů je určena k publikování informací o projektech realizovaných za přispění některého z Operačních programů v gesci Ministerstva vnitra České republiky.

Více

PHP framework Nette. Kapitola 1. 1.1 Úvod. 1.2 Architektura Nette

PHP framework Nette. Kapitola 1. 1.1 Úvod. 1.2 Architektura Nette Kapitola 1 PHP framework Nette 1.1 Úvod Zkratka PHP (z anglického PHP: Hypertext Preprocessor) označuje populární skriptovací jazyk primárně navržený pro vývoj webových aplikací. Jeho oblíbenost vyplývá

Více

HLEDEJCENY.mobi. Obsah. Mobilní verze e-shopu. Důvody instalace

HLEDEJCENY.mobi. Obsah. Mobilní verze e-shopu. Důvody instalace Obsah HLEDEJCENY.mobi Mezi Vodami 1952/9 e-mail: info@hledejceny.cz HLEDEJCENY.mobi... 1 Mobilní verze e-shopu... 1 Důvody instalace... 1 Výhody... 2 Co je k mobilní verzi potřeba... 2 Objednávka služby...

Více

Kurz je rozdělen do čtyř bloků, které je možné absolvovat i samostatně. Podmínkou pro vstup do kurzu je znalost problematiky kurzů předešlých.

Kurz je rozdělen do čtyř bloků, které je možné absolvovat i samostatně. Podmínkou pro vstup do kurzu je znalost problematiky kurzů předešlých. Soubor kurzů XHTML, CSS, PHP a MySQL Kurz je rozdělen do čtyř bloků, které je možné absolvovat i samostatně. Podmínkou pro vstup do kurzu je znalost problematiky kurzů předešlých. Jeden blok se skládá

Více

Průvodce pro přenos dat

Průvodce pro přenos dat Průvodce pro přenos dat (pro tonometr OMRON M6 Comfort IT a OMRON M3 IT) 1)Před prvním použití se musíte nejdříve zaregistrovat. 2)Přejděte na webovou stránku: http://bi-link.omron.com/home/landing 3)Zde

Více

ERP informační systém

ERP informační systém Vážení zákazníci, modul Zakázka Vám přináší moderní vzhled a nové možnosti. A jaké nové vlastnosti a funkce jsou vám k dispozici: začlenění seznamů do hlavního menu rozšíření údajů, na které lze vyhledávat

Více

REZERVAČNÍ SYSTÉM Manuál Rezervační systém ver ver.03 HairSoft 2016

REZERVAČNÍ SYSTÉM Manuál Rezervační systém ver ver.03 HairSoft 2016 REZERVAČNÍ SYSTÉM Spuštění Administrace rezervací 1. Nastavení Administrace 2. Nastavení Provozovny (Provozoven) 3. Nastavení Služeb 4. Nastavení Obsluh (Zaměstnanci) Napojení na stávající kalendáře s

Více

Využití OOP v praxi -- Knihovna PHP -- Interval.cz

Využití OOP v praxi -- Knihovna PHP -- Interval.cz Page 1 of 6 Knihovna PHP Využití OOP v praxi Po dlouhé teorii přichází na řadu praxe. V následujícím textu si vysvětlíme možnosti přístupu k databázi pomocí různých vzorů objektově orientovaného programování

Více

Registr IKTA. Příručka pro uživatele. Institut biostatistiky a analýz. Lékařské a Přírodovědecké fakulty Masarykovy univerzity.

Registr IKTA. Příručka pro uživatele. Institut biostatistiky a analýz. Lékařské a Přírodovědecké fakulty Masarykovy univerzity. Registr IKTA Příručka pro uživatele Vytvořil: Lékařské a Přírodovědecké fakulty Masarykovy univerzity Obsah Práce s Registrem IKTA 3 1 Vstup do registru 3 2 Základní okno registru 4 3 Registrace nového

Více

INSTITUT PRO TESTOVÁNÍ A CERTIFIKACI, a. s. NÁVOD NA PŘÍSTUP K SEZNAMŮM VYSTAVENÝCH DOKUMENTŮ

INSTITUT PRO TESTOVÁNÍ A CERTIFIKACI, a. s. NÁVOD NA PŘÍSTUP K SEZNAMŮM VYSTAVENÝCH DOKUMENTŮ INSTITUT PRO TESTOVÁNÍ A CERTIFIKACI, a. s. www.itczlin.cz NÁVOD NA PŘÍSTUP K SEZNAMŮM VYSTAVENÝCH DOKUMENTŮ Obsah: I. Návod na registraci pro přístup k seznamům vystavených dokumentů (odborná posouzení,

Více

Manuál pro obsluhu Webových stránek

Manuál pro obsluhu Webových stránek ResMaster Systems s.r.o. Truhlářská 1119/20, 110 00 Praha 1 Manuál pro obsluhu Webových stránek (Prosinec 2018) Jana Vítová, +420 225 388 130 2018 Obsah Úvod Webové stránky... 3 Slovník pojmů... 3 URL

Více

Na vod k nastavenı e-mailu

Na vod k nastavenı e-mailu Na vod k nastavenı e-mailu 1. Návod k nastavení e-mailových schránek na serveru stribrny.net. Do e-mailových schránek lze přistupovat přes webové rozhraní Webmail nebo přes poštovního klienta. Návod popisuje

Více

NÁVOD NA OBSLUHU INTERNETOVÉ PREZENTACE. Ataxo Czech s.r.o.

NÁVOD NA OBSLUHU INTERNETOVÉ PREZENTACE. Ataxo Czech s.r.o. NÁVOD NA OBSLUHU INTERNETOVÉ PREZENTACE Ataxo Czech s.r.o. ÚVOD Internetové stránky vytvořené společností Ataxo v rámci produktu Mini web můžete jednoduše a rychle upravovat prostřednictvím on-line administrace.

Více

ČNHP. Příručka pro pacienty. Institut biostatistiky a analýz. Vytvořil:

ČNHP. Příručka pro pacienty. Institut biostatistiky a analýz. Vytvořil: ČNHP Vytvořil: Institut biostatistiky a analýz OBSAH. VSTUP DO REGISTRU... 3. ZAPOMENUTÉ HESLO... 3 2. ZÁKLADNÍ OKNO REGISTRU... 4 3. VYHLEDÁVÁNÍ PACIENTA... 5 3. NAPOSLEDY OTEVŘENÍ PACIENTI... 5 4. PRÁCE

Více

DIPL 2. Stručný manuál pro vysokoškolské kvalifikační práce.

DIPL 2. Stručný manuál pro vysokoškolské kvalifikační práce. DIPL 2 Stručný manuál pro vysokoškolské kvalifikační práce. Obsah STUDENTI VYTVOŘENÍ VOLNÉHO TÉMATU VŠKP VÝBĚR TÉMATU VŠKP Z VOLNÝCH TÉMAT KONTROLA ZADÁNÍ TÉMATU FORMÁLNÍ ÚPRAVA VYPLNĚNÍ ÚDAJŮ ELEKTRONICKÉ

Více

Postupy práce se šablonami IS MPP

Postupy práce se šablonami IS MPP Postupy práce se šablonami IS MPP Modul plánování a přezkoumávání, verze 1.20 vypracovala společnost ASD Software, s.r.o. dokument ze dne 27. 3. 2013, verze 1.01 Postupy práce se šablonami IS MPP Modul

Více

Jak se registrovat. Diagnostika Siemens online. V pravé straně obrazovky klikněte na Registrace

Jak se registrovat. Diagnostika Siemens online.  V pravé straně obrazovky klikněte na Registrace Jak se registrovat V pravé straně obrazovky klikněte na Registrace Poté se zobrazí další pole, která musíte vyplnit. Všechna pole jsou povinná. Při chybném vyplnění některých polí se jejich seznam zobrazí

Více

Registr práv a povinností

Registr práv a povinností Registr práv a povinností Doporučené postupy a nastavení internetového prohlížeče pro práci v aplikaci AIS RPP Doporučené postupy a nastavení internetového prohlížeče pro práci v aplikaci AIS RPP v4.0

Více

Základní přehled funkcí aplikace VVZ

Základní přehled funkcí aplikace VVZ Základní přehled funkcí aplikace VVZ Účel dokumentu Tento metodický manuál popisuje základní přehled funkcionalit aplikace, tak aby se každý uživatel aplikace mohl rychle a efektivně seznámit s novým prostředím

Více

Bioadresář. Specifikace požadavků. Verze Datum Projektový tým Bc. Martin Ventruba Bc. Ondřej Veselý Bc. Stratos Zerdaloglu

Bioadresář. Specifikace požadavků. Verze Datum Projektový tým Bc. Martin Ventruba Bc. Ondřej Veselý Bc. Stratos Zerdaloglu Bioadresář Specifikace požadavků Verze Datum Projektový tým 1 14. 10. 2010 Bc. Martin Ventruba Bc. Ondřej Veselý Bc. Stratos Zerdaloglu Obsah 1. Základní informace... 3 1.1. Účel... 3 1.2. Základní popis

Více

CRM - manuál. Vypracovala: Monika Balažovičová [1] Softapp s.r.o., Kouty 1419, Valašské Meziříčí, tel.:

CRM - manuál. Vypracovala: Monika Balažovičová [1] Softapp s.r.o., Kouty 1419, Valašské Meziříčí, tel.: CRM - manuál Vypracovala: Monika Balažovičová [1] Obsah 1. Cíl... 3 2. Programové požadavky... 3 3. Přihlašovací údaje... 3 4. Nastavení programu... 4 5. Úvodní obrazovka... 4 6. Marketingové seznamy...

Více

Šifrování Autentizace Bezpečnostní slabiny. Bezpečnost. Lenka Kosková Třísková, NTI TUL. 22. března 2013

Šifrování Autentizace Bezpečnostní slabiny. Bezpečnost. Lenka Kosková Třísková, NTI TUL. 22. března 2013 Šifrování Autentizace ní slabiny 22. března 2013 Šifrování Autentizace ní slabiny Technologie Symetrické vs. asymetrické šifry (dnes kombinace) HTTPS Funguje nad HTTP Šifrování s pomocí SSL nebo TLS Šifrování

Více

Nástrojová lišta v editačním poli

Nástrojová lišta v editačním poli Nástrojová lišta v editačním poli Název projektu PŘEJÍT NA konkrétní sekci webu ZOBRAZIT zobrazí a) pracovní verzi webu (tj. nepublikovanou) b) publikovanou verzi webu a) Odstranit odstraní zobrazenou

Více

Manuál pro používání systému Responsible Care

Manuál pro používání systému Responsible Care Manuál pro používání systému Responsible Care OBSAH Úvodní pokyny (registrace a přihlášení)... 3 Podání hlášení... 4 Správá odeslaných hlášení (prohlížení, opravy, mazání)... 5 Správa údajů společnosti...

Více

MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ

MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ 1) PROGRAM, ZDROJOVÝ KÓD, PŘEKLAD PROGRAMU 3 2) HISTORIE TVORBY PROGRAMŮ 3 3) SYNTAXE A SÉMANTIKA 3 4) SPECIFIKACE

Více

Uživatelská příručka

Uživatelská příručka PŘÍLOHA B Uživatelská příručka Před prvním spuštění aplikace je nezbytné ujasnit si některé pojmy: web URL webových stránek, pro které se budou zjišťovat pozice. klíčové slovo - Slovní spojení nebo samostatné

Více

Střední průmyslová škola elektrotechnická Praha 10, V Úžlabině 320

Střední průmyslová škola elektrotechnická Praha 10, V Úžlabině 320 Střední průmyslová škola elektrotechnická Praha 10, V Úžlabině 320 M A T U R I T N Í T É M A T A P Ř E D M Ě T U P R O G R A M O V É V Y B A V E N Í Studijní obor: 18-20-M/01 Informační technologie Školní

Více

Novinky verze 2.3.0 systému Spisové služby (SpS) e-spis LITE

Novinky verze 2.3.0 systému Spisové služby (SpS) e-spis LITE ICZ a.s. Správa a řízení dokumentů Na hřebenech II 1718/10 147 00 Praha 4 Tel.: +420-222 271 111 Fax: +420-222 271 112 Internet: www.i.cz Novinky verze 2.3.0 systému Spisové služby (SpS) e-spis LITE Vypracoval

Více

DOKUMENTACE REDAKČNÍHO SYSTÉMU PINYA

DOKUMENTACE REDAKČNÍHO SYSTÉMU PINYA DOKUMENTACE REDAKČNÍHO SYSTÉMU PINYA Obsah Obsah... 4 Pinya CMS... 5 Přihlášení do systému... 6 Položky v menu administrace... 7 Uživatelé... 8 Správa uživatelů... 8 Nový uživatel... 9 Role... 10 Vytvoření

Více

Seznámení se s administrací WordPressu

Seznámení se s administrací WordPressu - Seznámení se s administrací WordPressu - Záhlaví administrace - Název webu: po kliknutí přechod na veřejnou část webu - Odhlášení ze systému a kdo je přihlášen - Rychlé publikování příspěvku nebo stránky

Více