Vysoká škola ekonomická v Praze Fakulta informatiky a statistiky Vyšší odborná škola informačních služeb v Praze
Bakalářská práce
2009
Denis Chakhmaev
Vysoká škola ekonomická v Praze Fakulta informatiky a statistiky Vyšší odborná škola informačních služeb v Praze
Denis Chakhmaev
Návrh a realizace optimalizovaného engine internetového obchodu.
Bakalářská práce
2009
Prohlášení Prohlašují, že jsem diplomovou práci na téma „Návrh a realizace optimalizovaného engine internetového obchodu“ zpracoval samostatně a použil pouze zdroje, které citují a uvádím v seznamu použité literatury.
V Praze dne________
Podpis:_________ Denis Chakhmaev
Poděkování Rád bych touto cestou poděkoval své rodině za moralní a psychyckou podporu, kterou jsem dostal při psání této bakalářské práce.
1.
Úvod ........................................................................................................................................ 8
2.
Použité zkratky ...................................................................................................................... 10
3.
Teoretická část ....................................................................................................................... 12 3.1.
Elekronický obchod ....................................................................................................... 12
3.1.1.
Pojem ................................................................................................................................................... 12
3.1.2.
Druhy internetových obchodů ............................................................................................................. 12
3.1.3.
Zřízení E-shopu ................................................................................................................................... 13
3.2.
Výroba na zakázku ........................................................................................................ 13
3.3.
Dostupná softwarová řešení........................................................................................... 14
3.3.1.
Joomla ................................................................................................................................................. 14
3.3.2.
WordPress............................................................................................................................................ 15
3.3.3.
Drupal .................................................................................................................................................. 16
3.4.
PHP 5 nebo ASP.NET- co je lepší? ............................................................................... 16
3.5.
Vlastní řešení ................................................................................................................. 18
3.6.
Denwer .......................................................................................................................... 19
4.
Struktura internetového obchodu .......................................................................................... 20
5.
PRAKTICKÁ ČÁST ............................................................................................................. 22
6.
5.1.
Vytvořeni kostry e-shopu - 1.část .................................................................................. 22
5.2.
Vytvořeni kostry e-shopu - 2.část .................................................................................. 24
5.3.
Rozdělení stánky na PHP bloky .................................................................................... 26
5.4.
Obsah menu ................................................................................................................... 28
5.5.
Katalog zboží ................................................................................................................. 33
5.6.
Seznam Firem ................................................................................................................ 36
5.7.
Třídění výrobků ............................................................................................................. 37
5.8.
Informace o výrobku ..................................................................................................... 39
5.9.
Formulář ........................................................................................................................ 40
5.10.
Panel pro administrátory................................................................................................ 43
5.11.
Vkládání výrobků- 1.část ............................................................................................... 44
5.12.
Vkládání výrobků – 2.část ............................................................................................. 47
5.13.
Editace Zboží ................................................................................................................. 49
5.14.
Odstranění výrobků ....................................................................................................... 52
5.15.
Zabezpečení administrátorské části ............................................................................... 54
Závěr ...................................................................................................................................... 57 6.1.
Seznam použité literatury .............................................................................................. 59
Anotace Návrh a realizace optimalizovaného engine internetového obchodu Tato práce je zaměřená zejména na vývoj nového engine internetového obchodu. V teoretické části jsou prozkoumány způsoby ziskávání a vytváření obchodu pro elektronickou komerci. V praktické části je zachycen postup výroby webové stránky od samého počátku. Výsledkem práce je plnofunkční e-shop. Klíčová slova: internetový obchod, engine
Abstract Creating of the project and realization of the optimized engine of online-shop This work specializes mainly on creating of a new engine for the Internet-shop. In the theoretical part of the work, ways of purchase of shops for electronic commerce were considered. The practical part covers all process of making a webpage from the beginning. The result of work will become fully functionning e-shop.
Keywords: online shopping, engine
7
1.
Úvod Ve své bakalářské práci jsem se rozhodl zpracovat téma Návrh a realizace
optimalizovaného engine internetového obchodu. V této práci jsem se zaměřil zejména na vývoj e-shopu od samého začátku bez použití hotových kodů. Za tímto účelem jsem použil jen několik specializovaných programů pro práci s PHP, MySQL,HTML a CSS.
Cílem mojí práci je pokusit se navrhnout a realizovat engine (nebo-li jádro) internetového obchodu za určitých podmínek. Tou první byla - čas. Jak jistě vímé, času neni nikdy dost. Za velmi krátkou dobu jsem musel přečíst hodně odborné literatury, vybrat z toho to, co se mi bude hodit a nakonec vytvořit funkční e-shop. Druhá podmínka, která mě omezovala byly znalosti. Samozřejmě některým věcem jsem se naučil ve škole, ale bylo zapotřebí umět něco navíc (např. PHP). Takže čas který jsem měl k dispozici jsem postupně proměnil v znalosti. Třetí podmínkou bylo maximálně zjednodušit kod, který jsem použil na svých stánkách a tim pádem vytvořit jednoduchý a lehký na pochopení – internetový obchod. Je to proto, abych mohl zdokumentovat postup své práce v povoleném rozmezí, co se týče velikosti práce.
Aktuálnost tohoto tématu potvrzuje celosvětový rozvoj elektronického obchodování. Internetové obchody mají velkou budoucnost. Proč si to myslím? To je klíčová otázka. Během posledního století došlo k obrovskému pokroku ve všech vědních disciplínách a společnost se tomu musí neustále přispůsobovat. Počitač a internet jsou nezbytnýmy atributy skoro každé domácnosti ve všech vyspělých zemích. Internet přináší stále častějí různé novinky, jednou z nich byl i první internetový obchod, který se objevil někdy před deseti lety. Tato inovace se začala velmi rychle šiřit po celém světe, jelikož slibovala velké získy. Důvodem tomu byly velké výhody oproti obyčejným obchodům. Malé náklady na pořízení a provoz, možnost vytvoření nekonečně velké nabídky jakéhokoliv zboží, prodej 24hodin denně, 7dní v týdnu a 365 dní v roce, možnost přilákání zákazníků z celého světa, možnost předběhnout konkurenty a úspěšně konkurovat velkým společnostem - to vše může Vám zajistit velký úspěch. Samozřejmě jsou ještě další výhody ze strany zákazníků jako jsou - nízka cena zboží (vzhledem k nízkým nákladům na provoz obchodu), jednoduchost nakupování, šetření času, dodání zboží až ke dveřím zákazníka. Doufám, že jsem odpověděl alespoň částečně na výše položenou otázku a tím naznačil aktuálnost a důležitost tématu, které jsem si vybral. 8
Svou bakalářskou práci pojmu jako praktický návod pro vytvoření elektronického obchodu. Budu se opírat o příslušnou literaturu, konkrétně o pár publikaci, které jsem uvedl v seznamu použité literatury. Při vývoji e-shopu jsem také použival forum na stránkách http://phpforum.ru. Hodně mně v tom pomohl, jelikož se tam pořád řeší aktuální problémy, které se týkají práce s php.
9
2.
Použité zkratky
HTML- HyperText Markup Language, je značkovací jazyk pro hypertext. WWW- World Wide Web, ve volném překladu „celosvětová pavučina“, je označení pro aplikace internetového protokolu HTTP. PSPad- je celosvětově rozšířený freewareový textový editor a editor zdrojových kódů pro platformu Microsoft Windows vyvíjený v prostředí Delphi. CSS- je zkratka pro anglický název Cascading Style Sheets, česky tabulky kaskádových stylů. Je to jazyk pro popis způsobu zobrazení stránek napsaných v jazycích HTML, XHTML nebo XML. XML- (eXtensible Markup Language, česky rozšiřitelný značkovací jazyk) je obecný značkovací jazyk, který byl vyvinut a standardizován konsorciem W3C. Umožňuje snadné vytváření konkrétních značkovacích jazyků pro různé účely a široké spektrum různých typů dat. AJAX- Asynchronous JavaScript and XML) je obecné označení pro technologie vývoje interaktivních webových aplikací, které mění obsah svých stránek bez nutnosti jejich znovunačítání. PHP- je skriptovací programovací jazyk, určený především pro programování dynamických internetových stránek. ASP (Active Server Pages)- je skriptovací platforma společnosti Microsoft, primárně určená pro dynamické zpracování webových stránek na straně serveru. Její nástupce, ASP.NET, lze chápat jako širší a komplexnější technologii, která se od ASP v mnoha ohledech fundamentálně liší. ASP.NET- je součást .NET Frameworku firmy Microsoft pro tvorbu webových aplikací a služeb. Je nástupcem technologie ASP (Active Server Pages) a přímým konkurentem JSP (Java Server Pages). MySQL- je multiplatformní databáze. Komunikace s ní probíhá – jak už název napovídá – pomocí jazyka SQL E-shop- elektronický obchod UTF-8- je zkratka pro UCS Transformation Format. Je to způsob kódování řetězců znaků Unicode/UCS do sekvencí bajtů. SEO- (Search Engine Optimization, optimalizace pro vyhledávače) je metodologie vytváření a upravování webových stránek takovým způsobem, aby jejich forma a obsah byly vhodné pro automatizované zpracování v internetových vyhledávačích.
10
JPG- je standardní metoda ztrátové komprese používané pro ukládání počítačových obrázků ve fotorealistické kvalitě. GIF- (Graphics Interchange Format) je grafický formát určený pro rastrovou grafiku. GIF používá bezeztrátovou kompresi LZW84. DB- Databáze, je určitá uspořádaná množina informací (dat) uložená na paměťovém médiu. B2B- je označení pro obchodní vztahy mezi obchodními společnostmi, pro jejich potřeby. Tyto vztahy jsou založeny na bázi informačních technologií, které jsou hlavní příčinou jejich vzniku a umožňují jejich vznik a trvání B2C- je označení pro obchodní vztahy mezi obchodními společnostmi a koncovými zákazníky, realizované webovými aplikacemi, virtuálními obchody na Internetu apod. Perl je interpretovaný programovací jazyk vytvořený Larry Wallem v roce 1987. S rozvojem internetu se Perl stal velmi populárním nástrojem pro tvorbu CGI skriptů. GPL- je licence pro svobodný software, původně napsaná Richardem Stallmanem pro projekt GNU. PHP-Fusion je redakční systém naprogramovaný v jazyce PHP, spolupracující s MySQL databází. PHP-NUKE je oblíbený, bezplatný, svobodný a také otevřený systém pro vytváření dynamických webových stránek používající serverový skriptovací jazyk PHP a podporující širokou škálu databázových systému, jako MySQL, DB2, PostgreSQL a další. RSS je rodina XML formátů určených pro čtení novinek na webových stránkách. Umožňuje uživatelům Internetu přihlásit se k odběru novinek z webu, který nabízí RSS zdroj. MSDN (Microsoft Developer Network) je program společnosti Microsoft určený především vývojářům Atom- the Atom Syndication Format (ATOM 1.0 – moderní standardizovaný formát). Jedna z podob RSS. TrackBack- Blogging kombinuje osobní webovou stránku s nástroji, které umožňují snažší odkazování na jiné stránky. Jeden z těchto nástrojů se nazývá TrackBack. *Nix- je operační systém, která vznikla pod vlivem Unix. [13]
11
3.
Teoretická část 3.1. Elekronický obchod 3.1.1. Pojem Elektronický obchod- je počitačová aplikace, používáná k obchodování na internetu.
Funguje na bázi B2B (business-to-business) nebo B2C (business-to-consumer). Ve většině případů je realizován jako sada scriptů, která spolupracuje s databází. Stejně jako obyčejný obchod, e-shop poskytuje nabídku zboží (služeb) zákaznikům, zpracovává objednávky, umožňuje prodej a doručení zboží zákazníkovi.
3.1.2. Druhy internetových obchodů V závislosti na funkčnosti internetového obchodu, můžeme je zařadit do některé ze tři kategorii. Interntet-výloha Obchodní automat Automatický obchod
V případě internetové výlohy, která ve své podstatě se ničim neliší od obyčejných webových stránek, uvádímé tam všechny potřebné informace, jež se týkají výrobků. Pokud je to nutné můžeme týto informace obnovit. Ve své podstatě internetová výloha plní jenom reklamní funkci. Představme si, že potenciální zákazník navštívil týto stránky a vybral nějaký výrobek. Proto aby to mohl koupit, musí zavolat do té firmy nebo jí osobně navštívit.
Obchodní automat na rozdíl od internetové výlohy liší tím, že uskutečňuje prodej zboží. Systém, který provádí obchodní operace může být integrován do vnitřních procesů firmy. Objednávky se mohou zpracovávat automatický nebo osobně managerem. Obchod tohoto typu obvykle se používá při testování nebo za předpokladu, že zákazníku není hodně.
Automatický obchod obvykle umožňuje přijímat objednávky, vystavovat účety, přijímat platby a také vytvářet a odesílat žádosti o podtvrzení objednávek, to vše automaticky. Celý tento systém je hluboce propojen s byznys – procesy v samotné firmě. Manager firmy obvykle kontroluje, jestli celý tento systém funguje správně. Tento typ internetového obchodu je obvykle velmi složitý, je zapotřebí hodně investovat do jeho zpracování, ale týto investice mohou o hodně zvýšit objem prodávaných výrobků.[1]
12
3.1.3. Zřízení E-shopu Proto abysme začali podníkat potřebujeme mít interntetový obchod. Získat ho můžeme třemi způsoby: Nechat vyrobit od specializované firmy (výroba na zakázku) Použit freewarové řešení Vyrobit samostatně (vlastní řešení) Teď rozebeme podrobně tyto tři varianty. Podívámé se na jejích výhody a nevýhody. A potom každý samostatně může rozhodnout, jaká varianta se mu hodí nejlépe.
3.2. Výroba na zakázku První věc, kterou musímé udělat je dobře vybrat firmu, která pro nás zpracuje projekt. Nejlépe jestli tento podník už dlouho působí na trhu a jeho zaměstnanci jsou kvalifikované programátoři. Zjistíme to za použitím internetu podle ohlasů bývalých zákazníků této firmy.
Poté potřebujeme rozhodnout jestli chceme modifikovat nějaké hotové softwarové řešení nebo vytvořit internetový obchod podle vlastních představ od úplného začátku. Druhá varianta je velmi nákladná jak na čas, tak i na peníze. Proto zákazníci obvykle chtějí použit hotový produkt, možná trochu upravený podle jejích potřeb.
Cena také závisí od toho na jaké bázi bude vyroben elektronický obchod. Jestli se použije specializovaná platforma nebo platforma pro obecné účely. První varianta se může zakládat na specializované platformě typu IBM WebSphere nebo Oracle E-Business Suit. Ve své podstatě poskytují více možností při vytváření elektronických systému pro komerční účely, než platformy pro obecné účely. Dají se rozšířit jak zhlediska funkcí, tak i pro větší počet zákazníků.
Co se týče platforem pro obecné účely, většinou to jsou takové svazky, jako *nix+Perl nebo NT+ASP. Řešení, které se používají na bázi těchto technologii jsou levnější, jak při počáteční výrobě, tak i pro další používání. Pro vlastní provoz nepotřebují žádné drahé zařízení. [16] Výhody:
Nevýhody
+ Fantazie nezná hranic
- Drahé zřízení
+ Kvalitní internetový obchod
- Drahý servis
+ Kvalifikovaný servis 13
+ Pro zřízení nepotřebujeme žádné znalosti
3.3. Dostupná softwarová řešení Skoro každý den na internetu se objevují hotová řešení pro obchodování na internetu. Programátoří vytvářejí jak nové produkty, tak i modifikují staré. Na výběr mámé dvě možnosti: koupit hotový e-shop, který byl ověřen v praxi (tzn. placenou verzi) stáhnout si freewarovou verzi
Firem, které nabízejí na trhu hotové internetové obchody, je nespočetné množství. Skoro každý podník má svůj vlastní výrobek. Proto se jimi tady nebudeme zabývat. Co nás ale zajímá, tak to jsou freewarová řešení. Šíří se na základě licence GPL. Vyrábějí je nezískové organizace spolu s velkým množstvím dobrovolníku. Většina těchto softwaru používá tzv. systém CMS. CMS- je vlastně software, který zajíšťuje správu dokumentu, zpravidla webového obsahu.
Placené a svobodně dostupné software se také dělí na dva typy. S otevřeným kodem – je poskytován ve formě otevřeného zdrojového kodu. Můžeme tam kdykoliv a cokoliv změnit podle naších potřeb. S kryptovaným kodem- je poskytován v zašifrované podobě, žádné změny nemůžeme provést. Pro práci potřebujeme dešifrovací program. Pokud chceme provést upgrade, musíme nahrát na web, zdrojový kod znovu.
Každý z těchto dvou typů má svoje výhody a nevýhody. Např. zdojaky s otevřeným kodem, můžeme snadno modifikovat a tím pádem měnit funkcionalitu dle naších potřeb. Velkou nevýhodou je to, že někdo může najít “díru“ v kodu a použit jí ve svůj prospěch. Nevýhodou kryptovaných CMS systému je složitost při modifikaci. Výhodou je naopak zvýšené zabezpečení.
Nyní bych rozebral nejpopulárnější CSM systémy – Joomla, WordPress a Drupal. Existují také další jako jsou Mambo, OpenCms, PHP-Fusion, PHP-Nuke a další. Ve dnešní době ale už nejsou tak oblíbené. [1]
3.3.1. Joomla Joomla – je systém pro správu obsahu (nebo-li CMS). Je napsána za pomoci jazyků PHP a JavaScript, využívá MySQL databázi. Joomla je bezplatný software, který je chráněn GPL licenci. Joomla vznikla od velmi známého CMS systému – Mambo. 14
CMS Joomla zahrnuje do sebe různé nástroje pro výrobu webových stránek. Důležitou svéraznosti tohoto systému je to, že má minimální sadu instrumentu při počáteční instalaci. V případě potřeby, můžeme kdykoliv doplnit tuto sadu. Vzhledem k tomu v administativním panelu budou jenom nezbytné věci, server bude méně zatížen a na hostingu ušetříme více místa. Joomla umožňuje zobrazení stránek s jakémkoliv jazyce, což je obrovská výhoda.
Základní možnosti -
bezpečnostní modul pro víceúrovňovou autentifikaci uživatelů a administrátorů.
-
možnost uspořádání a nastavení bloků menu.
Administrace -
pro každou stránku lze vytvořit svůj vlastní popis a klíčová slova za účelem zvýšení ratingu ve vyhledávačích.
-
lze naprogramovat dobu publikace nějakého článku na webu
-
možnost omezení přístupu k určitým částem webu pro nezaregistrované uživatele
-
různé moduly jako jsou (poslední údálosti, měření počtu návštěvníku, statistika návštěvnosti, adresní kniha, forum a další)
-
možnost vytvoření několika forem zpětní vazby pro různé účty
-
možnosti pro vkládání článku, zpráv a odkazů od různých autorů manager pro rozesílání zpráv
-
v součastnosti existuje skoro čtyři tisíce různých pluginů, určené pro Joomla.[15]
3.3.2. WordPress WordPress- je CMS s otevřeným zdrojovým kodem, který se šíří pod licencí- GNU GPL. Je napsán za pomoci PHP, typ databáze- MySQL. Používá se při výrobě jak primitivních blogů, tak i složitých zpravodajských portálů. Vestavěný systém používání pluginu umožňuje vytvářet projekty jakékoliv složitosti. Ve dnešní době WordPress – je nejpopulárnější systém pro vytváření a správu blogů. Teď se podívámé na hlavní funkce tohoto programu.
-
možnost publikace zpráv za pomocí vnějšího software a servisů. okamžitá publikace na webu
-
jednoduchá instalace a nastavení parametrů
-
podpora XHTML a CSS
-
podpora RSS, Atom, trackback, pingback 15
-
připojené pluginy mají unikátní a jednoduché vzájemné působení se zdrojovým kodem
-
podpora snadné změny jak interface, tak i způsobu výstupu dat
-
interface je vytvořen jako sada souboru-šablonu (na jazyku PHP), což se projevuje ve velké míře na rychlosti tohoto systému.
-
široký výběr plaginu a šablonů
-
architektura je postavená takovým způsobem, že umožnuje vytvořit velmi složité projekty [18]
3.3.3. Drupal Drupal - je systém pro správu obsahu (nebo-li CMS), napsaný za použitím PHP. Podporuje takové databazové systémy jako jsou – MySQL, PostgreSQL a další. Drupal – je freewarový program, který se šíří pod licencí – GPL. Na vývoje se podílí spousta dobrovolníků po celém světě. Nejdůležitější funkce, které obsahují moduly Drupalu jsou následující:
-
jednotný kategorizační systém pro obsah všeho druhů – od forumných zpráv do blogů atd.
-
vyhledávání uvnitř webu podle obsahu, kategoriím a uživatelům
-
přístup k obsahu podle kategorii ve které se nachází uživatel dynamický postavené menu
-
podpora XML
-
autorizace prostřednictvím OpenID
-
interface a možnost použivání obsahu - v různých jazycích
-
možnost vytvoření webových stránek s křížovými odkazy (společná databáze uživatelů a jejích nastavení)
-
automatická funkce (při mimořádně velké návštěvnosti se odpojují bloky a informační moduly [17]
3.4. PHP 5 nebo ASP.NET- co je lepší? Nejdříve rozebereme týto dva pojmy. PHP – je jeden z nejpopulárnějších scriptovacích jazyků (spolu s JSP, Perl a jazyky, které se používají v ASP.NET). Je tomu tak, protože tento programovací jazyk je velice jednoduchý na pochopení, také velmi rychlé provádí různé operace, vícefunkcionální a v součastnosti na internetu najdeme spoustu zdrojových kodu v tomto jazyce, 16
které se šíří na základě licence- PHP. Většinou se používá při programování dynamických webových stránek. A to hlavně ve spojení PHP+MySQL+Apache.
ASP (Active Server Pages) je skriptovací platforma, vytvořená společnosti Microsoft, ze začátku určená pro dynamické zpracování webových stránek na straně serveru. Její nástupce, ASP.NET, lze chápat jako širší a komplexnější technologii, která se od ASP v mnoha ohledech velice liší. A ještě bych zopakoval, aby bylo jasno, ASP není programovacím jazykem. Tato technologie získala svou popularitu kvůli jednoduchosti používaných scriptů (VBScript nebo JScript), a také možnosti připojení vnějších rozšíření COM. ASP.NET podporuje přes 20 jazyků.
Pro programování na PHP nepotřebujeme žádná drahá zařízení. Abychom se mohli naučit psát víceméně fungující scripty, může nám postačit jedná dobrá učebnice. Naopák co se týče ASP.NET, takový přístup se nám nehodí. Bez Visual Studio, MSDN a přístupu k internetu nedosáhneme vůbec nic. Hodně časů musíme věnovat prostudování MSDN. A i když už se to podáří a naučímé se používat všechny třídy a funkce, do tý doby Microsoft vymyslí něco nového. Jinak když se nám to podaří tak, stačí pár krát zmáčknout tlačítko myši a máme ušetřeno pár hodin práce (než kdybysme to psali za pomoci PHP).
ASP.NET – se většinou používá při práci na velkých projektech. Pracuje na ních velké množství lidí, protože každý programátor odpovídá za svou část práce. Nebo lépe řečeno, skoro nikdo neumí pracovat s ASP.NET natolik dobře, aby všechno zvládl sám. Cena platformy také hraje velkou roli, a proto menší projekty nemá smysl vytvářet za pomoci ASP.NET.
Naopak kdybychom chtěli vytvořit velký projekt za pomoci PHP, potřebujeme jednak hodně programátorů, ale také i koordinátory. Což se nakonci jednoduše nevyplatí. Při použití ASP, velkou část práce koordinátorů bere na sebe samotné prostředí .NET.
Oblast použití PHP jsou malé a střední projekty, na které se specializují malé skupinky programátorů, nebo dokonce i jednotlivci. Kvůli tomu, že za PHP, MySQL a samotnou platformu se nemusí platit, stává se ideální volbou při výrobě individuálních stránek, a stránek pro malý a střední byznys. Jinak ještě jednou výhodou je, že PHP pracuje rychlejí.
17
3.5. Vlastní řešení Proč jsem se rozhodl vytvořit svůj vlastní projekt od samého počátku? K tomu jsem měl několik příčin: -
snaha pochopit na jakém principu fungují nejpopulárnější CMS modely jako jsou Joomla, Drupal a WordPress.
-
uplatnit znalosti v praxi, které jsem získal na této škole
-
vytvořit svoji „kostru“ e-shopu, kterou lze i nadále zdokonalovat (přidáváním různých funkcí)
Jak jistě víme, skoro všechny populární CMS modely jsou napsány za pomoci programovacího jazyka – PHP. Za pomocí těchto modelů lze vytvořit jak jednoduché webové stránky, tak i tý nejsložitější, včetně internetového obchodu. Při jejích výrobě se mohou použivat např. moduly a komponenty (Joomla). Dají se připojít k naší stránce a všechno bude perfektně fungovat. Ale, pokud se něco stane (stránka se nebude správně zobrazovat nebo nějaký script přestané fungovat), tak nebudeme vědět co a jak máme opravit, protože nevímé na jakém principu to funguje. Neříkám, že kod který jsem použil ve svém příkladu je úplně identický s nějakým pluginem Joomly, ale aspoň pro představu budeme tušit oč se jedná.
Doposud na naší škole jsem měl možnost naučit se pracovat s HTML, CSS, XML a MySQL. To vše se týká výroby WWW stránek. V každém modulu jsme probíraly zvlášť jeden z těchto nástrojů. Propojit to vše dohromady se mně podařilo teprve v tomto projektu. Navíc jsem přidal ještě programovací jazyk PHP, se kterým jsem se musel naučit pracovat během velmi krátké doby.
V součastností existuje velké množství balíku, jež obsahují připravené k instalaci – internetové obchody. Jedná se jak o freewarové verze, které se vyvije dobrovolníky, tak i komerční produkty. Všechny samozřejmně mají různé funkce a možnosti. Nejsnašší je samozřejmně něco koupit a přečíst si k tomu manual. Tvůrčí osoby, ale potřebují vyrobit něco samostatně. Také proto jsem se rozhodl vytvořit svůj vlastní e-shop.
Proč jsem použil PHP?
Svůj e-shop jsem zařadil do kategorii malého projektu. Pro svou práci potřebuje jen tý nezbytné věci. A to programovací jazyk a databázi. Jelikož pro použití PHP a MySQL nepotřebujeme žádnou licenci, tak v mém případě nebylo pohyb, že toto řešení bude jedno 18
z nejlepších. Navíc programovací jazyk –PHP je podle mě snažší než třeba Jscript, který se používá v ASP.NET.
3.6. Denwer
Pro vytvoření jednoduché webové stránky můžeme použit vestavěný ve Windows, program- Notepad. Samozřejmě musímé umět pracovat s HTML. HyperText Markup Languageje základ pro pro vytváření stránek v systému World Wide Web, který umožňuje publikaci dokumentů na Internetu.
Pokud chceme vytvořit něco složitěšího, práce s Notepad nám zabere spoustu času. Proto programátoří vytvořili hodně různých programu pro tvorbu a správu webových stránek. Mezi nejznámějšími jsou: Microsoft Frontpage, Adobe Dreamweaver,HomeSite, PSPad, Mozilla Editor a další.
Pro svou práci jsem si vybral Adobe Dreamweaver CS3. Je to unikátní program, který podporuje hlavní technologie:
X/HTML, CSS, XML, JavaScriptu, AJAXu, PHP, Adobe
ColdFusion, ASP a ASP.NET. Taktéž nabízí možnosti přímé spolupráce s Photoshopem a Fireworksem. Na svých stránkách jsem použil HTML,CSS a PHP. Adobe Dreamweaver mi pomohl bezproblémově propojit tyto technologie.
Při práci nad svými stánkami, jsem neustále musel testovat jestli mojí kody fungují spávně nebo ne. Normálně, pokáždé změně v kodu bych měl nahrávat všechno(co jsem vytvořil) na vzdálený server. Není to vůbec pohodlné a navíc bych ztratil spoustu času. Tento problém se mi podařilo vyřešit tak, že jsem si nainstaloval program – Denwer v.3Base. Tato utilita obsahuje Apache server, MySQL5, phpMyAdmin a emulátor –Sendmail.
Apache server- umožňuje vytvořit vzdálený server na našem PC. Pro přístup na tento server můžeme zadat v prohlížeči – localhost. MySQL je multiplatformní databáze. Komunikace s ní probíhá – jak už název napovídá – pomocí jazyka SQL. phpMyAdmin je nástroj napsaný v jazyce PHP umožňující jednoduchou správu obsahu databáze MySQL prostřednictvím webového rozhraní [4].
19
4.
Struktura internetového obchodu
Obsah stránek budou tvořit 3 komponenty: php-soubory soubor s kaskádovými styly obrázky Hlavním souborem je – index.php. Zleva na této stránce je – Menu. Každé její pole obsahuje odkaz na tyto stránky: Firma.php Zbozi.php Registrace.php Na stránce zbozi.php najdeme seznam všech firem v podobě obrázku (loga). Po kliknutí na jeden z obrázku, přejdeme na stránku- Viewzbozi.php. Zde bude katalog všech telefonu této firmy (kterou jsme si vybrali). Pro zobrazení parametrů výrobku, stačí kliknout na vybraný telefon. Všechny tyto podrobnosti uvidímé na stránce- View.php. IMG- tato složka obsahuje všechny obrázky(kromě zboží), které jsou nezbytnou součásti eshopu. Jsou to - hlavička, pata stránky, pozadí a další. LOGO- zde najdeme loga všech firem, které jsou v nabídce našého katalogu. MOBILFOTO- tady jsou obrázky všech telefonů, které nabízíme k prodeji v našem e-shopu. BLOCKS- složka, která obsahuje 4 soubory: bd.php – připojení k databázi. footer.php – pata e-shopu. header.php – hlavička e-shopu. lefttd.php – menu e-eshopu. STYLE.CSS – soubor s kaskádovými styly.
Složka admin, obsahuje všechny soubory určené pro – Administrátorskou panel. Všechny tyto soubory bych rozdělil na dvě části. Jedna se týká výrobků, druhá- firem. I-
Část
II- Část
new_zbozi.php
new_firma.php
add_zbozi.php
add_firma.php
edit_zbozi.php
edit_firma.php
update_zbozi.php
update_firma.php
del_zbozi.php
del_firma.php
vložit nový výrobek/firmu
upravit výrobek/firmu
20
drop_zbozi.php
drop_firma.php
smazat výrobek/firmu
Navíc je tam soubor – lock.php, který odpovídá za bezpečnost admininistrátorské části.
21
5. PRAKTICKÁ ČÁST 5.1. Vytvořeni kostry e-shopu - 1.část Nejprve musíme vytvořit složku (např. phpsite3), kam budeme ukládát všechny soubory našého e-shopu. Složka se bude nacházet na virtuálním disku(virtuální disk jsme vytvořili za pomoci programu – Denwer). V našém případě cesta k ní vypadá takto: X:\home\localhost\www\phpsite3
Potom otevřeme program Adobe Dreamweaver se kterým budeme pracovat po celou dobu. Tam musíme definovat složku, ve které budou uloženy naše stránky. Files-Manage Sites-New-Site
Dále bychom vytvořili - Úvodní stránku. File-New-PHP- create Rovnou ho můžeme uložit pod názvem- index.php
Do “title“ napíšeme – Úvodní stránka. 22
A co musímé provest jako první, tak je to – zkontrolovat kodování stránky. Edit-Preferences-New document 1. Musí tam být kodování – UTF-8 2. Default Document Type – HTML 4.01. Transitional – podle mě je to nejoptimalnější nastavení. Přitom stránky se budou zobrazovat ve všech prohlížečích- celkém bez problému.
Dále vytvoříme dokument s kaskádovými styly. File-New-CSS-create Uložíme pod názvem - style.css A teď připojíme je k naší stránce. Na stránce index.php vybereme položku – Design. Dole vybereme – Attach Style Sheet.
A před – Browse, vybeme náš file s kaskádovými styly.
V kodu hlavní stránky se nám objeví, následující řádek.
Přejdeme do položky –Design. A vložímé přes toto tlačítko-
, tabulku se třemi řádky a
jedným sloupcem. Její šířka bude – 690px. 23
Dále tuto tabulku vyrovnáme, aby byla uprostřed našecho dokumentu.
A nastavíme bílou barvu pro celý dokument
Tuto tabulku upravímé za pomoci kaskádových stylu. Takže do souboru –style.css napíšeme tento kod.
A pak ho připojímé k tabulce.
A v kaskádových stylech napíšeme kod pro všechny odstavce.
5.2. Vytvořeni kostry e-shopu - 2.část Vytvoříme složku pod názvem- img, která se bude nacházet v kořenovém adresáři naších stránek: X:\home\localhost\www\phpsite3 Tam uložíme obrázky, které následně vložímé na úvodní stránku. Vytvořil jsem je předem ve fotoshopu. Obrázky se vkládájí tak, že z pravé strany přetáhneme potřebné fily do naši tabulky. Header.jpg – vložímé do prvního řádku Footer.jpg – do třetího Zatím to vypadá takhle
24
Do druhého řádku, vložímé novou tabulku-
, která se bude dělit na dvě části. Jedná je určená
pro Menu a druhá pro obsah.
Zadámé délku pro první sloupec, pro druhý se vytvoří –automaticky.
A pro buňku (kde je délka 182px), vytvořímé vlastní styl.
No a samozřejmě ho připojímé k této buňce.
Dále bychom vytvořili pozadí pro celý náš dokument. Použijeme 1px obrázek, který je uložen ve složce – img. Proto v kaskádových stylech definujeme styl – body.
Teď vložímé navigaci do levé buňky nově vytvořené tabulky. Navigaci jsem připravil předem. Tento text bude v souboru index.php
Do kaskádových stylu, vložímé tento kod:
25
A celou tuto buňku, vyrovnámé.
Nakonec přidámé do naší Úvodní stánky text a je hotová.
5.3. Rozdělení stánky na PHP bloky Je to velmi pohodlné a užitečné, protože pokud potom budeme chtít provést nějaké změny s těmito elementy, můžeme je v pohodě změnit. Tyto změny se projeví automaticky na celých naších stránkách, a to ve všech dokumentech, které obsahují tyto elementy (header,navigaci,footer). Jinak bychom měli editovat každý dokument zvlášť. 26
V kořenovém adresáři vytvořímé novou složku s názvem – blocks. Zatím tam budou 3 PHP soubory. První pro – header (horní část) Druhý pro – navigaci Třetí pro – footer(dolní část)
Nejprvé musímé vyříznout ze souboru index.php, následující kod.
A pak to vložímé do nového a prázdného souboru s názvem – header.php, který uložímé do složky- blocks.
Na místo kde jsme vyříznuli tento kod, vložímé php-příkaz. To znamená, když prohlížeč bude otevírat tuto stránku, narazí v kodu na tento php-příkaz, který mu řekne, že ve složce blocks je soubor header.php, a ten se musí vložit na dané místo.
Tento postup použijeme i pro další části(navigaci a footer) našého dokumentu. Výsledný kod Úvodní stránky bude vypadat takhle:
Navenek se to nijak neprojeví. V prohlížeči hlavní stánka vypadá tak, jak vypadala před výše uvedenými změnami.
27
5.4. Obsah menu Tím mám na mysli vytvoření stánek pro jednotlivé odkazy v navigaci. Každá stránka bude mít vlastní obsah, který poskytne určitou informaci pro naše zákazníky.
Všechny stránky vytvoříme tak, že změníme soubor index.php a uložímé ho pod svým názvem. index.php firma.php zbozi.php registrace.php
Výsledkem této činnosti budou 4 fungující odkazy v naší Navigaci. Na stránce – Obchodní podmínky, najdeme informaci, která nám pomůže nakoupit zboží. Na stránce- Zboží, najdeme všechny firmy, jejíchž telefony prodávámé. Na stránce- Kontakty- jsou veškeré potřebné údaje o naší firmě.
5.5. Vytvoření Databáze Pro vytvoření databáze budeme potřebovat utilitu- PhpMyAdmin, která je součásti balíku Denwer. Proto abysme ji spustili, musímé napsat v prohlížeči – localhost/tools- a vybrat phpmyadmin. Zde už můžeme vytvořit novou databázi. Nazveme ji –phpsite3 a klikneme na tlačítko –vytvořit.
28
Zatím budeme potřebovat pět tabulek, které jsou vytvořeny na základě – optimalizace. Hlavní tabulka se bude jmenovat- vyrobek. Na ní budou navazovat ještě čtyři: Znacka Top Zaruka Lhuta
Jmeno: vyrobek Pole: 13
Sem akorát dopíšeme názvy naších polí. Id- unikátní identifikátor. To znamená každý výrobek bude mít svoje číslo, které nemá žádný jiný výrobek. V atributech vystavímé – auto_increment (id- se vytvoří automaticky, nic nemusíme psát) a označíme, že se jedná o Primary key
. 29
Title- název, který uvídimé v levém horním rohu našého prohlížeče. Meta_d - nebo-li meta description- popis stránky, který se zobrazí ve vyhledáváčích (SEO problematika) Meta_k – meta key- sem můžeme dopsat klíčová slova, podle kterých uživatele najdou náš výrobek na Internetu. Nazev - název výrobku Cena – má čiselný parametr (INTEGER) Katalcislo- katalogové číslo výrobku, abysme měli přehled o tom, jaké zboží vystavujeme na náš e-shop Parametry- jsou to technické údaje naších výrobků (telefonů)…Např. Hmotnost, rozměry atd. Podle něj zákazník obvykle výbirá, co si má koupit. Foto - fotka mobilu, která se zobrazí spolu s parametry a formou pro objednávku, a také v katalogu spolu s cenou. Znacka- podle ní můžeme vyhledat telefony, o níchž mámé zájem. Top- tento parametr zodpovídá za to, jestli daný výrobek bude zobrazen na hlavní stance našého e-shopu. Zaruka- záruka mobilního zařízení Lhuta- doba za kterou výrobek bude doručen zákaznikovi.
Do této tabulky doplníme 9 mobilních zařízení.Vybral jsem si 3druhy od každé značky(Sony,LG,Nokia) Do této tabulky doplníme 9 mobilních zařízení.Vybral jsem si 3druhy od každé značky(Sony,LG,Nokia).Foto každého telefonu je uloženo v příslušné složce. Pro každý telefon existuje fotka o rozměrech 100x100px.
Přidání jednoho mobilního zařízení do databaze.
30
Takhle to vypadá po doplnění zboží.
Stejným způsobem vytvořímé tabulku – znacka. A dopíšeme tam data. 1
sony
2
LG
3
nokia
Tabulka –top. 1- znamená ano,tento mobil se bude zobrazovat v top nabídce. 1
ano
0
ne
Tabulka – zaruka. 1
24 měsíců
31
2
36 měsíců
Tabulka- lhuta. Dodámé
během
24
1
hodin
3
Dodámé během 3 dnů Dodámé
během
7
týdne
0
Na objednávku
1
Tabulky mámé hotové. Teď musímé vytvořit uživatele, který bude mít přístup k této databázi a take bude mít všechna práva (pro vkladání, editaci a mazání sloupců a editace celé databáze). Privilegia- vytvořit nového uživatele- zde vyplnímé všechna políčka, jako na obrázku. Jméno uživatele: php Host: localhost Heslo: 12345 Podtvrzení hesla: 12345 Označit všechna pole, tím dámé všechna práva našemu uživateli.
32
5.6. Katalog zboží Pro vytvoření nabídky zboží, potřebujeme se spojit s databázi. Proto použijeme následující příkaz. Mysql_connect (název hostu, login uživatele, jeho heslo k databázi) Mysql_select_db (název databaze se kterou se chceme spojit, název spojení)
Uložímé to jako soubor s názvem – bd.php do složky – blocks. Teď musíme použit příkaz pro spojení se souborem bd.php na naší hlavní stránce – index.php
Teď musímé napsat SQL-příkaz za pomoci kterého vybereme v databázi pole, které budeme potřebovat pro zobrazení našeho zboží. Budou to (id,foto_small,nazev,cena,top), které si vybereme z tabulky- vyrobek. Vybírat se bude podle toho, jestli daný výrobek je v top-nabídce (top=1). 33
Tento výběr se uloží do proměnné - $result. Abychom mohli pracovat s tímto výběrem, potřebujeme je proměnit v masiv, který se uloží do proměnné $myrow.
Pro zobrazení nabídky produktů na hlavní stránce, použijeme cyklus DO-WHILE. Tzn. Dělej dokud v proměnné -$result něco je. Pod slovem – dělej, jsem měl na mysli příkaz – printf, který umožnuje vidět naši funkci na obrazovce. Uvnitř této funkce jsme vytvořili tabulku (table). V jednotlivých sloupcích (td) budou: -
Odkaz na stránku –view.php (Kterou vytvoříme pozdějí) s identifikátorem (id). Podle tohoto identifikátoru se pak můžeme podrobnějí podívat na určitý mobil. Podrobnosti najdeme na stance view.php.
-
Malá fotografie mobilu
-
Cena
-
Odkaz na stránku- view.php. Tento odkaz se bude jmenovat – koupit.
Uvnitř této tabulky jsme použili několik nových kaskádových stylu. class=’link’ class=’nazev’ class=’cena’ class=’kup’ Popisovat zvlášt je nebudu, řeknu jenom, že upravují jednotlivé buňky naši tabulky.
34
Po provedení výše uvedených změn, na naši hlavní stránce se objeví nabídka zboží.
Nabídka telefonu se zobrazuje v jedném sloupci. Aby to vypadalo trochu lépe, můžeme přidát následující kod na hlavní stránku.
Nakonec úvodní stánka vypadá takhle:
35
5.7. Seznam Firem V menu navigace máme položku – zboži. Zatím tam nic není, ale potřebujeme tam vytvořit seznam firem. Po kliknutí na obrázek této firmy, otevře se nám stránka na které budou telefony JENOM této firmy.
Jako první krok, upravímé v databázi, tabulku pod názvem – znacka. Přidámé tam ještě jedno pole. Potřebujeme ho proto, abychom mohli doplnit obrázek(nebo-li logo) k příslušné značce. Na obrázku vidíte, že jsme přidali nové textové pole – text.
Obrázek se jmenuje- logoo2.jpg a je uložen ve složce –logo. Přidámé mu šířku 114px a výšku67px.
Podobně doplnímé ostatní.
36
Poté až to budeme mít, otevřeme stránku zbozi.php. Na úplném začátku přidámé php-kod. -
spojení s databázi – include(“blocks/bd.php”);
-
vybereme pomoci mysql příkazu, potřebná pole (id,text,firma,nazev) ze dvou tabulek (znacka a vyrobek).
-
Vytvořímé z toho masiv, který schovámé v proměnnou $myrow.
Uvnitř stránky dopíšeme kod, za pomoci kterého se zobrazí seznam firem a jejích loga. Vybereme pole id, text, firma z tabulky znacka. Použijeme cyklus DO WHILE. Tzn. pokud proměnná $result obsahuje data, zobrazí je ve formě tabulky. Tabulka má šířku 114px, výšku 86px. Ve svém jediném sloupci obsahuje obrázek (logo), který je zářověň odkazem na stránku –viewzbozi.php.
5.8. Třídění výrobků Na stránce zbozi.php jsme vytvořili seznam firem. Pokud klikneme na nějaký obrázek firmy, přejdeme na stránku viewzboži.php, na které se nám zobrazí všechny telefony této firmy. Teď bychom vytvořili stránku viewzbozi.php. Zkopírujeme obsah stránky index.php do nového php souboru a nazveme ho – viewzbozi.php. Zde provedeme jenom pár změn, protože stránky index.php a viewzbozi.php se téměř ničím neliší, akorát na výběr. Na stránce zboži.php jsme použili tento kod. Můžeme tam vidět odkaz. Na jehož konec se vkládá indentifikátor firmy( v tabulce –znacka, je seznam firem, každá firma má svoje –id).
37
Takže
na
stránce
–
viewzbozi.php,
výběr
vypadá
takto.
Vybereme
id,foto_small,nazev,cena,znacka z tabulky vyrobek, kde znacka= proměnné “id”(z výše uvedeného odkazu).
Jelikož jsem použili proměnnou –id, která neni definovaná na této stránce, musímé vložit následující kod. V součastnosti většina hostů vyžaduje, použivání tohoto příkazu (kvůli bezbečnosti). Jinak v nastavení to najdeme pod názvem- Global Registers. Tento kod říká, pokud v tomto souboru existuje globální proměnná –id, promění se v obyčejnou proměnnou- id.
A je to! Teď to ověřímé v prohlížeči. Při kliknutí na značku – Sony se nám otevře stránka, na které budou všechny telefony firmy Sony, které máme v databázi.
38
5.9. Informace o výrobku Otevřeme stránku viewzbozi.php a dáme jí název- view.php.Tato stránka se skládá ze dvou části. V první bude veškerá informace, která se týká výrobku. Druhá část bude obsahovat formulář. Poté co zákazník vyplní tuto formu a stikne tlačítko- odeslat objednávku, soubor – obrabotka.php zpracuje dotaz a odešle tuto objednávku na náš e-mail. Zobrazení výrobku bude probíhat podle id. Proto trochu upravímé SQL dotaz. Jelikož bude potřebovat všechna pole z tabulky- vyrobek, tam napišeme hvězdičku.
V záložce – Common, vybereme description a keywords. Přidámé je na naši stránku spolu s proměnnou – title.
Poté přejdeme na záložku- Design a tam vložímé tabulku, která bude mít 8 řádku a 2 sloupce. Do každého řádku dosadímé příslušné údaje. Jsou vidět na obrázku níže. Každá buňka obsahuje proměnnou, kterou jsme získali z masivu(pomoci SQL příkazu) na začátku dokumentu. Pro přehlednost vložímé do kaskádových stylů tento kod. 39
Tabulka s proměnnými
5.10. Formulář Druhá část této stránky bude obsahovat formulář přes který se budou odesílat objednávky. Na stránce view.php v záložce – Design, vložímé další tabulku. Bude mít 13 řádku a 4 sloupce.
Na některých řádkách budeme muset spojít sloupce. Označímé řádek a stikneme tlačítko
.
Tuto tabulku vložíme do – formy, která se odešle po stiknuti tlačítka do souboru obrabotka.php. 40
Akci provede- obrabotka.php Metoda, kterou se posílají proměnné je POST. Název formy je – form1.
Formulář bude mít následující podobu.
41
Pro tlačítko vytvořímé vlastní styl v souboru style.css.
Formulář je hotový, teď musímé vyrobit soubor- obrabotka.php Neprve napíšeme pojístku pro proměnné, které sem přiletí ze souboru view.php.
Pokud tyto proměnné jsou prázdné, smažeme je úplně(pomoci příkazu- unset). Ještě bych podotkl, že to jsou povinná polička(jméno,příjmení,název firmy), které zákazník musí vyplnit v našem formuláři. Takže pokud existují neprázdné proměnné,
tak se nám odešle e-mail s objednávkou. Dělá se to s pomoci funkce- mail();
42
Tuto funkci uložímé do proměnné – result, abysme pak provedli prověrku. Spočívá v tom, že když všechno proběhne dobře- na obrazovce uvidímé text- Odeslání objednávky proběhlo úspěšně. Pokud ne, dostane špatnou zprávu. Jestli některá z proměnných (jméno, příjmení, firma)- neexistuje, dostaneme zprávuDoplňte prosím všechna pole s hvězdičkou.
5.11. Panel pro administrátory Tuto část našého e-shopu mohou vidět jenom předem určené osoby (majitel firmy,některé pracovníky). Je třeba znát login a heslo, které jsou uložené v databázi. Admin panel- usnadňuje práci s e-shopem. Kdokoliv, kdo zná heslo může editovat zboží nebo firmy (přidávát nové, měnit je nebo mazat). Vypadat to bude přiblížně takto.
Vytvoříme novou složku- admin. Do ní zkopírujeme Index.php 43
Style.css Img – složku s obrázkami Blocks- složku s php soubory.
Otevřeme index.php a trochu ho upravímé. Smažeme první php kod - . Změnímé title- “Hlavní stránka administratorského bloku”. Obsah vymažeme úplně, a můžeme tam dopsat následující text- Vítám Vás v administrátorskem bloku. Teď bychom mohli upravit část s navigací. Otevřeme soubor lefttd.php ve složce –blocks. A změnímé zatím jenom text. Odkazy přejmenujeme pozdějí.
Když to otevřeme v prohlížeči, uvidímé následující obrázek.
5.12. Vkládání výrobků- 1.část Zkopírujeme soubor index.php a uložímé ho pod jménem- new_zbozi.php. Smažeme obsah. V navigaci, v souboru lefttd.php změnímé odkaz na – new_zbozi.php.
44
Změnímé –title v new_zbozi.php.
Pro vytvoření formy využijeme tabulku –vyrobek, která je v naší databázi. Potřebovat budeme všechná pole, kromě pole- id. To se vytvoří automaticky. V Dreamweaveru klikneme na tlačítko- Design. Tam kde budeme mít obsah vložímé novou formu- Forms-form. Zde dopíšeme v Action- add_zbozi.php. Tzn. že tuto formu zpracuje soubor pod názvem add_zbozi.php, který vytvořímé pozdějí. Method- POST- metoda, kterou se budou přenášet data.
Poté vložímé textové pole- text field. ID- se bude jmenovat “title“. Je to proměnná, kterou pak použijeme v souboru –add_zbozi.php Do Label- napíšeme popis tohoto pole.
To vše hodímé do odstavce.
45
Klikneme mezi slovem- telefonu a polem. Ztiskneme SHIFT+ENTER.
Dostaneme takto upravené pole.
Stejným způsobem přídámé ostatní pole. Lišit se budou jenom dva pole- parametry a foto. Místo textfield, sem vložímé –textarea.
Na konci to bude vypadat takto.
Abychom tyto proměnné mohli poslat ke zprácování, potřebujeme ještě tlačítko. Klikneme na tlačítko- button. Do id, napíšeme –submit.
46
Poté klikneme dvakrát na tlačítko. Do value dosadímé- Přidat zboží do databáze.
Tato stránka je hotová.
5.13. Vkládání výrobků – 2.část Teď
budeme
potřebovat
soubor
add_zbozi.php,
který
zpracuje
náš
soubor-
new_zbozi.php a vloží všechny proměnné do databáze. Otevřeme new_zbozi.php a uložímé pod názvem- add_zbozi.php. V obsahu smažeme tag- form, protože ho nebudeme potřebovat. Title- změníme na – zpracování.
Na začátku dokumentu, spojímé se s databázi.
V kodu na předchozí stánce se nám vytvoří proměnné, které se budou přenášet metodou – POST. Všechny tyto proměnné se uloží do masivu. Proto aby náš hosting mohl bez problému zpracovat tento soubor, vytvořímé pojístku v formě doplňkového kodu. Pokud existuje globální masiv – POST a ten obsahuje nějakou proměnnou, tak tato proměnná se bude rovnat obyčejné proměnné.
47
Samozřejmě pokud chceme přidát nové zboží, musíme vyplnit všechna pole v –form. Abysme si to ověřili, napíšeme následují kod ke každé proměnné. Jestli exituje proměnná –title, a proměnná – meta_d...atd., objeví se zpráva, která nám sdělí, že musímé doplnit toto pole. Takhle se ověří všechny naše proměnné a následné dojde ke zpracování dotazu – mysql query.
Pro vkládání proměnné do databáze, použijeme příkaz – INSERT. Tzn. VLOŽIT DO tabulky – vyrobek (do pole1, do pole2…) HODNOTY (proměnná1,proměnná2...). To vše uložímé do proměnné – result.
Pro jistotu dopíšeme malou prověrku. Pokud proměnná result- obsahuje všechny proměnné, na obrazovku se nám vypíše- Přidání zboží do DB proběhlo úspěšně. V případě, že k tomu nedošlo z neznámých důvodů, na obrazovce se objeví- Přidání zboží do DB Neproběhlo.
Aby náš kod na této stránce fungoval dokonale správně, musímé ho ještě doplnit. Ke každé proměnné jsme přidali jednu věc. Pokud naše proměnná bude prázdnou ==’’, tak se úplně smaže (za pomoci príkazu - unset).
48
5.14. Editace Zboží Za tímto účelem vytvoříme – 2 soubory: edit_zbozi a update_zbozi. Otevřeme – new_zbozi.php a přejmenujeme ho na – edit_zbozi.php. Tag- form, zatím potřebovat nebudume, proto zkopírujeme ho do nějakého txt souboru. Na začátku dokumentu bude spojení s databázi. A jelikož použijeme proměnnou – id při přenosu POST, vytvořímé pojístku.
Při zobrazení dokumentu v prohlížeči, uvidímé na stránce – odkazy. Pro každý výrobek bude jeden odkaz. Text odkazu bude stejný jako u pole – title v databázi.
Na začátku bude mysql_query dotaz, pomoci kterého vybereme pole title,id z tabulkyvyrobek. To vše se uloží v proměnné result. Poté proměnnou result hodímé do masivu, a masiv uložímé do proměnné –myrow. Vytvořímé cyklus DO WHILE. Tzn. Zobrazuj zboží, dokud proměnná – myrow není prázdná. Zobrazovat se zboží bude za pomoci funkce- printf. Do ní se dá uložit html kod, proto jsme jí použili. Tato funkce zobrazí odkaz na jehož konci bude indentifikátor zboží (ID). Textem odkazu je pole –title.
49
V souboru lefttd.php dopíšeme odkaz na tuto stránku.
A můžeme rovnou zkontrolovat výsledek v prohlížeči.
První část je hotová. Druhá část bude vypadat takto. Jak již bylo řečeno každý odkaz obsahuje id zboží. Pokud id ještě neexistuje, zobrazí se nám všechny tyto odkazy s id. Pokud ano, po kliknuti na nějaký odkaz s identifikátorem, se nám objeví –form. Na začátek této funkce dopíšeme následující kod. Nezapomeneme po While uzavřít závorku “}”.
Použijeme funkci - print <<
50
Prozatím se nám vytvoří prázdný formulář. Musí ale obsahovat text, který je v databázi. Začneme z toho, že vytvořímé mysql dotaz, který se bude nacházet před funkci – PRINT. Vybereme všechna pole z tabulky – vyrobek, kde id = proměnná id.
Zpracovávat tento formulář bude soubor –update_zbozi.php.
Dále do každého políčka vložíme text z databáze. Udělámé to tak, že v kodu příslušného pole dopíšeme hodnotu, nebo-li – value.
To samé provedeme s ostatními poly. Rozdíl bude akorát tam, kde jsme použili pole – textarea.Tam proměnná se vkládá jinde.
Proto aby stránka, která bude zpracovávát formulář, vědělá, který výrobek chceme upravit, vložímé skryté pole –id. Vložímé ho před tagem – tlačítka (button).
51
Druhá část, která zpracuje výše uvedený soubor se bude jmenovat – update_zbozi. Otevřeme add_zbozi.php a přejmenujeme ho. Na začátku přídámé pojístku pro – id.
Poté smažeme starý dotaz mysql a místo něho dosadímé následující kod. Obnovit tabulku- vyrobek, dosadit (SET) proměnné kde id se rovná proměnné – id.
A máme to!
5.15. Odstranění výrobků Otevřeme soubor edit_zbozi.php a nazveme ho – del_zbozi.php. Na začátku necháme jenom spojení s DB.
Přejmenujeme – title.
Smažeme zbytečný kod a zůstane jenom to, co je na obrázku.
Místo odkazu se nám zobrazí tlačítko typu- radio. Text, který se zobrazí vedle, vezmeme z Databáze v pole –title.
52
Otevřeme soubor leftd.php a vytvoříme odkaz na náš soubor.
Teď vytvoříme tlačítko, pomoci kterého smažeme – výrobek. Po tagu- valign="top", vložíme -form. Klikneme na záložku –form.
Do Action napíšeme soubor, který zpracuje naš form. Metoda, kterou se přenesou proměnné bude – Post. Zavírací tag hodímé až na konec.
Před - /form, vložíme tlačítko. Záložka – forms-button. Doplnímé údaje podle obrázku. Kod tlačítka vložímé do odstavce.
Při otevření stránky v prohlížeči se nám zobrazí toto.
Teď vytvoříme stránku drop_zbozi.php, která bude podobná jako update_zbozi.php. Otevřeme soubor a přejmenujeme ho. Smažeme pojístky ke všem proměnným kromě – id.
53
Kod přepíšeme na následující.
Tato část je hotová. Pokud chceme usnadnit práci s přidáním, editaci a mazaním firem, provedeme to stejným způsobem. Výsledkem této práce budou aktivní odkazy navigace.
5.16. Zabezpečení administrátorské části Otevřeme složku –admin. Vytvoříme nový php soubor, který nazveme lock.php. Do něj vložímé tento kod.
54
Do každého souboru v administrátorské části na začátku dokumentu vložímé tento kod.
Tzn. při otevření dokumentu se nejprve zkontroluje jestli máme na to oprávnění. Vytvořímé uživatele, který bude mít opravnění. V prohlížeči zadámé- http://localhost/phpmyadmin/ Otevřeme naši databázi a vytvoříme novou tabulku s názvem- userlist. Budou tam 3 pole.
Dosadímé názvy polí a připadně jejích délku.
Přes záložku- vložit, vložímé jednoho uživatele. Login: phpuser Heslo: php
Teď při pokusu otevřit nějaký soubor z administrátorské části, před námi se objeví okénko do kterého musímé zadat login a heslo.
55
56
6.
Závěr Ve své práci jsem si kladl za cíl vytvořit engine internetového obchodu. Tzn. vytvořit
takové stránky, které bych mohl nahrát na web a prostřednictvím něj začít obchodovat. Samozřejmě ještě na začátku své práce jsem si stanovil určitá kriteria:
Jednoduchá údržba stránek Přijemný vzhled stránek Snadné nakupování Bezbečnost
Teď bych podrobně rozebral výše uvedené body.
Jednoduchá údržba stránek Provozovat týto stránky může úplně každý. Neni třeba znát php, mysql dokonce ani základy – HTML. Pomůže nám v tom – Admin panel. Stačí znát login a heslo, abysme se dostali do administrátorské části. Tam můžeme vkládát, upravovat a mazat jednotlivé výrobky. Obrázky těchto výrobku se vkládají do složky – img.
Přijemný vzhled stránek Všichni asi tušímé, že vzhled internetového obchodu hraje důležitou roli. Pokud bysme vybrali nevhodné barvy nebo odpůzující obrázky většina zázkazníku by rovnou opustila týto stránky. Ve této práci jsem použil hotové obrázky, které jsem předem vytvořil v grafickém programu- Adobe Photoshop. Každý e-shop musí být jedinečný a podle mého názoru neni třeba opakovat za mnou tuto práci.
Snadné nakupování Zhlediská zákazníku, jednu z nejdůležitějších roli při výběru elektronického obchodu hraje – snadné nakupování. Pokud e-shop obsahuje spoustů funkcí a nespočetné množství obrázku, je velmi těžké pochopit kam a co se má zadávat, abysme mohli dokončit proces objednání zboží.
57
V mém případě vše je velice jednoduché. Stačí kliknout na Vámi vybraný výrobek. Otevře se nová stránka na které zákazník najde podrobnou informaci o tomto výrobku a trochu níže, stačí jenom vyplnit pole označené hvězdičkou a zmačknout tlačítko- odeslat objednávku.
Tato objednávka se odešle na e-mail provozovatele e-shopu. Jakmile se doručí, zaměstnanci firmy se mohou spojít telefonicky se zákazníkem, který objednal toto zboží. Anebo mohou rovnout poslat zboží ke dveřím zákazníka a platba se uskuteční až na místě při předání zboží. Zaleží na obchodních pomínkach, které firma uvede na stránkach svého e-shopu.
Bezbečnost Na tuto položku se můžeme podívat ze dvou úhlu pohledu. Jeden je ze strany zákazníka při nákupu zboží. Ten nemusí zadávat žádné citlivé informace jako jsou – čísla kreditních karet nebo číslo bankovního účtu. Z druhé strany bezpečnost ze strány provozovatele. Nemusí se starat o bezpečnou komunikaci mezi klientem a jeho elektronickým bankovním účtem. Přístup k administrátorské části je také zabezpečen heslem. Je třeba akorát vybrat bezpečné heslo.
Podle mě jsem splnil všechna týto kritéria, které jsem si stanovil na začátku a považují svou práci za dokončenou po všech stránkách. Tento eshop najdete na - http://dip-prace.ic.cz
58
6.1. Seznam použité literatury 1. ORLOV, Leonid. Kak sozdat elektronnyj magazin v internet. Zimina; Leontjev; Alehin. 2006. dop. izdanie. Moskva : Buk-press, 2006. 383 s.
2. Editory HTML stránek : programy pro tvorbu webů. HTML editory [online]. 2006 [cit. 2006-04-17], s. 3. Dostupný z WWW:
.
3. VLASTIMIL, Waic. Pravá ruka webmasterova: Adobe Dreamweaver CS3 : Dreamweaver CS3 podrobně. Živě.cz [online]. 2007 [cit. 2007-08-10], s. 3. Dostupný z WWW: .
4. Denwer.ru
[online].
2002
,
2005
[cit.
2005-01-01].
Dostupný
z
WWW:
.
5. VIEIRA, Robert. Beginning SQL Server 2005 Programming. Птицына, Птицына. Moskva : Диалектика, 2007. ISBN 978-5-8459-12. s. 833.
6. HOLZSCHLAG, Molly. Using HTML and XHTML. Сысонюка; В.В.Александров. 2003. izdanie. Moskva : Вильямс, 2003. 736 s. ISBN 5-8459-0403.
7. Ломов, Александр. HTML,CSS скрипты: Практика создания сайтов. Е.Конукова; А.Чаднов. Petrohrad : БХВ-Петербург, 2006. 416 s. ISBN 5-94157-698-6.
8. Котеров, Дмитрий, Костарев, Алексей. PHP 5 В подлиннике. Е.Кондукова. Petrohrad : БХВ-Петербург, 2005. 1120 s. ISBN 5-94157-245-X.
9. Дронов, Владимир. PHP, MySQL и Dreamweaver 2004 : Разработка интерактивных web-сайтов. В.Пиотровская; E.Кондукова. 2005. izdanie. Petrohrad : БХВ-Петербург, 2005. 448 s. ISBN 5-94157-598-X. 10. Зольников, Дмитрий. PHP 5. 2007. izdanie. [s.l.] : НТ Пресс, 2007. 257 s. ISBN 5-47700845-8.
59
11. HOLZENER, Steven. PHP в примерах : включая версию 6. С.Банникова. Moskva : Бином, 2007. 352 s. ISBN 0-13-149862-2.
12. Adobe Dreamwever CS3 : Руководство пользователя. [s.l.] : Adobe Systems Inc., 2007. 750 s.
13. Толковый словарь русского языка. [s.l.] : Терра-Книжный клуб, 2007. 4 sv. (702, 702, 702, 702 s.). ISBN 978-5-275-01504-1.
14. Forum php programátorů [online]. 2003 [cit. 2009-04-03]. Dostupný z WWW: .
15. Vše
o
Joomla
[online].
c2006
[cit.
2008-03-01].
Dostupný
z
WWW:
.
16. Павел, Коротов. Создание интернет-магазина: готовые решения [online]. c2001 [cit. 02-03-15]. Dostupný z WWW: .
17. V krátce o Drupal [online]. c2003 [cit. 2004-02-24]. Dostupný z WWW: .
18. Vše
o
WordPress
[online].
c2006
[cit.
2008-08-07].
Dostupný
z
WWW:
.
60