Evropský polytechnický institut, s.r.o.

 

 

 

 

 

 

 

BAKALÁRSKA PRÁCA

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2013                                                                      MARTIN GALOVIČ

Evropský polytechnický institut, s.r.o. v Kunovicích

Študijní obor: Elektronické počítače

 

 

 

 

 

 

 

 

 

SOFTWARE ELEKTRONICKEJ AUKCIE PRE MESTSKÝ ÚRAD V STAREJ TUREJ

 

 

(Bakalárska práca)

 

 

 

 

 

 

 

 

 

 

 

Autor: Martin GALOVIČ

Vedúci práce: Ing. Ján VOLÁR

 

 

Kunovice, 2013


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Prehlasujem, že som bakalársku prácu vypracoval samostatne pod vedením
Ing. Jána VOLÁRA a uviedol v zozname literatúry všetky použité literárne a odborné zdroje.

 

 

Kunovice, 2013                                                                                

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ďakujem pánovi Ing. Jánovi VOLÁROVI za veľmi užitočnú metodickú pomoc, ktorú mi poskytol pri apracovaní mojej bakalárskej práce.

 

Kunovice, 2013

 

 

Martin GALOVIČ

Obsah:

ÚVOD.. 8

1      Teoretický základ pre elektronické aukcie a obchod.. 10

1.1   Elektronický obchod a obchod na internete.. 10

1.2   Vývoj elektronického obchodu.. 11

1.3   Internet ako predmet podnikania.. 12

1.4   Internet ako podpora obchodných aktivít. 13

1.5   Internet ako prostriedok podnikania.. 14

1.6   Štruktúra systému elektronického obchodu.. 15

1.7   Výhody obchodovania prostredníctvom internetu.. 16

1.8   Nevýhody obchodovania prostredníctvom internetu.. 17

2      Analýza zadania - Ekonomické efekty elektronických aukcií  18

2.1   Miera súťaženia.. 18

2.2   Úspory.. 18

2.3   Cenový benchmarking.. 25

2.4   Dodatky.. 25

2.5   Elektronicke aukcie a nákup aukčných služieb.. 26

2.6   Používané elektronické aukcie podľa spôsobu ich ukončenia   28

2.7   Elektronické aukcie podľa spôsobu definovania začiatočje ceny   29

3      Analýza konkurencie - elektronické aukcie na Slovensku.. 33

3.1   Trh elektronických aukcií v čase - základné trendy.. 34

3.2   Typy zákaziek s elektronickými aukciami. 35

4      Návrh riešenia, implementácia, testovanie, ekonomický prínos  38

4.1   Riešenie.. 38

4.1.1    Index.php. 38

4.1.2    Check.php. 39

4.1.3    Index.html 40

4.2   Administračný systém webu.. 42

4.3   Vytvorenie aukcie.. 47

4.4   Generátor kódov.. 51

4.5   Aktuálna aukcia.. 55

4.6   História nástrojov použitých pre tvorbu aukčného portálu   58

4.6.1    PHP.. 59

4.6.2    SQL. 60

4.6.3    HTML. 61

4.6.4    JavaScript 65

ZÁVER.. 68

Hodnotenie podniku.. 72

Hodnotenie užívateľov.. 73

ABSTRAKT.. 74

ABSTRACT.. 75

ZOZNAM LITERATÚRY.. 76

Zoznam skratiek.. 79

Zoznam grafov, tabuliek a obrázkov.. 81

Zoznam príloh.. 83

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


ÚVOD

 

Internet, ako celosvetová sieť počítačov pre každého, rozširuje charakteristické vlastnosti svetovej ekonomiky ako celku. Využitie tejto dnes skoro každému prístupnej siete poznačilo všetky komerčné, ale tiež nekomerčné subjekty, ktoré začali zisťovať nové možnosti, ktoré  možno v tejto sieti získať a vytvorené príležitosti. Táto celosvetová infraštruktúra dovoľuje dosiahnuť informácie uložené vo viacerých, veľakrát zemepisne veľmi vzdialených miestach, komunikovať a úzko spolupracovať medzi sebou prostredníctvom počítača, mobilu a podobne.

 

sa tvrdiť, že internetové elektronické podnikanie je v podstate formou už existujúcich činností. Tak, ako doteraz spotrebitelia dostávali rôzne reklamné materiály, prospekty a letáky o tovaroch, v elektronickom internetovom obchode sa preferuje elektronická prezentácia výrobku, napríklad  prostredníctvom internetových webových stránok, elektronickej pošty čiže e-mailu a podobne.

 

Internetový elektronický obchod nie len webové stránky. Elektronický obchod zahŕňa množstvo aplikácií ako elektronické bankovníctvo, nákup v on-line obchodoch alias e-shopoch, hľadanie si práce, konanie aukcií a spolupráca na rôznych výskumoch
a projektoch a v neposlednej podstatnej rade elektronické e-aukcie. Podobne hotovostné ale i bezhotovostné transakcie sa realizujú v elektronickej forme, napríklad platením platobnými kartami, využívaním elektronických e-šekov, alebo v neposlednej rade platbou cez internetové bankovníctvo. Častými transakčnými príkladmi elektronického obchodu sú napríklad:

·         predaje kníh,

·         rôznerezervácie ubytovaní,

·         nákupy prostredníctvom e- aukcií,

·         platby prostredníctvom platobných kariet v tzv. e-shopoch,

·         práca robená na diaľku,

·         elektronické e-aukcie.

 

Spoločnoti, ktoré sa rozhodnú prezentovať svoje výrobky na celosvetovej sieti internet, sa zviditelnia pred konkurenciou, súčasťou je i ľahšie a rýchlejšie získavanie zákazníkov
a zakázok, stávajú sa pružnejšími a samozrejme zvyšujú svoje zisky a obraty a v prípade
e-aukcíi v štátnej samospráv aj transparentnosť výberu. Predovšetkým tieto podnety sú motiváciou a hnacím motorom v manažmente viacerých firiem, podnikateľov a úradov nielen v Slovenskej republike. Prezentáciou na internete sa môžu zvýšiť jak spokojnosť zákazníkov, tak aj prestíž firiem. Je samozrejmé, že takáto firma má väčšie možnosti výberu z ponúk od rôznych dodávateľov a tak isto aj subdodávateľov, ktorí sa prihlasujú
a spravidla ponúkajú to, čo firma potrebuje pre svoj plynulý chod v rôznych kvantitatívnych, kvalitatívnych a cenových ponukách. Malá nevýhoda celosvetovej siete zvanej Internet je ten, že jej je  dávaná vina a tým pádom aj všetkým počítačom na ktorých internet beží, za zníženú aktivitu a interakciu v miestnej komunite, ale zase na druhej strane je internet bránou do globálneho sveta prináša množstvo už spomenutých výhod,
z ktorých jedinec a firmy môžu profitovať. Tým pádom všetci môžu myslieť globálne
a umožniť obchodovať celý svet medzi sebou a naviazať taktiež medzinárodné vzťahy medzi krajinami za účelom znižovania náklaov a zvyšovania profitu.

 

Snáď najviditelnejšia výhoda interntu je úspora nákladov, pretože informácie  vo vyšších rýchlostiach šetria čas, ktorý buď šetrí, alebo zarába peniaze. Veľa funkcií
v podnikateľskom procese bolo automatizovaných, aby sa zefktivnili procesy a zároveň znížili náklady na pacovnú silu.

 

Internetový  marketing, alebo online marketing, odkazuje na reklamné a marketingové úsilie, ktoré používa web a e-maily pre riadenie priameho predaja cez e-komerciu, rovnako ako predaj z webových stránok alebo e-mailu. Internetový marketing a online reklamné úsilie sa zvyčajne používajú v spojení s tradičnými typmi reklamy, ako je rádio, televízia, noviny a časopisy.

 

Internetový marketing môže byť tiež rozdelený do viacerých špecializovaných oblastí, ako je webový marketing, e-mailový marketing a sociálne mediálny marketing:  Web marketing zahŕňa e-komerčné webové stránky, propagačné a informatívne webové stránky, on-line reklamy vo vyhľadávačoch a organické výsledky vyhľadávačov pomocou optimalizácie vo vyhľadávačoch (SEO).  E-mail marketing zahŕňa aj reklamné
a propagačné marketingové aktivity prostredníctvom e-mailových správ so súčasnými
i potenciálnymi zákazníkmi.  Sociálne mediálny marketing zahŕňa reklamu a marketing (vrátane virálneho marketingu), úsilie prostredníctvom sociálnych sietí.

1                                 Teoretický základ pre elektronické aukcie a obchod

 

Vznik intenetových e-aukcií a elektronického internetového obchodu ako celku významne znížil rôzne vstupné prekážky a nepríjemnosťi spojené s obchodovaním
s rôznymi typmi výrobkov a produktov. Pomocou internetovej siete sú predajcovia
a rôzne firmy, vrátane viacerých štátnych inštitúcií, schopní svoje výrobky a produkty predávať rentabilnejšie a efektívnejšie.

 

Ako príklad by sa dal uviesť rok 2007, kde bolo v Spojených štátoch amerických zrealizovaných zhruba 256 miliárd online transakcií, čo činilo 18 percentné navýšenie
v porovnaní s rokom predtým. Tento fakt pochádza zo správy "State of Retailing On-line 2007", ktorá bola vydaná a zhotovená organizáciami ako sú National Retail Federation
a Shop.org. V dnešnej dobe má zhruba 67 spoločností v zozname FORTUNE 1000 (zoznam veľkých korporácií v USA) výnosy z internetového elektronického podnikania
v hodnote viac ako 10 miliónov amerických dolárov. Medzi pitatich najväčších internetových e-predajcov patria : Amazon, Hewlett Packard, Staples, Dell a Office Depot. Z prieskumu vyplýva, že do vrcholovej kategórie produktov predaných cez internet patria veci ako knihy, muzika, potreby pre kancelárie, počítače a iná  elektronika pre spotrebné účely. Existencia elektronického obchodovania by bez internetovej celosvetovej globálnej siete nebola naozaj možná.

 

 

1.1                          Elektronický obchod a obchod na internete

 

Internetová sieť je sústava vzájomne prepojených rôznych počítačov v sieti, ktoré sú postavené na spoločnej myšlienke a na rovnakých sieťových protokoloch. Metóda ich vzájomného spojenia a možnosti vzájomnej kooperácie sú, že bežný používateľ môže výsledný celok považovať za jednotný sieťový prvok.

 

Je to relatívne nedávno, čo celosvetová počítačová sieť podstúpila viaceré zmeny –
z technického moderného, pre mnohých priamo zázraku, určeného odborníkom, sa stala záležitosťou globálne masovou, prístupnou takmer každému. Stalo sa tak v priebehu toho, keď internet prevzala do rúk sféra komercie a dokázala ponúknuť internetové služby ako bežnú komoditu každému, kto je a bol ochotný za to zaplatiť. Súčasne sa sféra komercie zaslúžila o to, aby práca v internete bola maximálne zjednodušená a nevyžadovala takmer žiadne odborné zázemie, ba čo viac ani povedomie o technických princípoch, na ktorých je internetová sieť vybudovaná. Dvere internetu sa tým otvorili obrovskému zástupu  používateľov z radu bežných ľudí, ktorí sú v iných oboroch majstri, ako sú počítače, siete
a v eposlednej rade komunikácie.

 

Rozvoj internetu v súčasnosnej dobe je daný zaujímavým paradoxným javom –
a to, že hlavným problémom už nie sú technológie a technická stránka fungovania tohoto spojenia a ani záležitosti z organizačnej sféry. Aj napriek istým problémom da dajú riešiť za pomoci investícií od investorov. Tie je komerčná sféra v podobe investorov ochotná poskytnúť, ak bude možné očakávať určitú návratnosť vynaložených prostriedkov – je závislá konkrétne na tom, aký bude v skutočnosti zájem o internetovú sieť a predovšetkým aký veľký bude dopyt po službách na sieti. Dopyt záleží od viacero vecí, a to či a ako hlboko dokážu ľudia chápať, čo internet skutočne predstavuje, k čomu a ako by túto sieť mohli využiť a čo pozitívne by im to mohlo priniesť. Rozvoj internetovej siete momentálne závisí iba na nich, na ľuďoch.

 

Elektronický internetový obchod a rôzne formy tohoto obchodu, môžeme definovať ako akýkoľvek obchod, ktoŕy je alebo bol uskutočnený s využitím elektronických nástrojov
v sieti internet. Pojem elektronický e-obchod vznikol ako idea, nemá žiadnu presnú definíciu a je používaný viac zo zvyku pre jednu z foriem využívania prenosu dát na diaľku. Je vlastne obchodom, pri ktorom dorozumievanie medzi účastníkmi prebieha
z časti alebo úplne cez počítačové siete, prostredníctvom počítačovej techniky, jej príslušenstva a v neposlednej rade aj telekomunikácií.

 

 

1.2                          Vývoj elektronického obchodu

 

Okamžite ako vznikla možnosť prepojenia mase ľudí pomocou  internetovej siete, vznikol taktiež nápad o elektronickom obchodovaní. Na počiatku vývoja bolo určite veľmi potrebné vymysliť systém, ktorý by bol schopný dokázať zabezpečiť chod tohoto typu obchodovania.

 

Obchodné pravidlá, obmedzujúce určité hranice, internet tento problém v podstate doriešil. Na začiatku nastávali malé poruchy a nezhody, ale po tejto etape už nič nebránilo tomu, aby bol uskutočnený ďalší vývoj. Na internetovej sieti sa začali proezentovať prvé elektronické e-obchody. Týmto činom firmy vzbudili záujem užívateľov a prívržencov internetu o elektronické obchodovanie. Ako prvé začali obchody podnikať sami medzi sebou a neskôr sa prešlo na koncových užívateľov.

 

Dá sa v zásade tvrdiť, že až na prelome tisícročia priniesol zmenu myslenia pre obchodníkov a taktiež zákazníkov, ktorí začali v takýto systém mať dôveru. Dnes si už môžeme v elektronických obchodných domoch zakúpiť akýkoľvek druh tovaru. Prináša to mnoho nových a určite zaujímavých možností.

 

 

1.3                          Internet ako predmet podnikania

 

Keď v dobách svojej vlastnej akademickej minulosti bolo prevádzkovanie internetu financované štátnym rozpočtom, pomocou rôznych grantových agentúr, tak postupný prechod na komerčnejší spôsob prevádzkovania si vyžiadal nahradiť tieto finančné zdroje inými.

 

Samozrejmosťu bolo užívateľov nechať platiť za používanie internetového pripojenia do siete – čo si ale bohužiaľ v praxi vyžiadalo vznik takých subjektov, ktoré budú z jednej strany vyberať prevádzkové poplatky a na strane druhej budú hradiť prevádzkové náklady internetu. Z dôvodov praktických to nakoniec dopadlo tak, že tieto subjekty si začali budovať časticové siete, teraz už na čisto komerčne postavenej báze, a prepojovať ich
s internetom. Význam a počet týchto komerčných súčastí rástol rýchlo, až prekonal jeho pôvodné akademické jadro. Internetová sieť tak dôsledne prešla na čisto komerčný spôsob činnosti. Stala sa premyslenou sústavou vzájomne prepojených rôznych menších sietí,
z ktorých každá patrila a patrí konkrétnemu subjektu a ten uhrádza jej prevádzku a po vzájomných dohodách s ostatnými subjektami umožňuje svojim zákazníkom vstup aj do iných sietí.

 

Majiteľ siete po technickej stránke predáva svojim verným zákazníkom takzvanépripojenie k svojej sieti, avšak kvôli prepojeniu s inými sieťami v sieťovom systéme
a vzájomnými dohodami s ostatnými prevádzkovateľmi, tak v skutočnosti ponúka svojim verným zákazníkom prístup k internetovej sieti. Týmto subjektom sa taktiež hovorí poskytovatelia internetového pripojenia. Pre tohoto poskytovateľa prístupu je internet predmetom jeho podnikania. Čo ponúka a poskytuje, je v reále prenos dát, presnejšie definované tzv. TCP/IP konektivita do systému vzájomne prepojených sietí. Kvôli praktickému využitiu tohoto prepojenia sú potrebné technické
a softwarové prostriedky – smerovače, routery, uzlové rozbočovače, programy
a podobne, ale taktiež pevné linky či iné druhy spojení pre pripojenie zákazníka na najbližší prístupové bod v sieti vybraného poskytovateľa pripojenia. Všetky tieto náležitosti musí niekto poskytnúť. Pre týchto dodávateľov sa internet takisto stáva predmetom ich podnikania.

 

 

1.4                          Internet ako podpora obchodných aktivít

 

Služby, s ktorými internetová sieť ide v ústrety obchodovaniu a podnikaniu vo všeobecnosti, sa z neho v súčasnosti stáva samozrejme najrozšírenejšia forma podpory pre podnikanie. Ide v podstate o činnosť, ktorá síce nepredstavuje samotné obchodovanie
a jeho formu, ale je pre uzatváranie zakázok potrebná. Všetci, čo chcú niečo predať, musoa dať svojim potenciálnym záujemcom vedieť o svojej aktuálnej ponuke. Mali by tiež poskytnúť všetky potrebné informácie pre prípadné rozhodnutie ku kúpe.

 

Všeobecná forma poskytovania takýchto informácií predstavuje uverejňovanie inzerátov
v periodickej tlači a masových komunikačných prostriedkoch, umiestňovanie rôznych reklám na verejné miesta, prípadné rozdávanie a rozposielanie najrôznejších reklamných materiálov a podobne. Je veľmi dôležité si uvedomiť, že takýto spôsob distribuovania je pre príjemcu často pasívny. Je celkom ťažké takúto formu distribúcie informačných materiálov presne zacieliť ku zainteresovaným užívateľom a preto často býva celkový výsledok častokrát veľmi neefektívny. V internetovej sieti je rozosielanie takýchto nevyžiadaných reklamných materiálov brané za veľmi nevhodné
a nežiadúce. Nie je to dané iba akademickou tradíciou, ale taktiež spôsobom financovania v dnešnej dobe. K distribúcii reklamných materiálov po sieti by malo dochádzať iba vtedy, ak o to príjemca sám požiada. [24, s. 32]              

Veľa internetových služieb dnešnej doby má taký charakter, ktorý distribúciu rôznych reklamných materiálov neumožňuje. Tieto služby potom vychádzajú z princípu, že aktivitu musí prejaviť sám používateľ.

 

Vo viacerých krajinách globálneho sveta je internet plne postavený na komerčnej báze. Prevažne viac ako je polovica užívateľov ho využíva k obchodnému účelu. Pracovníci marketingu v podnikoch patria k hlavným užívateľom internetových dát. Online marketing je čoraz častejšie považovaný za najperspektívnejší spôsob podpory pre podnikanie. Ide
o takzvanú novú disciplínu, ktorá za svoj vznik vďačí rýchlemu rozvoju internetovej siete
a hlavne jeho služby World Wide Web. Ak sa bavíme o online marketingu, tak nejde len
o samotné obchodovanie, ale aj o významnú podmienku skvalitnenia a zvýšenia jeho účinnosti  u aktivít reklamného a marketingového charakteru podnikania. Internetová sieť je považovaná za najefektívnejší nástroj komunikácie na trhu a taktiež za ideálny nástroj pre vyhľadávanie budúcich zákazníkov. Dva veľmi dôležité aspekty moderného marketingu sú:

·         výber cieľových skupín zákazníkov,

·         rozvoj interaktívneho dialógu so zákazníkom.

 

 

1.5                          Internet ako prostriedok podnikania

 

Internetová sieť sa využíva hlavne na šírenie informácií potrebných k budúcemu uzatváraniu obchodných kontraktov, do budúcna treba taktiež počítať so zväčšujúcou sa  podporou iných fáz obchodného cyklusu, ktoré sú v dnešnej dobe už na dosť veľkej úrovni. Internetové obchody je možné rozdeliť do kategórií, ale všetky majú spoločný cieľ, a to prilákať a zaujať zákazníkov do takej miery, aby si objednali ponúkané produkty.
K tomuto všetkému  je potrebné intuitívne ovládanie, hlavne prehľadnosť, jednoduché  vyhľadávanie, detailnosť jednotlivých položiek, frekventovanejšia  aktualizácia atď.
[19, s. 45]

 

Obchodovanie na internete prebieha v podstate jednoducho. Najprv si vyhľadáme obchod
s vhodným sortimentom, ktorý nás zaujíma a následne pri prehliadaní katalógu výrobkov si vybraný tovar vkladáme do svojho nákupného e-košíka, ktorý je súčasťou väčšiny
e-obchodov. V prípade využitia elektronických e-aukcií sa sortiment nevkladá do košíka, ale formou aukčnej siene vo forme online, sa licituje. Po skončení výberu tovaru je potrebné zadať identifikačné údaje ako sú meno, adresa, telefón, e-mail atď. Ihneď potom je nutné vybrať spôsob platby, väčšina elektronických e-obchodov ponúka niekoľko spôsobov úhrady sortimentu, prípadne inou formou platby. Spravidla je možný aj výber spôsobu dodania ako je pošta či kuriérska služba.

 

Kvalitný internetový e-obchod neznamená iba vytvorenie webovej aplikácie na predaj soritmentu, ale ide samozrejme o vytvorenie komplexného nástroja, ktorý zákazníkovi ponúka širšiu ponuku produktov, koncentrovanú na jednom spoločnom mieste, tým sa mu ušetrí čas a  samozrejme aj nemalé peniaze. [25, s. 54]

 

 

1.6                          Štruktúra systému elektronického obchodu

 

Medzi najdôležitejší komponent elektronického e-obchodu patrí taktiež elektronický platobný systém. Systém internetového e-obchodu pozostáva z viac komponentov. Informačná databáza dostupných produktov a služieb, ktorá udržiava strana predávajúceho. Zákazníkovi je dostupná napriklad vo forme online katalógov. Databáza nemusí mať charakter centrálneho smeru, ale predajcovia si môžu udržiavať svoje vlastné informačné databázy. Dôležitú rolu tu samozrejme hrajú aj prístupy technikého smeru v žltých stránkach, ktoré sa vždy snažili o nezávislosť katalogizácie tovaru a služieb u konkrétnych predajcov a sú dostupné predajcom, aj zákazníkom. Informačná databáza často umožňuje pre zákazníka, súčasne s prezentáciou informácií o rôznom tovare a službách, realizovať online e-obchodné transakcie. Mnohí predajcovia majú za predpoklad, že komunikujú so zákazníkmi, ktorí s istotou vedia, čo chcú kúpiť a zase  iné predajné systémy zákazníkovi poskytujú detailný popis sortimentu a predpokladajú, že zákazník sa podľa nich pre tovar rozhodne. [26, s. 42]

 

Vyhľadávacie systémy pre služby a produkty sú predovšetkým určené k vyhľadávaniu očakávaného produktu alebo služby. Nejedná sa pritom len o lokalizáciu zdroja, šastokrát je tiež možné klásť na vyhľadaný cieľ celú radu podmienok – očakávanú kvalita, rôzne vlastnosti, cenové ponuky a podobne. Sú tu aj porovnávacie systémy, ktoré umožňujú naviazanie kontaktov medzi výrobcami tovarov a zákazníkmi. Vyhľadávané služby sa
v systémoch špecifikujú vlastnosťami a nie menom. Smerovanie procesu vyhľadávania je riadené z väčšej časti obsahom a nie identifikáciou, integrujú sa rôzne služby vyhľadávacích nástrojov a viac je požadovaná ich nezávislosť na doménovej štruktúre
v sietí. Proces vyhľadania viaceré systémy zosobňujú podľa predchádzajúcich požiadavkov od zákazníka, čiže funguje tu určitý odhad toho, o čo sa zákazník zaujíma.

 

Elektronický platobný systém je ekvivalentom finančných nástrojov bežne používaných, implementuje vystavenie účtov zákazníkovi a prijímanie jeho platieb. Realizujú sa tu ponuky cien, prijímajú objednávky, pracuje sa s elektronickou hotovosťou,
s účtovacými systémami atď. Bezpečnostné služby chrániace systém pred škodlivým
a neoprávneným použitím, sú nejakou zárukou zachovania súkromia pre zákazníka
a chránia hlavne pred poškodením aj určitú vybudovanú povesť predajcu. Sú zavedené vhodnou bezpečnostnou politikou, ktorá uplatňuje funkcie presadzujúcice bezpečnosť
a autorizácie atď.), ktoré bývajú zväčša zavedené pomocou vhodných heslovacích, rozumej kódovacích, mechanizmov a elektronických certifikátov.

 

 

1.7                          Výhody obchodovania prostredníctvom internetu

 

S príchodom elektronického obchodovania sa prinieslo nespočetné množstvo výhod. Najväčšou je pre  zákazníka možnosť nakupovať priamo z  pohodlia domova. Zákazník si v pokoji príslušný tovar môže vybrať a zaplatiť. Tovar je možné zoradiť podľa viacero kategórií. Z pohľadu majiteľa internetového obchodu je veľkou výhodou ľahká manipulácia s cenovými hodnotami a samotným sortimentom v ponuke.

 

E-obchod je možné so zákazníkom spojiť s jeho infraštruktúrou, čím bude zaručené, že zákazník bude informovaný za každých okolností o najaktuálnejšej ponuke a podobne. Internetové e-obchody je možné využiť ako komunikačný nástroj medzi predajcom
a zákazníkom, ale taktiež slúži aj pre rôzne obchodné transakcie vo veľkoobchodnom svete. Má to veľké výhody, jednotlivým záujemcom môžeme prideľovať individuálne ceny na produkty, a tým im výrazne uľahčiť objednávku, sprehľadnenie a zautomatizovanie finančných transakcií a podobne.

 

Využitie internetovej siete  pre potreby obchodovania má celý rad predností: spektrum dostupných informácií,  monitorovanie aktivity konkurencie, oslovenie svetového trhu, globalizácia, jednoduchosť aktualizácie informácii na webových stránkach, skoro permanentná dostupnosť všetkých informácií, možnosť porovnávania rôznych ponúk
a jednoduchá merateľnosť účinnosti ponúk. [27, s. 35]

 

 

1.8                          Nevýhody obchodovania prostredníctvom internetu

 

Elektronický obchod a jeho účinný nástup neprináša len svetlé stránky. Je bohužiaľ spojený so vznikom rôznych hrozieb pre zákazníkov, nedostatkami a nutnosťou prekonania nedôveri ľudí voči elektronickým platbám po sieti. [35, s. 28]

 

Veľmi nevýhodné pre internetový obchod je, že tovar si zákazník nemôže chytiť do rúk, privoňať k nemu, proste s ním nemá žiadny priamy kontakt. Je preto veľmi ťažké sa rozhodnúť pre kúpu tovaru iba z fotografií, ktoré môžu byť vo viacerých prípadoch zavádzajúca.

 

Tvorba webových stránok, nie iba e-obchodu, nieje vôbec lacnou záležitosťou aj
z dôvodu správnosti stránky. Ak by bola stránka príliš poruchová, zákazník bude vo veľkej miere obmedzovaný pri objednávaní tovaru. S týmto súvisí samozrejme z toho plynúca následná nespokojnosť firmy, ktorá daný tovar ponúka a v neposlednej rade nespokojný zákazník, ktorý zlú náladu z nefunkčnej stránky prenesie na firmu, ktorá stránku vlastní. Webovka, ktorej poruchovosť je príliš vysoká, môže pôsobiť nedôveryhodne a následne utrpí jej využiteľnosť a návštevnosť.

 

Veľa možných zákazníkov odrádza aj fakt z obavy, či daná webová stránka je
v dostatočnej miere chránená a zákazníkove osobné údaje nebudú následne zneužité. Danému probl´mu sa dá napredovať doinštalovaním tzv. firewallu - ochrannej bariéry, autorizáciou či autentifikáciou a hlavne dobrou politikou bezpečnosti správcu webovej stránky atď. [28, s. 41]

 

 

2                                 Analýza zadania - Ekonomické efekty elektronických aukcií

 

Okrem prirodzeného zmapovávania trhu s elektronickými aukciami v rokoch 2008 – 2010 bol urobený dohľad aj na ekonomické implikácie používania – na aktuálnu mieru súťaženia a s tým taktiež spojený konkurenčný efekt s dosiahnutými úsporami a na cenový benchmarking.

 

 

2.1                          Miera súťaženia

 

V počtu súťažiacich bol jedným z hlavných faktorov pre generáciu čo najlepších podmienok pre obstarávateľa. Zozbierané dáta v Grafe č. 1, ktoré obsahovali zákazky, pri ktorých bol uvedený konkrétny počet záujemcov (dokopy 718), poukázali, že najčastejšie sa vyskytujúci počet záujemcov bol tri a ten sa identifikoval pri 256 prípadoch verejného obstarávania, čo tvorilo 36  percent z celkového počtu sledovaných zákazok. Ďalším  najčastejším počtom boli dvaja (22 percent) a tiež štyria (15 percent) záujemcovia. Od počtu troch záujemcov na jednu aukciu sa ich počet pomaly znižuje. [36, s. 31]

Graf č. 1: Počet záujemcov o verejnú zákazku (%)

 Zdroj: [36, s 23]

 

 

2.2                          Úspory

 

Ekonomickým ukazateľom úspešnosti elektronických aukcií sú hlavne úspory, na ktoré je poukazované  ako na jednu z hlavných výhod využívania tohto postupu pre verejné obstarávanie. Skúmaný súbor obsahoval 725 elektronických e-aukcií v rokoch 2008 – 2010. Niektoré z týchto aukcií však vykazovali neštandardné znaky (napr. príliš vysoká úspora), alebo neobsahovali všetky potrebné údaje pre korektné štatistické spracovanie dát. Na analyzovanie úspor bolo potrebné vylúčiť e-aukcie, ku ktorým neboli dostatočné informácie k výpočtu úspory (štrnásť aukcií) a e-aukcie s neočakávanými úsporami (deväť aukcií dokopy). V ďalšom súbore s výsledným počtom 702 elektronických aukcií, kde sa jedná o zameranie hlavne na závislosť výšky úspor od rôznych atribútov e-aukcií
a verejného obstarávania. Existujú v podstate dva základné pohľady na úspory pri využívaní eleketronických aukcií. [6, s. 33]

 Je možné ich definovať ako

1 – (súčet vysúťažených cien) / (súčet začiatočných cien)

alebo ako priemer cez všetky aukcie z hodnôt:

1 – (vysúťažená cena) / (začiatočná cena)

Prvý prístup pojednáva o celkovej percentuálnej úspore a druhý pojednáva o priemernej percentuálnej úspore. Celková úspora môže byť pri malom počte e-aukcií ľahko ovplyvnená jednou veľkou e-aukciou (pri prerozdelení 702 aukcií do skupín podľa  ponúk vzniknú aj skupiny s malým počtom e-aukcií), ukázalo sa to ako veľmi vhodné pracovať
s priemernou úsporou bez ohľadu na veľkosť elektronickej aukcie. Tento prístup naviac vypovedá o transparentnosti v e-aukčnom procese – ak je priemerná úspora veľká, musí byť relatívne veľká úspora pri každej e-aukcii, v tom prípade každá e-aukcia sa realizuje transparentnou formou. Oba výpočty majú zmysel, preto sa uvádzajú. Analýza v Tabuľke č. 1 ukázala, že priemerné úspory sa  v čase výrazne nemenia a dosahujú výšky v intervale osem až dvanásť percent. Celkové úspory sa potom pohybujú od šesť  do dvanásť  percent.

Tabuľka č. 1: Celkové a priemerné úspory z e-aukcií počas rokov 2008 – 2013 (%)

Zdroj: [36, s. 28]

 

Zo zaznamenaných dát o úsporách sa zisťovala aj distribúcia jednotlivých úspor v rámci celkového množstva e-zákaziek, čiže to, v akých výškach sa najčastejšie pohybovali dosiahnuté úspory proti počiatočným cenám. Najčastejšie boli úspory viac ako nula percent a súčasne aj menej ako päť percent, ktoré sa dosiahli v 141 prípadoch, to znamená. pri
24 percentách  sledovaných zákaziek. V 23 percentách prípadov neprišlo k žiadnym úsporám, poprípade sa naopak e-aukciou dosiahla cena omnoho vyššia ako sa požadovalo. V Grafe č. 2 je možno konštatovať, že v 77 percentách prípadov prišlo pri elektronických aukciách k výrazným úsporám, čo znamená, že viac ako 3 zo 4 e-aukcií generovali nižšiu, ako pôvodnú cenu. Úspory do 30 percent môžno pozorovať pri 65 percent zákazok.

 

Graf č. 2: Distribúcia priemerných úspor z celkového množstva zákaziek (%)

Zdroj:  [36, s. 30]

 

U výpočtu najčastejších kompletných úspor pri jednotlivých verejných obstarávateľoch sa vychádzalo zo súboru 702 zákazok. Zákazky boli uskutočnené 32 subjektmi. 20 verejných obstarávateľov, lepšie povedané 63 percent z celkového počtu bolo dosiahnutej kladnej priemernej úspory, ale menšie ako 15 percent, z čoho 11 subjektov (34 percent) dosiahlo priemernej úspory medzi 10 až 15 percent. Pri zisťovaní vzťahov medzi výškou úspor
a typom danej verejnej zákazky sa vychádzalo z obidvoch typov výpočtov úspor, ktoré sa získalo zo vzorky celkovo 673 zákazok. Skúmali sa celkové úspory pri určitom type. Výsledky jasne poukázali na to, že vysoká celková úspora sa dosiahla pri podlimitnom type zakázky, zatiaľ čo ďalšími v poradí boli zákazky s nízkou hodnotou. Ďalším ukazovateľom boli priemerné úspory pri určitom type zákazok. Zohľadňovali sa aj nulové úspory, čo umožnilo lepší prehľad nad distribúciou úspor medzi jednotlivými typmi.
Z tohto úhlu pohľadu boli vysoko úsporné podlimitné zákazky, pričom nadlimitné boli ďalšie v poradí a za nimi ihneď zákazky s veľmi nízkou hodnotu. Pri vzťahu medzi úsporami a predmetom zákazok, ktorý bol založený na súbore celkovo 691 zákazok, sa zistilo, že najvyššie úspory sa dosiahli pri stavebných prácach, zato naopak pri tovare boli veľmi malé. Priemerné úspory je možno vidieť, že najvyššie z nich boli dosiahnuté pri službách, ale tovary zaostali len o dva percentuálne body a stavebné práce o tri body. Rozdiely teda nie sú veľmi výrazné. Sledovali sa taktiež závislosti medzi úsporami
a určitými ukazovateľmi. Celkové úspory z pohľadu a interpretácia ich výsledku záleží od viacerých faktorov, preto sa riešil vzťah medzi počtom záujemcov a výškou celkových úspor. Ako prvé bolo potrebné vytvoriť model na očakávané úspory pri zadanom počte celkových ponúk.

Ako logické sa ukázali tieto predpoklady:

·         v prípade, že sa do súťaže prihlási len jeden uchádzač, malo by to v podstate priniesť,  

·         nejakú úsporu,

·         prínos ďalšieho uchádzača sa v reále zmenšuje, avšak je stále kladný,

·         pri akomkoľvek počte uchádzačov existuje určitá horná hranica úspor, nad ktorú sa

     nedá dostať.

Pri prihliadnutí na tieto predpokladov bolo možné vytvoriť istý model: celková úspora vytvorená prvým uchádzačom je s – čiže výsledná cena je daná ako (začiatočná cena)
× (1 – s) a celkový prínos ďalšieho uchádzača bez ohľadu na počet bol rovný q-násobku prínosu prechádzajúceho uchádzača (q <1).

Pri tomto platí, že úspora tvorená n-tým uchádzačom bola rovná (sqn-1)
a celková úspora vďaka celkovému počtu n súťažiacich je daná ako

[36,s. 31]

 

Pre odhadovanie parametrov s a q sa použili dosiahnuté úspory zo 702 sledovaných
e-aukcií. Úspory boli označené ako u1, u2 až u702 a počet ďalších ponúk v príslušných  
e-aukciách ako n1, n2 až n702. Aplikovaním metódy najmenších štvorcov sa  odhadovaním s a q zobrazilo ako

[36,s. 31]

 

čo pre súbor e-aukcií dávalo s = 0,04 a q = 0,84. Prvý záujemca zo súťaže by teda mal priniesť úsporu necelých 4 percent naproti východzej cene a prínos každého iného záujemcu by mal byť 84 percent prínosu predošlého. Maximálna predpokladaná úspora predstavovala zhruba 25 percent.

 

Získaný koeficient determinácie  0,105 evokoval nie príliš dobrý odhad závislosti dosiahnutých celkových úspor od počtu ponúk v e-aukciách a hlavnými problémami boli veľká disperzia celkových úspor pri ktoromkoľvek počte ponúk a malý počet e-aukcií pri veľkom počte všetkých ponúk. Na elimináciu oboch problémov sa zoskupili e-aukcie do viacero skupín a zobrazila sa priemerná úspora v každej skupine elektronických aukcií,
a nie v každej elektronickej aukcii. Jednotlivé e-aukcie boli prerozdelené do skupín podľa celkového počtu ponúk, že pokiaľ existoval pre daný počet ponuky dostatočne veľa
e-aukcií, jedna skupina bola tvorená všetkými e-aukciami s jasne daným počtom ponúk,
v opačnom prípade bola tvorená jedna skupina všetkými e-aukciami s celkovým počtom ponúk v definovanom intervale (päť až šesť ponúk, sedem až desať ponúk a via ako desať ponúk).

 

Pri použití rovnakého modelu (s = 0,04 a q = 0,84) na nové agregované dáta je zjavné, že po zoskupení e-aukcií popisuje model priemerne predpokladaných celkových úspor spoľahlivo. Pri zoskupovaní e-aukcií s päť až šesť ponukami, sedem až desať ponukami
a s viacej ako desať ponukami – čiže tak, aby bol vpod každou skupinou reprezentatívny počet elektronických aukcií – model tak dosahoval koeficient determinácie 0,871.
Vymodelované úspory, ktoré mali dať prvý, ako aj každý ďalší uchádzač je možno považovať za kvalitný odhad v slovenských podmienkach.

 

Bolo možné spozorovať rôznu efektivitu elektronických aukcií za jednotlivé roky. Pokiaľ
v roku 2008 priemerne dosiahnutá celková úspora neprekročila 15 percent a pri e-aukciách s aspoň desiatimi ponukami ani desať percent a v roku 2010 už možno dosahovať aj úspory presahujúce 20 percent. Toto sa dá ľahko vysvetliť – rok 2008 bol prvým, keď sa elektronické aukcie začali používať, a preto ich efektívnosť nemohla mať svoj plný potenciál. V ďalších rokoch 2009 až 2010 bolo ich zastúpenie väčšie, čo viedlo pri takmer ktoromkoľvek počte ponúk k omnoho vyšším očakávaným úsporám. Zobrazenie
v Tabuľke č. 2.

Tabuľka č. 2: Závislosť očakávanej výšky úspor od počtu ponúk v e-aukciach v jednotlivých rokoch (%)

Zdroj: [36, s. 32]

 

Vzťahom medzi výškou celkových úspor a počtom celkových záujemcov bolo možné sledovať aj z pohľadu typu zákazok. Nadlimitné a taktiež podlimitné zákazky predstavovali len necelých sedem percent zo všetkých 700 sledovaných e-aukcií, pri analýze závislosti úspor od celkového počtu ponúk pre dané typy zákazok mohlo dôjsť aj
k signifikantnému skresleniu.

 

Obmedzilo sa to celé preto na podprahové zákazky a taktiež zákazky s nízkou hodnotou.
V Tabuľke č. 3 je vidieť, že pri malom počte účastníkov sa dosahovali pri oboch typoch zákazok podobné celkové úspory, s rastúcim počtom celkových ponúk sa zvyšoval rozdiel v dosahovaných celkových úsporách v prospech zákazok s veľmi nízkou hodnotou. Možným vysvetlením môže byť fakt, že pri podprahových zákazkách nemali všetci uchádzači motiváciu súťažiť až ku hraniciam svojich možností, pretože prípadné nezískanie podprahovej zákazky by nebola pre nich pravdepodobne významná strata.

Tabuľka č. 3: Závislosť očakávanej výšky úspor od počtu ponúk v EA podľa typu zákazky (%)

Zdroj: [36, s. 33]

 

Pri finančných limitoch sa dalo sledovať charakter súťaženia i po prerozdelení elektronických aukcií podľa druhu zákazky, a to na tovary, služby a stavebné práce. Aj tu sa ukázalo, že celkové úspory, ktoré priniesli uchádzači pri obstarávaní tovarov, boli podobné ako prínosy súťaženia pri verejnom obstarávaní služieb a iných stavebných prác.         

Najvýraznejšiu úsporu priniesol malý počet uchádzačov u služieb. Inou preskúmavanou oblasťou bola závislosť výšky celkových úspor od veľkosti eelektronickej aukcie, alebo inak povedané, či boli počiatočné ceny pri veľkých e-aukciách nastavené precíznejšie ako pri malých e-aukciách a či sa menila motivácia uchádzačov v závislosti od veľkosti
e-zákazky. Čím bola konkurencia na trhu slabšia, tým viac závisela výsledná cena od počiatočnej ceny, a preto by v tomto prípade malo byť v záujme verejného obstarávateľa stanoviť si počiatočnú cenu blízku optimu. Na preskúmanie tohto vzťahu bolo užitočné prerozdeliť e-aukcie podľa veľkostí do viacerých skupín, avšak najoptimálnejšie tak, aby vznikol v každej skupine rovnaký počet e-aukcií, ale aby bol celkový počet týchto skupín vhodný pre určenie trendu. U súboru 702 aukcií sa zvolili decily, tzn. v každej skupine sa nachádzalo približne 70 e-aukcií Pre nízke sumy bola úspora podľa očakávaní blízka nule, vzhľadom na to, Že dodávateľom sa za také sumy neoplatilo navzájom medzi sebou súťažiť. Na druhej strane bolo vidieť, že priemerná úspora korelovala s počtom celkových uchádzačov. čiže bez ohľadu na veľkosť obstarávania stanovoval obstarávateľ počiatočnú cenu podobne cca. presne a jediným dôležitým faktorom, ktorý ovplyvňoval dosahované úspory bol teda počet ponúk. Toto tvrdenie platilo aj po prerozdelení e-aukcií podľa zákazky, kde bolo možno navyše skonštatovať, že miera súťaženia bola najcitlivejšia na cenu zákazky pri tovaroch, menej však citlivá pri službách a najmenej možne citlivá pri stavebných prácach.

 

V podstate na podklade údajov zo 702 elektronických aukcií možno konštatovať, že dosiahnuté úspory priamo súviseli s počtom ponúk. Dokonca platí, že počet ponúk mal  rozhodujúci vplyv na výšku celkových úspor, bez ohľadu na to, o aký typ alebo druh elektronickej aukcie išlo a bez ohľadu na veľkosť elektronickej aukcie. Ukázalo sa, že prvá ponuka by mala vo výsledku znížiť výslednú cenu priemerne o štyri percentá a každá ďalšia ponuka o 84 percent predchádzajúceho zníženia . Pri dostatočne veľkom počte celkového počtu súťažiacich sa tak dala dosiahnuť úspora viac ako 20 percent a na dosiahnutie desať percentnej úspory by mali viacmenej stačiť cca. štyria súťažiaci.

 

 

 

2.3                          Cenový benchmarking

 

V rámci štátneho výskumu bol uskutočnený cenový benchmarking rovnakých produktov
u vzorky verejných obstarávateľov v Tabuľke č. 4. Cenová mapa sa zamerala na desať špecifických komodít a porovnávala priemerné ceny za jednotlivé roky, ktoré boli dosiahnuté pri súťažení bez použitia elektronickej aukcie s prípadmi, keď sa tento postup verejného obstarávania využíval. Dosahovanie efektívnosti pri väčšine porovnávaných komodít, konkrétne: papier rozmeru A3 80g – kvalita B (1 bal obsahoval 500 ks papiera), papier rozmeru A4 80g – kvalita B (1 bal obsahoval 500 ks papiera), obálka rozmru B6
s doručenkou pre samoprepis (1 ks obálky), euroobal rozmeru A4 (1 bal obalov obsahoval 100 ks), značka Jar – prostriedok k umývanie riadu (1 l objemu), toaletný papier typu dvojvrstvový (400 útržkov na 1 ks papira), mlieko vo forme trvanlivé, 1,5 % tuku
(1 l objemu), rybie filé mrazené (1 kg hmotnosti), dodávaná elektrická energia – jednotarif (1MWh jednotka), údržba trávnika – kosenie (1 m2 obsahu). Podľa zistenia, pri jednom
z vyšie uvedených typov komodít boli vysúťažené ceny nižšie v prípade, keď výber nebol prostredníctvom elektronickej aukcie. Jednalo sa o údržbu trávnia, a to o hrabanie lístia.

Tabuľka č. 4: Celkové priemerné ceny a ich rozdiely (%)

Zdroj: [36, s. 34]

 

 

2.4                          Dodatky

 

Výslednú cenu bolo za určitých podmienok možné navýšiť vďaka zmluvným dodatkom, zameranie bolo aj na problematiku túchto dodatkov. Pri súbore vzoriek 725 verejných zákaziek prišlo k uzavretiu 51 dodatkov (sedem percent z celkového počtu zákaziek). Najviac dodatkov bolo uzavretých k stavebným prácam, to znamená z celkového množstva uzavretých dodatkov išlo presne o 88 percent. Ku skutočnosti, že stavebné práce je ťažké presne zadefinovať, typológia dodatkov zodpovedala danému predpokladu. Zo zozbieraných dát taktiež vyplývalo, že najviac dodatkov sa uzatvorilo pri podprahových zákazkách (29 percent z celkového počtu všetkých podprahových zákazok), viď Tabuľka
č. 5
.

Tabuľka č. 5: Verejné zákazky podľa finančných limitov a dodatky (%)

Zdroj: [36, s. 35]

 

Keď došlo k navýšeniu, bolo toto navýšenie v priemere vo výške osem percent vysúťaženej ceny v e-aukcii. Išlo o mierne nižšie navýšenie ako pri klasickom verejnom obstarávaní, kde analýza z roku 2011 ukazovala  deväť a pol percentné navýšenie cien
v miestnej samospráve cez uzatvorené dodatky. Je možno konštatovať, že vo vzorke sledovaných elektronických aukcií nedochádzalo k masívnemu efektu navyšovania vysúťaženej ceny a elektronické aukcie tak prinášajú vo výsledku celkové predpokladané pozitívne efekty ekonomiky.

 

 

2.5                          Elektronicke aukcie a nákup aukčných služieb

 

Výsledný finančný efekt používania elektronických aukcií môhol byť ovplyvnený aj tým, aké dodatočné služby nakupoval obstarávateľ od e-aukčnej spoločnosti. Pri preskúmaní súvislosti sa vychádzalo zo vzorky všetkých 32 verejných obstarávateľov. Výsledný celkový počet subjektov bol 34 preto, že jeden subjekt využil viacero typov služieb. Zistenia ukazovali, že všetci verejní obstarávatelia tieto služby nakupujú od iných, zväčša externých dodávateľov služieb, čiže interné kapacity na realizáciu elektronických aukcií boli pomerne slabé. Nakupovali sa rôzne služby, v rôznom objeme a za rôzne ceny, vzhľadom na to, že softwarové a e-aukčné spoločnosti volili odlišné stratégie pre získanie nového klienta. Verejní obstarávatelia zakázok používali najmä tri typy služieb od
e-aukčnej spoločnosti, najviac kúpa softwaru, dlhodobý rentabilný prenájom licencie
a realizáciu elektronickej aukcie na kľúč, a to až v 94 percentách prípadov testovanej vzorky. Najväčší objem sa však podľa získaných dát zaobstaral využitím služby realizovania elektronickej aukcie na kľúč, viď Graf č. 3.

Graf č. 3: Typy služieb kupovaných od aukčných firiem (%)

Zdroj: [36, s. 35]

 

Pri e-aukčných službách sa skúmala výška celkových úspor pri jednotlivých službách. Do výpočtu v Grafe č. 4 boli zahrnuté len úspory pri nakúpe licencie, dlhodobom prenájme takejto licencie a pri realizácii elektronickej aukcie na kľúč, keďže ostatné typy boli použité len pri dvoch vzrokových subjektoch, čo mohlo výrazne ovplyvniť štatistiku. Podľa zistení tak vychádzajú z daného súboru 692 zákazok, ktoré boli zbavené extrémnych hodnôt a zákazok s nepoužiteľnými zozbieranými dátami. Histogram umiestnený nižšie zobrazuje  najväčšie celkové aj priemerné úspory aké sa dosiahli pri dlhodobom prenájme licencie. Druhými boli úspory pri nakúpe softwaru. Najnižšie úspory sa dosiahli pri realizácii e-aukcií na kľúč, čo bolo pravdepodobne spôsobené nastavením celého
e-aukčného procesu. Ppri malých aukciách by takýto mechanizmus mohol pôsobiť ako kontraproduktívny, keďže by náklady na implementáciu prekročili úspory z realizácie elektronickej aukcie.

Graf č. 4: Typy služieb kupovaných od aukčných firiem a priemerné úspory (%)

Zdroj: [36, s. 36]

 

 

2.6                          Používané elektronické aukcie podľa spôsobu ich ukončenia

 

Hlavným sledovaným kritériom pre typológiu používaných elektronických aukcií bol spôsob ukončenia celého súťaženia, teda delenie elektronických aukcií na otvorené
a uzatvorené. Vychádzalo sa zo vzorky 722 zákazok, pri ktorých bolo určené toto kritérium. Bolo možné pokonštatovať, že väčšina verejných obstarávateľov (92 percent) ukončila elektronické aukcie vtedy, keď už nedostali žiadnu novšiu cenovú ponuku, teda využívali vo väčšine prípadov otvorené elektronické aukcie.

 

Výskum bol zameraný i na implikácie ich používania, predovšetkým na ekonomickú výhodnosť obidvoch typov elektronických aukcií. Sledovalo sa to v závislosti od počtu súťažiacich. Získané empirické dáta zo 699 e-aukcií (645 bolo otvorených aukcií, 54 bolo uzavretých aukcií a 3 aukcie nemali prezentovanú formu) rovnakou metodikou ako
v predošlých skúmaniach. Dosiahnutá úspora v priemere pri otvorených e-aukciách
(11,4 percent) bola viac ako dvojnásobná oproti úspore pri uzavretých aukciách
(4,7 percent). Časť rozdielu by sa dala vysvetliť rôznou mierou súťaženia, keď v otvorenej e-aukcii boli priemerne štyri ponuky, avšak v uzavretej iba 2,8 ponuky. Podľa predošlých prepočtov by však takýto rozdiel v počte ponúk mal predstavovať iba 2,87 percent rozdiel v celkových úsporách, preto takmer sedem percentný rozdiel bol spôsobený pravdepodobne nižšou efektivitou uzavretých e-aukcií, viď Graf č. 5.

 

Graf č. 5: Závislosť očakávanej výšky úspor od počtu záujemcov v e-aukcií podľa formy e- aukcie
v porovnaní s očakávanými úsporami (%)

Zdroj: [36, s. 37]

 

Pri pohľade na graf 5 sa zdá, že pokiaľ obsahuje súťaž aspoň sedem celkových ponúk, efektívnejšia je uzavretá e-aukcia. Tento výsledok spôsobovala heterogenita dát, keďže sedem, osem, a taktiež dvanásť ponúk obsahovala vždy iba jedna uzavretá elektronická aukcia a päť ponúk iba dve uzavreté e-aukcie. Pri všetkých jedenásť uzavretých e-aukciách iba jednou ponukou nebola dosiahnutá žiadna úspora a to pri e-aukciách s dvomi ponukami sa usporilo v priemerei 1,3 percenta celkových prostriedkov.

 

 

2.7                          Elektronické aukcie podľa spôsobu definovania začiatočje ceny

 

Verejní obstarávatelia definovali počiatočnú cenu rôznymi metódami. Jednotlivé metódy mali odlišnú mieru presnosti a taktiež administratívnej a časovej náročnosti  zistenia, a teda aj výslednej ceny. Z celkovej vzorky 688 zákazok, pri ktorých bolo možné definovať spôsob určenia počiatočnej ceny, sa najviac pracovalo s cenou, ktorá bola určená
z minulého obdobia (31 percent subjektov) alebo obálkovým spôsobom (25 percent), čo boli pomerne lacné, rovnako tak rýchle a administratívne jednoduché metódy definovania počiatočnej ceny. Menej používaným spôsobom určovania počiatočnej ceny bola cena projektanta (dve percentá), ktorá mohla byť technicky presnejšia, ale taktiež aj drahšia, viď Graf č. 6.

Graf č. 6: Spôsob určenia začiatočnej ceny (%)

Zdroj: [36, s. 38]

 

Zákon o aukciách hovorí, že ak je kritériom na vyhodnotenie ponúk cena najnižšia, tak východiskom e-aukcie sú ceny. V prípade vyhodnocovania  ponúk na základe ekonomicky

najvýhodnejšej ponuky, východiskom e-aukcie sú:

·         ceny a nové hodnoty ponúk, uvedené v technických požiadavkách,

·         nové hodnoty ponúk, uvedené v technických požiadavkách.

Pokiaľ by išlo o používanie jednotlivých metód na určenie počiatočnej ceny pri daných predmetoch verejného obstarávania a určených typoch zákaziek podľa finančných limitov, vykonaná analýza neidentifikovala žiaden trend a jasnú vnútornú logiku používania, viď Graf č. 7 a Graf č. 8.

 

Graf č. 7: Metóda definovania začiatočnej ceny a predmet zákazky (%)

Zdroj: [36, s. 38]

Graf č. 8: Metóda určenia začiatočnej ceny a typ zákazky podľa finančných limitov (%)

Zdroj: [36, s. 39]

 

Aj tu je možné pri určovaní vzťahov medzi celkovoi výškou úspor a celkovým spôsobom určenia počiatočnej ceny zaradiť aj celkový počet ponúk, vzhľadom k tomu, že regresné modely počas testu dosahovali príliš malé koeficienty determinácie k tomu, aby bolo možné na ich základe vyhodnotiť podložené tvrdenia a na preskúmanie týchto vlastností bolo preto použité len celkové priemerné úspory pre jednotlivé skupiny e-aukcií
a priemerné úspory menších celkov e-aukcií s počtom ponúk najviac tri a s počtom ponúk nad tri, viď Tabuľka č. 6.

.

Tabuľka č. 6: Priemerné úspory v závislosti od spôsobu určenia začiatočnej ceny (%)

Zdroj: [36, s. 39]

 

Analýza vykázala, že najpresnejšie dokáže vysúťaženú cenu odhadnúť iba projektant, kde ani väčší počet uchádzačov nepriniesol výraznú finančnú celkovú úsporu. Pravdepodobne teda išlo o zákazky, kde predmet napriek nadpriemernému počtu ponúk neumožňoval zo strany dodávateľov dostatočnú flexibilitu. Zdalo sa, že rozpočtovaná cena mesta, cena
z minulého obdobia a najlepšia cena z obálky generovali pomerne presný odhad výslednej celkovej ceny. Tu však zohrával veľkú úlohu celkový počet ponúk, keďže s rastúcim počtom ponúk výrazne rastú dosiahnuté celkové úspory. Vysvetlenie bolo jednoduché, a to že tieto metódy síce dokázali dobre odhadnúť výslednú cenu, za ktorú by stavebnú prácu zrealizoval ktorýkoľvek dodávateľ, nedokázali však dostatočne dobre zmerať prínos daného súťaženia, kde bol dodávateľ ochotný výrazne znížiť svoju maržu, žiže výsledný zisk. Najmenej presná metóda na určenie počiatočnej ceny bol prieskum trhu, kde nemali jednotliví potenciálni uchádzači dostatočnú motiváciu schovať sa racionálne. Pre toto je odporúčané sa venovať pri porovnávaní výsledkov elektronických aukcií pozornosť spôsobu stanovenia počiatočnej ceny, vzhľadom na to, že odlišné spôsoby ich stanovenia môhli výsledky prikresľovať odlišným prístupom k odhadu počiatočnej ceny.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3                                 Analýza konkurencie - elektronické aukcie na Slovensku

 

V poslednej dobe, respektíve za posledné roky,  sa v verejnom sektore na Slovensku začal predierať do popredia inovatívny postup verejného obstarávania,a to konkrétne  elektronické aukcie, tzv. e-aukcie. Primárne na úrovni lokálnych samospráv a nemocníc, po ktorých nalsedovali až na úroveň ústredných orgánov štátnej správy. Verejne pôsobiace  subjekty používali elektronické aukcie bez toho, aby im daný postup bol prikázaný zákonom, a to v snahe riešiť fiškálne ekonomické problémy, prípadne v snahe vybudovať dôveru v integritu verejnej myšlienky spravovania. Slovenský verejnosprávny sektor teda už má autentickú skúsenosť s týmto postupom obstarávania.

 

Problematiku elktronických aukcií preskúmali na presnej vzorke 32 verejných obstarávateľov, ktorí v rokoch 2008 až 2010 používali elektronické aukcie minimálne raz
a v presne stanovenom termíne boli sprístupnené všetky dostupné informácie o ich nákupoch. Vzorka sa skladala prevažne z lokálnych samospráv, konkrétne v počte 24, nemocníc v počte 4 a ústrednej štátnej správy pozostávajúcej z dvoch ministerstiev. Na základe dát, ktoré boli získané od uvedených subjektov prostredníctvom zákona
o slobodnom prístupe k informáciám bola vytvorená databáza so 725 zákazkami presne  alokovaných prostredníctvom elektronickej aukcie v rokoch 2008 – 2010, ktorých celková hodnota bola viac ako 162 miliónov eur.

 

Analýza verejných zákaziek alokovaných pomocou elektronických aukcií v období rokov 2008 až 2010 sa zamerala na tri oblasti. Prvou oblasťou bolo zmapovanie trendu používania elektronických aukcií, jak z hľadiska množstva použitia, tak z hľadiska použitia typov verejných zákazok a predmetov verejného obstarávania. Druhá oblasť sa sústreďovala na ekonomické aspekty použitia, ako boli miera súťaženia a dosiahnuté celkové úspory. Dajú sa zmerať jak na celej vzorke verejných zákaziek, tak aj pri vybraných dvanástich rovnakých produktoch, a to cez cenový benchmarking. Skúmaná bola taktiež strana venovaná dodatkom a nákladom na organizáciu a výkon elektronickej aukcie, ktoré tiež mali vplyv na finálny ekonomický efekt pri danom postupe. Posledná oblasť sa zameriavala na to, aké typy elektronických aukcií boli v sledovanom období konkrétne používané a aký dopad to malo na dosahovanie ekonomických parametrov verejnej zákazky obstarávania. Skúmané boli aj typy nakupovaných služieb, konkrétne prostredníctvom ktorých sa realizovali elektronické aukcie a skúmal sa ich vzťah
s dosiahnutými úsporami.

 

 

3.1                          Trh elektronických aukcií v čase - základné trendy

 

Elektronické aukcie sa na počiatku začali používať ako inovatívny postup verejného obstarávania vo vybraných lokálnych samosprávach a nemocniciach dobrovoľne, následne sa používanie rozšírilo i do centrálnej štátnej správy a ministerstiev. V súvislosti
s postupným zavádzaním elektronických aukcií do procesu verejného obstarávania služieb a tovaru, je možno od roku 2008 spozorovať postupný, 100 %  dobrovoľný nárast používania, a to jak z pohľadu subjektov,tak i počtu zákaziek a verejných zdrojov získaných uvedeným postupom.

 

Daný postup narastal, ale väčšina sledovaných verejných obstarávateľov stále pracovala
s týmto postupom len pri pomerne menšom objeme z celkového množstva verejných zákazok pre nich. Pri preskúmaní tohto trendu sa vychádzalo z údajov za rok 2010 a taktiež z dát tých verejných obstarávateľov, ktorý poskytli svoje úplné údaje o prekúmavanom vzťahu. Išlo konkrétne o sedemnásť verejných obstarávateľov. Vo veľkej miere prípadov nešlo o hlavný typ postupu tohoto verejného obstarávateľa, keďže takmer polovica obstarávateľov realizovala prostredníctvom elektronických aukcií menej ako desať percent celkového objemu obstaraných majetkov, viď Tabuľka č. 7 a Graf č. 9.

 

Tabuľka č. 7: Počet verejných zákaziek obstarávaných formou e-aukcií a objemy verejných                          zákaziek alokovaných formou e-aukcie (%)

Zdroj: [36, s. 40]

 

Graf č. 9: Porovnanie podielov e-aukcií na celkovom objeme obstarávaní (%)

Zdroj: [36, s. 41]

 

Pri dobrom pohľade na ďalší Graf č.10 je možné konštatovať, že verejní obstarávatelia uskutočnili vo väčšine prípadov menší počet elektronických aukci, a to až 44 percent
z celkového počtu verejných obstarávateľov, ktorých bolo dohromady 32 a uskutočnilo maximálne päť eleketornických aukcií za celé sledované obdobie v daných 2008 až 2010.

 

Graf č. 10: Porovnanie počtu uskutočnených e-aukcií (%)

Zdroj: [36, s. 42]

 

 

3.2                          Typy zákaziek s elektronickými aukciami

 

Z pohľadu predmetu verejného obstarávania, verejní obstarávatelia postupovali elektronickou aukciou vo väčšej miere pri obstarávaní tovarov, a to 57 percent z celkového počtu elektronických aukcií. Z pohľadu finančných ekonomických objemov na celkovom objeme elektronických aukcií sa však najviac týmto postupom alokovali verejné zákazky na služby, a to presne 57 percent, zakiaľ verejné zákazky na tovary mali na celkovom objeme zakázok iba  päť percentný podiel. Veľká časť obstarávaných tovarov predstavovala zákazku s veľmi nízkou hodnotou, viď Graf č. 11.

 

Graf č. 11: Počet a objem zákaziek alokovaných formou e-aukcie podľa predmetu zákazky (%)

Zdroj: [36,s.43]

 

Z pohľadu typu verejných zákazok podľa finančných ekonomických limitov sa najviac zákazok alokovalo elektronickou aukciou pri obstarávaní zákazok s veľmi nízkou hodnotou, a to i pri všetkých troch typoch predmetov verejného obstarávania. Vzhľadom
k zákonu o verejnom obstarávaní sa nereguluje súťaženie pri zákazkách s veľmi nízkou hodnotou a zároveň vŽdy ide o dosť často používaný typ zákazok, je to celkom pozitívny trend V prípade verejných zákazok z phľadu finančných objemov, je zjavné, že najväčšie objemy boli dosiahnuté pri nadlimitných zákazkách, aj keď z pohľadu počtu zákazok  zaznamenali najnižšie použitie elektronických aukcií. Výsledok bol získaný zo súboru celkovo 688 elektronických aukcií, pri ktorých boli identifikovateľné typy zákazok podľa finančných ekonomických limitov, viď Graf č. 12 a Graf č. 13.

 Graf č. 12: Predmet verejnej zákazky a typ verejnej zákazky z hľadiska početnosti (kus)

 Zdroj: [36,s.44]

 

Graf č. 13: Počty a objemy zákaziek podľa finančného limitu (%)

Zdroj: [36,s.44]

 

Je možné zhodnotiť, že pri elektronických aukciách sa ich početnosť zvyšuje so znižujúcim sa finančným ekonomickým limitom. Obdobnú distribúciu početnosti má aj verejné obstarávanie územnej samosprávy, a to čím nižší finančný limit má, tým vyšší počet zákaziek musí získať.

 

 

4                                 Návrh riešenia, implementácia, testovanie, ekonomický prínos

 

Bakalárska práca pojednáva o elektronickom software pre aukčný systém pre samosprávne kraje. Konkrétna práca rieši individuálne požiadavky Mestského úradu v Starej Turej. Požiadavky boli jasne dané na začiatku, aby sa jednalo o rýchly a účinný aukčný systém schopný obslúžiť v prípade potreby aj viac užívateľov bez straty stability. Webovú aplikáciu schonpú obsluhovať aukcie som sa rozhodol vytvoriť v dnes veˇmi známom
a rozšírenom programovacom jazyku PHP, za pomoci SQL databáze v ktorej sa ukladajú všetky potrebné dáta a hodnoty pre hladký beh webovej aplikácie.

 

 

4.1                          Riešenie

 

V následujúcich kapitolách sa budem snažit opísať hlavné prvky stránky, tzv. nosné piliére, ktoré su podstatné pri vývoji a ovplyvňujú celkové chovanie a vzhľad.

 

 

4.1.1                      Index.php

 

Indexová stránka, to jest stránka ktorá sa začne otvárat ihneď po odkliknutí webovej adresy v prehliadači v počítači obsahuje klasické, i ked dnes už nie tak moc využívané rámce, takzvané frame. Indexová stránka je rozdelená na dve časti, v ktorej jedna zostáva statická a stará sa o jednotné zobrazovanie web adresy bez podadries, ktoré celý systém využívá pri prezeraní rôznych modulov, podstránok. Statická časť sa taktiež stará o zobrazovanie malej ikony stránky hned vedľa webovej adresy v prehliadači.

 

Rámce su nastavené tak aby neboli vidieť posuvníky, takzvané scrollbary a aby čo najväčšia plocha bola venovaná samostnému aukčnému systému. Druhá časť indexu je dynamická, to znamená že sa mení podľa požiadaviek systému alebo užívateľa.

 

Ako prvá sa dynamicky načíta kontrola celého systému, check.php stránka, ktorá bola vytvorená z dôvodu diagnostiky pripojenia k databáze webu, poprípade oznámeniu užívateľovi či na stŕanke neprebieha údržba. Ďalšou podstatnou súčasťou úvodnej kontroly aukčného systému je fakt, či sa v databáze nenachádzajú už ukončené aukcie, ktoré neboli z nejakého závažného dôvodu archivované. Ak takú aukciu systém nájde, tak ju automaticky zarchivuje vrátane výsledku z prihadzovania pre danú aukciu. Systém taktiež skontroluje či sa v systéme nenachádza ďalšia pripravená aukcia a zaktivuje ju
a automaticky pripravý k náhľadu pre užívateľov. Celý kontrolný systém sa potom presmeruje na úvodné informačné rozhranie index.html. Indexový súbor taktiež obsahuje základné html meta tagy, indikátory, ktoré  sú nápomocné pri vyhľadávaní stránky
a správnej identifikácii a taktiež nemenej dôležitú znakovú sadu stránky pre kvalitné kódovanie slovenského jazyka. Celý index je vypísaný v Prílohe č. 1. [3, s. 22]    

 

 

4.1.2                      Check.php

 

Kontrólny systém pozostávajúci z kontroly dostupnosti pripojenia na databázu a okamžité prekontrolovanie stavu aukcií zadaných v systéme a následna prípadne potrebná archivácia už ukončenej aukcie, ktorá nebola z nejakého dôvodu uskutočnená po ukončení danej aukcie. Kontrola prebieha na základe aktuálneho dátumu a dátumu nastaveného pre aukciu. Aby nedošlo k tomu, že kontrólny systém si uloží web dáta od dočasnje pamäte, tzv. Cache, tak php skript obstaráva aby sa cache pamäť neukladala do počítača a tým sa donúti po každom novom načítaní stránky o znovu spustenie systému, v tom istom počítači, bez toho, aby došlo k zozbrazeniu starého výsledku statusu webu, poprípade inému systémovému kolapsu. Stŕanka sa taktiež stará o načítanie statusu údržby, ktorú by si mal administrátor webu zapnút pokaždé, ked niečo závažnejšie ošetruje a v tom prípade je celý systém presmerovaný na stránku údržby, kde web automaticky informuje užívateľa o aktuálnom statuse  a administrátorovi ponúka znovu prihlásenie do systému pre prípadne potrebné vypnutie režimu údržby z webového rozhrania aukčného administračného systému. Ako nejednu z mála podstatných vecí systém resetuje dočasné identifikátory užívateľa, tzv. cookies, aby nedošlo k znovu prihláseniu pre novú aukciu. Kód check.php je ukázaný v Prílohe č. 2. [1, s. 35]

 

 

 

 

4.1.3                      Index.html

 

Ako každá webová stránka, aj táto dostala úvodné informačné rozhranie, v ktorom sa nachádzajú základné informácie potrebné pre užívateľov a taktiež prihlasovanie do systému, jak pre administrátora tak pre užívateľa a prezeranie skončených aukcií. Tento úvodný informačný portál bol vytvorený za pomoci jazyku html a javascript s občasným využitím php skriptu. Index.html bol vytvorený v snahe upútať prípadného navštevníka, poprípade aby sa užívateľ príjemne cítil pri klikaní na odkazy. Za pomoci javascriptu bola webu vdýchnutá menšia dynamika v menu, aby celok pôsobil interkatívne. Stránka je tvorená jednoducho, z obrázkového menu a obsahuje len minimum potrebných informácií, vrátane mojeho tagu o vytvorení webu a taktiež tam môže byť umiestená malá reklama podľa potreby. Po kliknutí na ktorýkoľvek odkaz javascript zabezpeči dymanicke prerolovanie menu na požadovanú stránku. [23, s. 60], viď Obrázok č. 1.

 

 

Obrázok č. 1: Hlavá stránka

Zdroj: vlastný

 

V odkaze info je pripravená základná krátka prezentácia o aukčnom webe a prípadné odkazy mesta na ich prezentácie na facebooku a podobne. Odkaz s názvom administrácia slúži pre administrátora aukcií, zamestnanca Mestského úradu Stará Turá a upozorňuje na to bežného návštevníka, poprípade užívateľa čakajúceho na štart aukcie. V menu po kliknutí na odkaz zoznam aukcií je možno veľmi ľahko dohľadať archivované a taktiež aktuálne aukcie, stačí si vybrať. V prípade kliknutia na aktuálne aukcie sa otvorí nové maximalizované okno a ukáže sa kompletný výpis aukcie s časom odpočitavania do štartu, poprípade konca a ponuka na prihlásenie pre prípad potreby byť účastník na aukcii. V prípade práve prebiehajúcej aukcie sa zobrauje aktuálna suma položky a meno prihadzujúceho. Pod odkazom Prihlásiť je možno nájsť veľmi jednoduchý prihlasovací formulár, do ktoŕeho je potrebné vložiť kód od administrátora webu, ktorý tento kód pre každého účastníka aukcie vygeneroval jedinečný. Slúži k tomu i upozornenie pri prihlasovaní. Odkaz kontakt slúži ako základná prezentácia mesta ako sa možno nakontaktovať na príslušnú inštitúciu, viď Obrázok č. 2. Nachádza sa tam taktiež zrýchlený formulár pre odoslanie emailu administrátorovi mesta, ktorý používa k odoslaniu základný smtp protokol webhostingu, na ktorom je umiestnená stránka. Odosielanie mailu je riešené php skriptom ktorý preberie informácie z email formuláru a prepošle ich na danú adresu uvedenu vo formulári s úpravou hlavičky a predmetu emailu. Ukážka základného php skriptu, ktorý obsluhuje odosielanie emailu, je v Prílohe č. 3. Kontaktná stránka tiež obsahuje nemenej potrebnú interaktívnu mapu z google, podľa ktorej záujemca rýchlo dohľadá miesto, kde sa inštitúcia nachádza. [34, s. 46]

 

Obrázok č. 2: Kontaktný formulár

Zdroj: vlastný

 

Celá úvodná informačná stránka index.html je vytvorená za pomoci kaskádových štýlov, tzv. CSS.

 

 

4.2                          Administračný systém webu

 

Ako už bolo spomenuté vyššie, webový aukčný portál obsahuje administračný systém. Po požiadavke Mestského úradu v Starej Turje je tento systém sprístupnený len jednému používateľovi, ktorý v ňom bude obhospodarovat aukcie, aby nedošlo k zbytočným problémom, ktore by mohli vzniknút zasahovaním viacerých užívateľov a každý s rozdielnou povahou zásahu.

Do systému administrácie, viď Obrázok č. 3, sa pristupuje z hlavnej stránky, a to kliknutím na menu Administrácia. Po rozkliknutí sa zobrazí jednoduchý prihlasovací formulár kde sa zadajú meno a heslo administrátora a zvolí sa položka Prihlásiť.

 

Obrázok č. 3: Prihlásenie do administrácie

Zdroj: vlastný

 

Po spustení prihlasovacieho skriptu si php kód prevezme všetky údaje z formulára a začne sa prihlasovací proces, ktorý spočíva v napojení sa do databáze a následnom prekontrolovaní, či dané prihlasovacie meno a heslo je správne. V prípade, že nezistí zhodu s tým, čo je uložené v prihlasovacej databáze, tak užívateľa na danú skutočnosť upozorní a vyzve ho k znovu prihláseniu na hlavnej stránke. To isté nastane v prípade, že sa jedná o nepovolenú žiadosť napísaním priamje adreys prihlasovacieho skriptu. Skript pri kontrole, že pracuje s prázdnymi údajmi, človeka automaticky presmeruje na začiatok aukčného portálu. [5, s. 32]

 

V prípade, že prihlásenie prebehlo v poriadku, php skript vytvorí dočasný súbor, tzv. cookie  a uloží do neho údaje potrebné pre pracovanie na stránke a nastavý čas platnosti cookie, v tomto prípade 3600ms, po tomto intervale neaktívnosti sa cookie automaticky znefunkční a je nutné sa opäť prihlásiť, k čomu systém automaticky vyzve presmerovaním na webu. Prihlasovací php kód je v Prílohe č. 4.

 

Pri úspešnom prihlásení užvateľ pred sebou vidí jednoduché rozhranie, pre niekoho možno nie moc graficky lákavé oproti úvodnej stránke, od toho sa ale odvíja aj názov Spartan’s engine a požiadavok na jednoduchosť a prehľadnosť.  Systém je plne automatický
a vytvorený tak, aby eliminoval, čo najviac prípadných nedoborných zásahov od neskúseného administrátora. Administrátori sú samozrejme ľudia, ktorí budú preškolení aby ovládali systém dokonale, ale môžu nastať rôzne situácie kedy budú potrebovať zastúpit a podobne a v tom prípade sa zíde decentne odolnejší systém voči nedokonalým zásahom neskúsených administrátorov. Taktiež sa môže stať, že administrátor začne tápať, alebo nebude vedieť kde a ako začať a od toho ho systém navedie rôznym aktivovaním
a deaktivovaním ponúk v ovládacej ponuke, aby sa človek rýchlejšie zorientoval. Menu je veľmi prehľadné a rozkúskované graficky do rámčekov, z toho každý rámček má svoj názov, o čo sa aktuálne v ponuke jedná. Základné prázdne menu bez akejkoľvek aukcie v systéme po prihlásení administrátora sa samo ponúka k vytvoreniu novej aukcie
a väčšina vecí na administráciu je neaktívna až do doby vytvorenia prvej aktívnej aukcie. Systém pri spustení automaticky kotroluje či je v systéme aktívna a pasívna aukcia zadaná a v prípade že tomu ta nieje tak menu náležite upravý. V prípade že je v systéme aukcia, tak aktivuje príslušne položky pre administráciu, viď Obrázok č. 4. Výpis php kódu je v Prílohe č. 5. Systém funguje štandardne na kombinácii html a php s pripojením na sql. Každá podstránka administrácie vždy kontroluje platnosť cookie a údaje v ňom, aby nedošlo k neoprávnenému užitiu webovej aplikácie a následnej manipulácie s aukciami.

Obrázok č. 4: Administračné menu

Zdroj: vlastný

 


V základnom menu sú v prvej sekcii údaje o Administrátorovi, kde si môže meniť svoje údaje o sebe, ktoré následne systém využíva pri práci s rozhraním, viď Obrázok č. 5. Do základných údajov patrí aj zmena hesla a prihlasovacieho mena. Skript php s požiadavkami na sql databázu je v Prílohe č. 6. Každá administračná podskupina má

Obrázok 5: Zmena admin údajov

Zdroj: vlastný

 

jednoduché tlačítko so šípkou pre návrat o krok späť, aby sa nemuselo používať tlačítka naspäť v prehliadači, čo by spôsobilo odhlásenie    

 

 

zo systému, kvôli citlivosti zabezpečenia. Väčšina položiek v menu je automaticky vpisovaná načítaním z databáze, o čo sa stará php skript pri spustení.. V prípade, že sa aktuálny administrátor rozhodne pre zmenu nastavení, tak len jednoducho napíše nové heslo, staré nieje vyžadované z dôvodu preverovania cookie a v prípade potreby si môže zmeniť aj prihlasovacie meno a email. Všetko potom jednoducho potvrdí kliknutím na tlačitko Zmeniť. V prípade, že dôjde ku zmene údajov, čo administrátor potvrdil, tak sa spustí skript, ktorý ako prvé prekontroluje zhodu nového hesla, ktoré je skryté do nečitateľnej formy a v prípade že sa nezhoduje tak sa vráti naspäť a upozorní hláškou na obrazovke. V prípade zhody hesiel sa skript posunie o riadok ďalej, prekóduje heslo pomocou MD5 hash kľúča a uskutoční riadny zápis nového hesla a mena a emailu. Po úspešnom uskutočnení vypíše na obrazovku oznámenie a prepne sa naspäť do administračného menu. Silná šifra MD5 bola zvolená z dôvodu vyššej bezpečnosti, ktorá je vyžadovaná v dôsledku možnej manipulácie s aukciami. V Prílohe č. 7 je skript na zmenu údajov. [30, s. 55]

 

Ďalšou, nemenej podstatnou súčasťou administračného rozhrania je možnosť nastaviť si status webu, to znamená že, buď zachovatp lnú prevádzu so všetkými funkciami, alebo nastaviť mód údržby, kedy je úvodná stránka presmerovaná inam, na oznam o práve prebiehajúcej údržbe systému. Nastavuje sa to veľmi jednoducho, a to kliknutím buď na zapnúť, alebo následne na Vypnúť. Kliknutie  na tlačítko spôsobí to, že sa spustí skript a ten vykoná zmenu v databáze, kde je uložený status webu, z ktorého potom načítava skript check.php, pri úvode stránky, kde kontroluje status celého aukčného portálu, ako to už bolo popísané vyššie. Skript na zmenu statusu je v Prílohe č. 8. Skript sa vykoná spôsobom overenia platnosti cookiea následného spojenia sa s databázou do príslušnej tabuľky, kde zmení hodnotu dostupnosti hlavného webu. V prípade údržby sa zobrazi veľmi jednoduchá stránka, ktorá sa ospravedlní návštevníkom za nedostupnosť portálu a doporučí im aby sa vrátili neskôr. Taktiež obsahuje núdzový prihlasovací formulár pre administrátora aby vypol stav údržby cez webové rozhranie. [7, s. 63] Viď Obrázok č. 6.

 

 

 

 


Obrázok č. 6: Režim údržby

Zdroj: vlastný

 

V prípade, že administračný aukčný systém je prázdny, tzn. bez aukcií, tak systém automaticky vyhodnotí nepotrebu generovania prístupových kódov a túto funkciu z menu automaticky deaktivuje s oznamujúcou hláškou o reaktivácii až po založení aukcie do systému.

 

Jeden, nie až tak podstatný odkaz v menu, resp. tlačítko, je na bezpečné odhlásenie, kde sa ihneď po kliknutí zruší platnosť cookie a system sa dá do východzej polohy, čiže do počiatočného menu.

 

Najdôležitejšia časť celého menu je ponuka na správu aukcií. V prípade že systém nebol predtým naplnený, alebo že všetky akcie už uplynuli a sú v archíve, tak sa zobrazí ponuka len na vytvorenie novej aukcie a odkaz na prezeranie archivovaných aukcií vrátane výsledkov o ukončení. Pri kliknutí na tlačítko Archív aukcií sa otvorí v novom okne výpis aktuálnych aukcií, ktoré su uložene v archíve databáze, resp. v tabuľke určenej pre archiváciu. Každá aukcia má svoje unikátne ID, aby sa nepomiešali a nezobrazovali zle.

Obrázok č. 7: Archív aukcií

Zdroj: vlastný

 

Skript, respektíve celý Archive reader, viď Obrázok č. 7 ako som ho nazval je
Prílohe č. 9 a je v ňom možné vidieť pripojenie na datbázu a vyčítanie aukcií jednu po druhej z tabulky pre archiváciu a následné automatické vpísanie do tabuľky Readera.
[21, s. 36]

 

 

4.3                          Vytvorenie aukcie

 

V prípade, že sa administrátor rozhodne vložiť do systému prvú aukciu, tak stačí kliknúť na tlačítko Vytvoriť. Po načítaní stránky sa zobrazí prehľadný formulár, v ktorom je nutné vyplniť krok za krokom údaje potrebné pre samostnú aukciu. Táto aukcia bude prvá a bude niesť označenie aktuálna.

Obrázok č. 8: Vytvorenie novej aukcie

Zdroj: vlastný

 

Formulár pre vytvorenie novej aukcie, v tomto prípade prvej, viď Obrázok č. 8, a to zároveň označenej v systéme ako aktuálnej, je vytvorený čo najviac možne prehľadne, aby sa administrátor systému v ňom rýchlo zorientoval. Ako prvé sa musí zadať Názov, popis a pokračovať postupne nadol, až kým sa nedostane administrátor na koniec formulára, kde to už len potvrdí jedným kliknutím na tlačítko Vytvoriť. V prípade že má aukcia obsahovať aj obrázok, je vo formulári vytvorený odkaz na pridanie obrázka, resp. pripojenie obrázka z disku počítača. O nahrávanie obrázka na server sa stará skript pre upload a to tak, že obrázok prevezme, skontroluje typ o aký sa jedná, napr. jpg, gif atd. a premenuje obrázok


                Obrázok č. 9: Hlavné menu aukcií

                Zdroj: vlastný

 

podľa Id  aukcie, ktoré si predtým načíta podľa ID aukcií v archíve a doplní k názvu už len príponu a následne obrázok prekopíruje na miesto presne určené na servri. Čas a dátum vo formulári je automaticky zisťovaný php skriptom a rozdelený na jednotlivé časti, ako sú hodina, minuta, deň, rok, mesiac. V prípade času sa jedná  o automatické zistenie
24 hodinového formátu času, aby nezvnikali komplikácie pri spúšťaní aukcie, všetk oej ošetrené v samotnom skripte php. Administrátor aukcií samozrejme môže s časom a dátumom akokoľvek manipulovať, systém len za neho predvyplní údaje, aby potom nedošlo k nejakým nejasnostiam pri vyplňovaní. Vo formulári sa taktiež nachádza ja políčko s cenou, kde sa vpisuje len číselná hodnota a znak euro sa automaticky pripisuje k cene. Vzhľadom na to, že aukcie sa budú riešiť len v rámci Slovenskej republiky, tak iná mena nepripadá v úvahu. Ďalšia docela podstatná vec, ktorú treba dobre zváziť pri vytváraní aukcie je jej typ, a to anglicka alebo holandská, podľa toho potom vo výsledku bude systém reagovať na prihadzovanie. Pri vytváraní aukcie skript prekontroluje ID, priradí nové a samozrjeme zapíše všetky hodnoty do tabulky v databázy a priradí k aukcii identifikátor aktuálna. V administračnom menu, viď Obrázok č. 9 a Obrázok č. 10, následne pribude nová položka, a to správa aukcií, kde sa môžu ľubovoľne upravovať. Zároveň sa v menu objaví počítadlo aukcií, ktore počita počet aukcií v systéme. V menu sa taktiež následne aktivuje ponuka na vytvorenie draftu budúcej aukcie, ktorá bude nasledovat po skončení tej aktuálnej a systém si automaticky nastaví z draftu novú aktuálnu aukciu.Posledná položka, ktorá sa v menu objaví naviac, je odkaz na zobrazenie danej kaktuálnej aukcie vytvorenej v systéme.

Obrázok č. 10: Hlavá stránka aukcií

Zdroj: vlastný

 

Ak má administrátor aukčného portálu infomrácie pre ďalšiu aukciu, ktorá sa bude konať hneď po aktuálne prebiehajúcej, tak nemusí stratiť čas, ak idú hneď po sebe v krátkom čase, ale bez problémov si ju môže nastaviť ihneď v systéme, a to pod novo aktivovanou voľbou Draft budúcej, kde sa mu ihneď po rozkliknutí objaví  úplne rovnaký formulár na vytvorenie aukcie, ako pri prvej, popisovanej vyššie. Skript, ktorý sa stará
o vkladanie aukcií do databáze  systému je v Prílohe č. 10. Je to skript na vytvorenie prvej aktuálnej aukcie. Pod Prílohou č. 11 je možno si prezrieť skript na vytvorenie draftu, ktorý je veľmi podobný a líši sa len drobnosťami v oznamovacích hláškach administrátorovi
a v priradení ID aukcie, ktoré musí byť samozrejme vyššie ako pri práve prebiehajúcej. ID aukcií  je v číselnej forme, idúce od nuly a reflektujú sa v ňom už i aukcie v archíve. Akonáhle administrátor dokonćí vytvorenie draftu, čiže predlohy pre nasledujúcu aukciu, tak sa počítadlo aukcií v systéme navýši o ďalšiu aukciu, viď Obrázok č. 11. Čo je veľmi podstatné, č osa automatizácie systému týka, je vlastnosť systému rozpoznat vytvorené dve aukcie a následné deaktivovanie dvoch políčok v menu, a to tých, ktoré ponúkajú vytváranie aukcií. Je to preto, aby si administrátor v rýchlosti nesplietol čo vlastne chce robiť a nevznikli v systéme dve a viac aukcí s rovnakými identifikátormi, ako sú aktívna
a draft. Požiadavok mesta bol jasný a presne definovaný, na dve aukcie zároveň uložené
v systéme.

Obrázok č. 11: Hlavá stránka aukcií

Zdroj: vlastný

 

Ďalšou, určite zaujímavou položkou v menu, ktoré sa pekne rozrástlo po vytvorení aukcií, je tlačítko pre upravenie aukcií. Po rozkliknutí je možno vidieť obidve aukcie na stránke, viď Obrázok č. 12, kde každá z nich se separovaná v rámčekoch a jednotlivé okienka sú popísané. Zobrazuje sa tam všetko, čo administrátor zadal, vrátane obrázka z úložišťa na servri. [8, s. 33]

Obrázok č. 12:Výpis aktuálnej aukcie v administračnom režime

Zdroj: vlastný

 

Ako sme si mohli už všimnúť predtým, pri vytváraní aukcií. Tak aukcia môže prebiehať iba v jeden deň a trvá maximálne pár hodín. Je to dané požiadavkami legislatívy a mesta Stará Turá.

 

Čo určite stojí za povšimnutie tak sú dve tlačítka pod každou aukciou, a to Upraviť
a Zmazať. Tieto tlačítka su pre administrátora užitočné z dôvodu, že ak sa rozhodne pre úpravu alebo radikálnmu zmenu, tak nemusí mať znalosť jazyka SQL, resp. Ovládanie databáze na servri, ale môže to pohodlne vyriešiť cez webové rozhranie, viď Obrázok
č. 13
. V prípade že zvolí zmazať aukciu, tak sa kompletne odstráni zo systému a to vrátane výmazu príslušného obrázka z úložišťa, aby zbytočne nezaberalo an serveri miesto. Po zmazaní ktorejkoľvek aukcie sa v administračom menu automaticky zobrazí ponuka na znovuvytvorenie príslušnej aukcie, či už aktuálnej, alebo draftu, čize budúcej. V Prílohe
č. 12
je možno nahliadnuť do skriptu pre výpis aukcií a v Prílohe č. 13 pripájam skript pre mazanie aukcie zo systému.

Obrázok č. 13: Úprava už zadanej aukcie

Zdroj: vlastný

 

Ak sa administrátor rozhodne zľahka modifikovať aukciu uloženú v systéme, resp. jeho databáze, tak je to veľmi jednoduché a táto funkcia sa nachádza pod tlačítkom Upraviť. Po rozkliknutí sa zobrazí formulár veľmi podobný tomu, ktoŕy sa použil pri vytváraní novej aukcie do systému, ale je tu jeden podstatný rozdieľ, a to že v ňom budú automaticky zobrazené hodnoty pre aukciu, v ktorej bola vybraná voľba pre úpravu. Tento spôsob úpravy je totožný jak pre aktuálne prebiehajúcu aukciu, tak i pre pripravovanú aukciu.
V Prílohe č.14 pripŕajam k nahliadnutiu php kód, ktorý slúži pre úpravu aktuálnej aukcie.

 

 

4.4                          Generátor kódov

 

Ako každý aukčný, správne fungujúci systém, aj tento potrebuje zamedziť tomu, aby sa do neho dostali nepovolaní ľudia a zmarili prihadzovanie v aukciách, alebo inak poškodili hladký priebeh aukcie, resp. jej prihadzovania. Pre tento účel bol do systémy vytvorený tzv. Generátor kódov, viď Obrázok č. 14 a č. 15, ktorý sa zaktivuje len pri vytvorení akejkoľvek aukcie v systéme. Môžeme ho jednoducho nájst v hlavnom administračnom menu.

 

 

Obrázok č. 14: Odkaz na generátor                          Obrázok 15: Generátor kódov

Zdroj: vlastný                                                           Zdroj: vlastný

 

 

Po kliknutí na tlačítko Generátor sa nám zobrazí nová stránka, kde je podľa nadpisu vidieť, že sa nachádzame v sekcii generovania kódov. Ako prvé sa musí navoliť v jednoduchom formuláre, koľko kódov vlastne chceme, resp. Je to podľa toho, koľko účastníkov bude na aukcii prihadzovať. Po navolení korektného počtu generovania kódov sa klikne jednoducho na tlačítko Generuj. Po stlačení tohoto tlačítka sa systém automaticky presmeruje na generovací php skript, ktorý podľa nastavenej sekvencie generuje kódy
a zaručuje zároveň, že sa žiadny nebude opakovať, viď Obrázok č. 15. Skript je možno vidieť v Prílohe č. 15.

Obrázok č. 15: Vygenerované kódy

Zdroj: vlastný

 

Po generácii kódov sa zobrazí stránka, ktorá nam nielen kódy ukáže, ale taktiež ponúkne možnosť ich editácie. Každý kód je príslušne označený názvom začínajúcim Kód a k nemu priradené poradové číslo. Toto poradové číslo sa vpíše dole do editačného políčka
s názvom “Pridat poznamku a meno ku kodu:” a následne na to už stačí len kliknúť na tlačítko pod ním, ktoré nesie názov  Otvoriť a pridať. Po odkliknutí si systém automaticky z databáze, resp. príslušnej tabulky v databázy, kde sú tieto vygenerované kódy uložené vyberie ten správny, požadovaný a prenesie administrátora do predpripraveného formulára, kde má na ukážku prevyplnené hodnoty pre kód, aby sa rýchlejšie zorientoval a nemusel zbytočne rozmýšlať čo usí kde naklikať. Ako je možné vidieť, viď Obrázok č. 16, dá sa
v jednoduchosti doplniť poznámka ku kódu, ktorá slúži len pre administrátora, to znamená že aukcia aby bola anonymná tak sa nemusí zobrazovať meno reálnej osoby, ale administrátor si ho môže pre kontrolu vpísať do poznámky a pod kolonku meno vpísať len nejaký vymyslený pseudonym. [31, s. 44]

Obrázok č. 16: Úprava kódu

Zdroj: vlastný

 

Po prispôsobení všetkých políčok na obraz administrátora sa klikne na tlačítko Upraviť
a záznam sa zaktualizuje v databáze,čo sa potvrdí hláškou an obrazovke. V Prílohe č. 16 je možné si prezrieť php kód pre tento úkon. Skript formuláru pre úpravu kódov je samozrejme ošetrený proti zlému vstupu z klávesnice, kde sa volí voľba kódu a túto skutočnosť zobrazí na obrazovke v prípade neexistujúceho výberu kódu. [23, s. 36] Tento skrip prikladám do Prílohy č. 17.

 

Po kliknutí úpravy a následného úspešného postupu úpravy skriptom sa systém automaticky presmeruje do databázy kódov, viď Obrázok č. 17, kde je možné pokračovať v úpravách a taktiež pre urýchlenie práce s kódmi odoslať tieto emailom správnemu účastníkovi aukcie.

Obrázok č. 17: Databáza kódov

Zdroj: vlastný

 

Ako je možné vidieť, je tu v tabuľke prehľadne umiestnené všetko, tzn, kódy, poznámky
a mená. Implicitne je všetko generované systémom a administrátor si to môže podľa potreby upravovať na svoje potreby.  Je tomu tak, že v prípade že by zabudol, ale nemal múzu, tak systém všetko predvyplní, aby sa následne korektne zobrazovalo meno na aukcii, i keď generované systémom. Je tu samozrejme taktiež možnosť všetky kódy zmazať naraz, a to či už po skončení aukcií, alebo pri zmene počtu účastníkov aukcie.
V prípade že si administrátor zvolí odoslanie kódu emailom, tak jednoducho klikne na tlačítko E-mail v príslušnom riadku tabuľky, kde sa požadovaný kód       pre odoslanie nachádza. [22, s. 43]

Obrázok č. 18: Odoslanie kódu emailom

Zdroj: vlastný

 

 

Po odkliknutí sa mu automaticky zobrazí formulár, viď Obrázok č. 18, kde sa z databázy načítajú dáta a odosielateľ bude predvyplnený administrátor, resp. jeho email adresa nastavená v systéme. Doplní si akurát email komu to chce odoslať a text s príslušným kódom je predvyplnený automaticky systémom. Podľa potreby si samozrejme môže text upraviť. Ak bude s vyplňovaním spokojný, tak klikne na Odoslať a email sa automaticky odošle cez smtp bránu hostingového servru. O odoslanie sa stará jednoduchý php skript, ktorý je možné vidieť v Prílohe č. 18. V Prílohe č. 19 pridávam na prezretie formulár ktorý napreduje odoslaniu kódu mailom. Celý systém sa následne presmeruje naspäť do databáze kódov. Skript pre vypisovanie kódov prikladám do Prílohy č. 20. Administrátor môže následne jednoducho navŕatovou šípkou sa vrátiť do administračného menu.

 

V prípade, že administrátor aukčného systému už nepotrebuje nič upravovať, tak sa môže
z menu prekliknúť priamo na aukciu a sledovať ju v administračnom režime. Môže tak učiniť kliknutím Zobraziť aktuálnu aukciu, kde ho systém presmeruje na php skript, ktorý pre neho nastaví cookie a ponúkne mu odkaz na aktuálnu aukicu, ktorá sa mu po kliknutí zobrazí v novom maximalizovanom okne.  Nastavenie cookie a celý skript je možné násjť v Prílohe č. 21.

Obrázok č. 19: Administračný mód

Zdroj: vlastný

 

Administračný mód, viď Obrázok č.19, v tomto prípade znamená toľko, že systém ho identifikuje ako administrátora a nepýta od neho prístupový kód, z toho módu následne vyskočí po stlačení odhlásiť na aukčnej stránke a môže zadať prístupový kód a môže byť účastník aukcie.

 

 

4.5                          Aktuálna aukcia

 


Po všetkom nastavení, ktoré som prebral v predošlých statiach, sa konečne dostávame
k hlavnému bodu celej práce, a to zobrazeniu aktuálne prebiehajúcej aukcie, viď Obrázok č. 20. Ako sa dostať na zobrazenie aktuálnej aukcie z administračného menu som už popísal predtým, ale len v skratke

Obrázok č. 20: Odkaz na aktuálne aukcie

Zdroj: vlastný

 

zopakujem, že po vytvorení aktuálnej aukcie sa administrátorovi sprístupní ponuka na otvorenie aktuálnej aukcie v administračnom móde. V prípade že sa jedná o bežného užívateľa, to znamená vrátane toho, kto sa chce zúčastniť aukcie, tzn. participovať na nej
a má príslušný prístupový kód generovaný a oznámený administrátorom aukčného portálu, sa môže na aukciu dostať veľmi jednoducho, a to rozkliknutím ponuky zoznam aukcií
a následným vybratím ponuky Aktuálne aukcie.

 

Po rozkliknutí tejto ponuky dôjde k otvoreniu nového okna v maximalizovanom režime pre maximálny pôžitok z aukcie, aby neboli žiadne rušivé elementy, ktoré by rozptyľovali participanta na aukcii.

 

Po otvorení maximalizovaného okna dôjde k otvoreniu stránky, kde je možné vidieť celkový popis aukcie vrátane prípadne vloženého obrázka, ktorý sa po rozkliknutí dá zväčšiť. V hornej časti stránky sa nachádza už spomínaný popis aukcie, ktorý vysvetľuje všetko dôležité k aukcii, vrátane prípadného kontaktu na toho, kto má aukciu na starosti
a prípadne ho v rýchlosti požiadať o pridelenie prístupu k aukcii, pokiaľ to bude
z časových dôvodov ešte možné. V ľavej dolnej časti stránky je možné vidieť časové údaje o aukcii, to znamená kedy aukcia začína, kedy končí a aktuálny status či už beží, alebo či je pripravovaná, alebo či práve skončila a prebieha archivácia a pripravenie novej aukcie
z prípadného pripraveného draftu budúcej aukcie. V pravom dolnom rohu je prihlasovací formulár, viď Obrázok č. 21, ktorý je veľmi jednoduchý a žiada vloženie správneho kódu od participanta na aukcii. Po prihlásení sa mu otvorí stránka kde môže zadávať svoje ponuky. V prípade že sa jedná o už ukončenú, alebo ešte nezačatú aukciu, tak mu nedovolí prihadzovať a upozorní ho na túto podstatu informáciou na obrazovke.

Obrázok č. 21: Čas aukcie

Zdroj: vlastný

 

V hornej časti stránky je taktiež možne si všimnúť dvoch koloniek, ktoré zobrazujú časť
a meno toho, kto aktuálne vyhráva, viď Obrázokč. 22. V prípade že aukcia začne, alebo lepšie povedané v jej priebehu sa


Obrázok č. 22: Výpis v aukcii

Zdroj: vlastný

 

tam okamžite po každej zmene ukáže aktualizácia a zmení sa cena vrátane toho, kto aktuálne ašpiruje na výhercu celej aukcie, Takto to celé pokračuje až do vypršania časového limitu kedy sa tam objaví finálna informácia o hodnote a participantovi.
V prípade že prihadzujúci zvolí zlú sumu, to znamená že podľa typu aukcie sa buď cena zvyšuje alebo znižuje podľa typu požiadavky aukcie, tak na túto skutočnosť bude participant upozornený hláškou na obrazovke a jeho ponuka nebude akceptovaná.

 

O celú aukčnú správu sa stará interaktívna horná a ľavá dolná časť aukčnej stránky, kde sa kontroluje aktuálny výpis z databáze o cene a participantovi hore a o dodržaní presnej doby aukcie vľavo dole. Spodná časť sa taktiež stará o následnú archiváciu práve skončenej
a o prípravu novej aukcie z podoby draftu, ktorá bude ihneď k dispozícii. Na prihadzovanie v aukciách bol taktiež požiadavok od mesta Stará Turá v podobe tej, že ak dôjde
k navýšeniu, respektíve zmene hodnoty v aukcii, to znamená prihodenia v poslednej pol minúte času do konca celkového času aukcie, tak celkový čas do konca sa navýši o ďalšiu minútu, čiže aukcia sa predĺži a účastníci môžu ďalšiu minútu naviac dávať svoje ponuky. V prípade že pol minuty pred koncom nikto už neprihodí, tak sa aukcia automaticky ukončí po vypršaní časového limitu s aktuálnym výsledkom priebehu a prebehne už spomínaná archivácia a nastavovanie novej aukcie, ak nejaká je nachystaná v systéme.
V prípade že toto zlyhá, to znamená archivácia a príprava novej, tak sa tento jav bude okamžite opakovať pri znovu načítaní celej aukčnej stránky, pri počiatočnej kontrole celého systému, o ktorom som pojednával už predtým.

 

Samozrejme systém počíta aj s variantou že v systéme nebude žiadna aukcia, viď Obrázok č. 23, a tým pádom sa na stránke zobrazí len hláška o tom, že momentálne nieje nič
v systéme a neukáže sa ani čas a ani kód na stŕanke a záujemca sa môže vrátiť neskôr, alebo nechať si stránku načítanú a keď sa v systéme zaradí prvá aktuálna aukcia, tak sa všetko automaticky presmeruje na popis, počítadlo a prístup.

Obrázok č. 23: Systém bez aukcie

Zdroj: vlastný

 

Ako si je iste možné povšimnúť, tak všade na stránkach je pseudonym GTM, je to môj pseudonym a je kratší ako moje celé meno, preto ho používam a kto chce ma môže cez formulár na mojej hlavnej stránke nakontaktovať. Všetky prostredia nesú môj pseudonym, pretože boli vytvorené ako niečo nové, v rámci špeciálnych požiadavkou aukčného systému a celého užívateľského prostredia.

 

Pre utriedenie myšlienok prikladám do Prílohy č. 22 náhľad zo skriptu pre hornú časť stránky, do Prílohy č. 23 náhľad do skriptu ľavej dolnej stránky a do Prílohy č. 24 náhľad skriptu pre prihlasovanie účastníka.

 

Tak ako aj časti celého portálu predtým, tak aj celý tento celok zobrazujúci aukciu
a riadiaci celý tento aukčný úkon beži na cookie a kaskádových štýloch css. [9, s. 28]    

 

 

4.6                          História nástrojov použitých pre tvorbu aukčného portálu

 

V celej práci je spomínaná práca v PHP skriptovacom jazyku, za pomoci použitia ovládania SQL databáze, a to všetko zakomponované v HTML štruktúre za občasného použitia javascriptu ako dôkaz toho, že všetky tieto techniky sa dajú kompatibilne skĺbiť, aby pracovali pohromade spolahlivo a stabilne. Niečo málo sa pokúsim priblížiť o histórii jednotlivých techník použitých  v mojej bakalárskej práce a tým sa trošku priblížiť aj tomu, prečo som dané nástroje pužil.

4.6.1                      PHP

 

PHP je vytvorený ako skriptovací jazyk pre tvorbu webu s dynamickými prvkami a jeho začiatky sa začali už v roku 1994. Vtedy sa istý Rasmus Lerdorf rozhodol, že si vytvorí jednoduchý systém pre počítanie prístup k svojim stránkam. Na začiatku to bolo napísané
v jazyku Perl. Za nejakú dobu bol celý systém prepísaný do programovacieho jazyka C, pretože kód perlu dosť preťažoval server. Sada týchto skriptov bola ešte neskôr toho istého roku vydaná pod starým názvom "Personal Home Page Tools", v skratke PHP. Neskoršie to autor premenoval na "Personal Home Page Construction Kit". U toho názvu však nezostal. V polovici roka 1995 sa systém PHP spojil s iným programom toho istého autora, a to síce s nástrojom zvaným "Form Interpreter" alebo skrátene FI. Takto vzniklo PHP / FI 2.0 systém, ktorý si postupne získaval celosvetovú známosť a obľubu a bol veľmi rozšírený.

 

Koncom roka 1998 bola už k dispozícii verzia PHP 3.0, ktorá bola oveľa rýchlejšia
(a vybavenejšia) ako druhá verzia  a bola k dispozícii zároveň pod operačnými systémami Windows. Počet webov, ktoré používali PHP sa zvyšoval, až dosiahol zhruba 150 000.
[2, s. 10]

 

Verzia PHP 4.0, ktorá bola aktuálna ešte donedávna, je pridaných do jazyka mnoho nových funkcií a zároveň prináša prepracovanie a teda podstatne rýchlejšie jadro Zend, na ktorom to celé beží.

 

Podla údajov z apríla roku 2004 beží PHP na viac ako 15 000 000 doménach a je to bezkonkurencne najčastejšie používaný modul webového servera Apache. Skratka PHP sa následne premenovala opäť, a od tej doby sa prekladá ako "PHP: Hypertext Preprocessor". Úvaha o začiatkoch PHP by nebola úplná, keby sa krátko nezmienilo zároveň o jeho budúcom vývoji. Momntálne je už na svete aktuálna verzia PHP 5.0. V čase písania tohto článku je už k dispozícii Release Candidate verzie PHP 5.5 a podľa vývojárov sa bude na čo tešiť. S dokonalejšou podporou XML, nové objektové rozhranie pre prácu s databázou MySQL a mnoho ďalšieho. Čiže keď sa zamyslíme, systém je stále vybavovaný novými technológiami a je aktivne vyvíjaný. [4, s. 12]

 

Prečo áno a prečo nie? Prečo je PHP tak obľúbené? K tomu vedie celá rada myšlienok
a faktov. PHP je relatívne jednoduché na pochopenie, PHP má syntax veľmi podobnú jazyku C a je teda väčšine vývojárom dosť blízky. PHP podporuje širokú radu súvisiacich technológií, formátov a štandardizuje to otvorený projekt s rozsiahlou podporou komunity, kde sa dajú nájsť kvantá už hotového kódu pre okamžité použitie alebo funkčné hotové PHP aplikácie.

 

Podstatná časť z hotového kódu je šírený pod nejakou slobodnou licenciou a dá sa použiť vo vlastných projektoch. PHP si dobre rozumie s webovým serverom Apache a ľahko komunikuje s databázami, ako je MySQL, PostgreSQL a rada ďalších. PHP je multiplatformový a možno ho prevádzkovať s väčšinou webových serverov a na väcšine dnes existujúcich operačných systémoch. PHP je podporované mnoho existujúcimi poskytovateľmi webhostingových služieb. [15, s. 15]

 

Má PHP tiež nejaké svoje nevýhody? Viacmenej nie. Ak budeme chcieť napísať dynamický web, bude PHP prakticky vždy dobrou voľbou. S niektorými vecami by sa ale napriek tomu malo pri použití PHP počítať, a to že PHP je interpretovaný, nie kompilovaný jazyk, ktokoľvek má priamy prístup k serveru, môže nahliadnuť do PHP skriptov. Podpora objektového programovania nie je v PHP na moc dobrej úrovni. V PHP 5 sa tento neduh trošku zlepšil. Pretože je PHP aktívne vyvíjané, v budúcich verziách jazyka sa môžu niektoré funkcie zmeniť, alebo sa môžu správať inak ako doteraz.

 

Čo sa v PHP dá napísať? V podstate povedané takmer všetko, čo nejako súvisí
s dynamickým webom alebo s databázami. Najbežnejším sú aplikácie písané v PHP a patrí medzi ne napríklad: internetové obchody, podnikové informačné systémy (či už intranete alebo internete), diskusné fóra, redakčné systémy, firemné prezentácie, dynamické osobné stránky, weboví poštoví či databázoví klientiv, vyhľadávače a katalógy, drobnosti typu počítadla, ankety a mnoho iných ďalších vecí potrebných pre nás. [16, s. 13]

 

 

4.6.2                      SQL

 

S jazykom SQL (jeho skratka znamená Structured Query Language) sa môžeme stretnúť už od roku 1974. V tej dobe sa ešte volal Sequel. Ako prvý bol použitý v Systéme R, vyvinutého v kalifornskom laboratóriu firmy IBM. Od tej doby sa jazyk rozšíroval a bol používaný v ostatných systémoch. [17, s. 9]

 

Postupom času avšak vznikali ďalšie a zároveň novšie verzie jazyka a bolo potrebné, aby bol jazyk štandardizovaný. K tomu došlo až v roku 1986, kedy ho prijala štandardizačná skupina ANSI (a v roku 1987 organizácia ISO).  Za štandard bol uznaný dialekt americkej firmy IBM. V literatúre sa môžno stretnúť aj s označením SQL86. Neskôr bolo potrebné rozšírenie definičného jazyka pre možnosť integritného obmedzenia. Výsledná správa bola uverejnená v roku 1989 organizáciou ISO. Tomuto rozšíreniu sa hovorí SQL89. Posledný prijatý štandard bol až v roku 1992 (skupinou ANSI) a je označovaný ako SQL92.
[33, s. 16]

 

Prvý významnejší produkty, kde bol jazyk SQL zabudovaný, bol od firmy IBM: DB2, SQL / DS (obidva vychádzajú zo Systému R) a qmf. S nástupom počítačov triedy PC x86 začali aj ostatní výrobcovia viac uvažovať o využití SQL. Asi najznámejším je firma Ashton-Tate so svojou dBASE IV (aj keď implementácia SQL nebola celkom úplná). Ako ďalšie bolo INFORMIX-SQL, Ingres pre PC, ORACLE, SQLBase, XDB II, XQL. Postupom času sa začal jazyk SQL prenášať aj na systém UNIX a od jednoužívateľských úloh sa prechádzalo k serverom vo výsledku až k serverom založených na SQL. Menujme aspoň SRBD ORACLE, INFORMIX, PROGRESS a Ingres. Ďalej napr SQL Server od firmy Sybase či Microsoft.

 

Medzi štandardy patria aj X / OPEN SQL vychádzajúce z ANSI, ale zohľadňujú sa
k niektorým črtám systému UNIX. Aj napriek tomu že za štandard bol uznaný dialekt firmy IBM, ustanovili si svoj ​​vlastný štandard pod názvom SAA-SQL. SQL je tiež časťou federálneho štandardu pre spracovanie informácií (FIPS). [18, s. 14]

 

 

4.6.3                      HTML

 

Ako prvý definíciu jazyka HTML vytvoril v roku 1991 Tim Berners-Lee, ako vtedajšiu súčasť projektu World Wide Web, ktorý mal umožniť vedcom zaoberajúcim sa fyzikou vysokých energií, komunikáciu a zdieľanie výsledkov výskumu po celom svete. Nieje náhodou preto, že celý projekt vznikal v CERNe (Centre Européenne pour la Recherche Nucléaire, Európskom centre pre jadrový výskum), ktorý leží na švajčiarsko francúzskych hraniciach neďaleko od Ženevy. Jednalo sa o výsledok dvojročného projektu, ktorý mal vyriešiť problémy so zdieľaním informácií vo veľkej inštitúcii, akou bezpochyby CERN je. Táto verzia HTML bola popísaná v dokumente s názvom HTML Tags. Umožňovala text rozčleniť do niekoľkých logických úrovní, použiť niekoľko druhov zvýraznení textu
a zaradiť do textu odkazy a obrázky. [10, s. 8]

 

Berners-Lee pri návrhu HTML nepredpokladal, že by programátori webových stránok museli tento jazyk poznať. Prvá verzia webového softvéru bola napísaná pre operačný systém NextStep a obsahovala jak prehliadač, tak i integrovaný editor webových stránok. Softvér vyvinutý v CERNe, vrátane špecifikácií jazyka HTML bol verejne uvoľnený až
v roku 1991. Keď Marc Anderssen so svojimi kolegami z NCSA (National Center for Supercomputing Applications) písal skôr populárny prehliadač Mosaic, považoval za príliš ťažké implementovať do programu rovno aj editor pre HTML. Vďaka tomuto rozhodnutiu a tomu, že nie každý prevádzkuje na svojom počítači NextStep, je dnes nutné, aby autori profesionálnych stránok poznali jazyk HTML. [11, s. 11]

 

Požiadavky užívateľov na web vzrastali, a tak producenti rôznych prehliadačov obohacovali HTML o niektoré nové prvky. Aby bola zachovaná kompatibilita medzi jednotlivými modifikáciami HTML, vytvoril Berners-Lee pod hlavičkou IETF (Internet Engineering Task Force) návrh štandardu HTML 2.0, ktorý zahŕňal všetky v tej dobe bežne používané prvky jazyka HTML. Verzia HTML 2.0 mala zároveň dve úrovne. Prvý
z nich (Level 1) iba málo rozširuje predchádzajúcu verziu HTML. Level 2 naviac definuje prácu s formulármi. Špecifikáciu HTML 2.0 nájdeme v RFC dokumente číslo 1866.

 

Ďalšie rozšírenie jazyka známe ako HTML+ zahŕňajú najmä rozšírenie HTML o vytváraní tabuliek a matematických vzorcov. Taktiež sa tu objavujú prvky, ktoré umožňujú precíznejšie kontrolovať výsledný vzhľad textu - lepšie obtekanie obrázkov textom a štýly dokumentov. Dave Raggett z laboratórií Hawlett-Packard HTML+ formalizoval a vytvoril jeho definíciu ako DTD (Document Type Definition) v jazyku SGML - na jar roku 1995 tak vznikol návrh štandardu HTML 3.0.

 

Niektoré prvky HTML 3.0, ako napríklad tabuľky, podporovali novšie verzie prehliadačov Mosaic a Netscape. Kompletnú podporu pre väčšinu rysov HTML 3.0 ponúkal iba experimentálne prehliadač Arena, ktorý sa však nikdy príliš nerozšíril.

 

Na začiatku roku 1996 už bolo jasné, že HTML 3.0 bolo tak mohutným skokom vpred, že sa nenašiel nik, kto by nedokázal implementovať prehliadač s jeho podporou. Vývoj štandardov webu v tejto dobe už koordinovalo konzorcium W3C, ktorého členmi sú okrem iného predné softvérové ​​firmy. Členovia W3C sa teda zhodli na vlastnostiach, o ktoré rozšíria HTML 2.0, a vytvorili tak HTML 3.2. HTML 3.2 však zďaleka neobsahuje všetko z HTML 3.0. Z verzie 3.0 zostali v podstate len oklieštené tabuľky. Ostatné nové prvky HTML 3.2 sú len akousi zmeskou, ktorú v tom čase podporovali najnovšie prehliadače. Opakoval sa teda v podstate rovnaký postup ako pri vzniku verzie 2.0 - jazyk sa zjednotil na prieniku možností tých najrozšírenejších prehliadačov. Okrem tabuliek pribudli vo verzii 3.2 najmä možnosti lepšej kontroly formátovania, vrátane oveľa voľnejšieho výberu použitých druhov písma, a to logický ústupok požiadavkám na graficky perfektne vyzerajúce stránky. Ďalšie podstatné rozšírenie sa týkalo podpory Java appletov. HTML 3.2 nieslo kódové označenie Wilbur a od januára 1997 bolo odporúčaním konzorcia W3C, znamená to, že by ho mali všetci používať, aby bola na webe zaistená kompatibilita.

 

Väčšina prehliadačov však už od roku 1996-1997 ponúkala ďalšie rozšírenie nad rámec HTML 3.2. Ich používanie je však dvojaké, na jednu stranu nebola nijak štandardizovaná
a niektoré prehliadače im nerozumeli, na stranu druhú sú mnohokrát veľmi užitočné a ich používanie a rozšírenie urýchlilo ich zaradenie do štandardu. Medzi takéto rozšírenie patrí predovšetkým rámy (frames) a klientske skriptovacie jazyky (napr. Javascript).

 

Na jar roku 1997 zverejnilo W3C ďalšie plány na rozšírenie HTML pod kódovým názvom Cougar. Cougar v sebe zahŕňal HTML 3.2 spoločne s bežne používanými konštrukciami ako sú rámy, skripty a všeobecné vkladanie objektov. Ďalšími novinkami bola podpora viacjazyčných dokumentov. Na začiatku júla 1997 publikovalo W3C návrh HTML 4.0, ktorý vznikol drobnými úpravami Cougaru a vytvorením jedného súhrnného dokumentu popisujúceho návrh štandardu. V decembri roku 1997 bolo potom HTML 4.0 prijaté ako štandard organizácie W3C. Od tej doby sa na dlhú dobu samotný vývoj jazyka HTML - značky, ktoré možno použiť, v podstate zastavil. V decembri 1999 bol vydaný nový štandard HTML 4.01, ktorý iba opravuje niektoré drobné chyby z predchádzajúcich špecifikácií. [13, s. 16]

 

Krátko po vydaní špecifikácie HTML 4.0 zverejnilo W3C ešte jeden štandard - jazyk XML (eXtensible Markup Language). Ten sa od svojho vydania v roku 1998 stal vo svete informačných technológií všadeprítomným formátom pre výmenu a ukladanie dát. XML ovplyvnilo aj ďalší vývoj jazyka HTML. Na začiatku roku 2000 bola vydaná špecifikácia jazyka XHTML 1.0, ktorá mala svoju syntax odvodenú od XML, nie od SGML, ako HTML. V zásade však išlo len o kozmetickú zmenu. Zoznam dostupných značiek a ich význam zostal rovnaký, len sa nadrobno zmenila syntax. Práve pre odlíšenie od predchádzajúcich verzií HTML, mala táto nová verzia HTML založená na XML pred svojím názvom pridané písmeno. [12, s. 18]

 

Na začiatku tisícročia sa XHTML zdalo ako tá správna technológia nielen pre klasický web. Vznikli špeciálne zjednodušené verzie XHTML, ktoré ponúkali len niektoré funkcie jazyka XHTML 1.0 a boli určené pre špecifické použitie. Napríklad XHTML Basic pre mobilné zariadenia alebo XHTML Print pre jednoduché tlačové výstupy. Aby bolo ľahké vytvárať odnože jazyka XHTML, vzniklo XHTML 1.1, ktoré do jazyka nepridávalo
v podstate žiadnu funkčnosť, ale kopírovalo mechanizmus modularizácie celého jazyka
a vytváranie vlastných odvodenín.

 

Bohužiaľ história ukázala, že samotné XHTML nebolo pre ďalší vývoj webu tou najlepšou cestou. Jazyky XHTML 1.0 a 1.1 nepridali oproti HTML 4.01 v podstate žiadnu novú funkčnosť. Okrem istej módnosti tak nebol pragmatický dôvod pre masový prechod od HTML k XHTML. Navyše v tej dobe najpoužívanejší prehliadač Internet Explorer nevedel XHTML stránky spracovávať úplne korektne.

 

Vo W3C potom začala pracovná skupina XHTML vyvíjať ďalšiu verziu jazyka XHTML 2.0, ktorá priniesla mnohé zaujímavé vlastnosti. Bohužiaľ za cenu porušenia kompatibility s predchádzajúcimi verziami jazyka HTML a XHTML. Pre výrobcov prehliadačov to bol príliš revolučný krok, lebo preferovali konzervatívnejší prístup postupného vylepšovania existujúcich funkčných technológií, a to HTML 4.01 a XHTML 1.0. Nespokojnosť výrobcov prehliadačov potom dospela tak ďaleko, že niektorí z nich v roku 2004 založili spoločnú pracovnú skupinu WHATWG (The Web Hypertext Application Technology Working Group). Na jej pôde potom spoločne pripravovali špecifikáciu platformy pre webové aplikácie bežiace v prehliadači. Okrem rozšírenia jazyka HTML špecifikácia zahŕňala aj vymedzenia dôležitých rozhraní pre využitie vo skriptovacom jazyku Javascript. [14, s. 17]

 

Rozštiepenie ďalšieho vývoja HTML samozrejme nebolo žiadúce. Po dlhých a zložitých diskusiách a rokovaniach nakoniec aj vo vnútri organizácie W3C prevážil názor, že XHTML 2 je slepá cesta, pretože výrobcovia prehliadačov ho ignorujú. V roku 2007 sa preto sily W3C a WHATWG spojili a pracovná skupina HTML zobrala ako základ špecifikácie vytvorené vo WHATWG a na ich základe začalo vznikať HTML5. [20, s. 12]

HTML5 nadväzuje na HTML 4.01 a pridáva pre vývojárov webových aplikácií veľa užitočných funkcií, kvôli ktorým je výhodné túto najnovšiu verziu jazyka používať. Zároveň zachováva možnosť používať pre zápis stránok syntax XML a používať tak
v podstate XHTML. [29, s. 22]

 

Dôležité je však poznať, že v tejto chvíli nie je ešte HTML5 celkom hotové. Na jeho špecifikácii sa stále pracuje. Niektoré jeho časti sú pritom už pomerne stabilné a podporuje ich väčšina moderných prehliadačov. Naopak, niektoré časti HTML5 sú zatiaľ skôr experimentálne a je otázkou, či sa časom presadia a zostanú vo finálnej verzii HTML5, ktorej dokončenie ani optimisti nečakajú ešte pred rokom 2020.

 

 

4.6.4                      JavaScript

 

Prvá verzia JavaScriptu sa objavila už v roku 1995 v prehliadači Netscape Navigator 2. JavaScript bol vtedy zamýšľaný ako nástroj na doplnenie jednoduchých dynamických prvkov do webových stránok. Jeho typické využitie bolo pre validácie formulárov na strane klienta a drobné efekty s obrázkami , o moc viac s vtedajším JavaScriptom vymyslieť nešlo. Programy v JavaScripte tak mali väčšinou dĺžku len niekoľko riadkov.

 

Situácia sa zmenila s príchodom Internet Explorera 4, ktorý ako prvý prehliadač, umožnil skriptom pristupovať k objektovému modelu celej stránky. Z JavaScriptu sa tak dal zmeniť obsah ľubovoľných častí stránky, pridávať obsah nový či naopak obsah zmazať. Možnosti JavaScriptu sa tým rádovo rozšírili, objavila sa veľa skriptov s vyskakovacím menu 
a priemerná dĺžka skriptov v stránkach podstatne vzrástla.

 

Ďalším zlomom bol nástup AJAXu, ktorý umožňoval stránkam komunikovať so serverom a zobrazovať užívateľovi nový obsah, či vykonávať rôzne akcie, aby bolo nutné nové načítanie stránky. Z histórie vieme, aký boom spôsobilo uvedenie Gmail, bola to prvá aplikácia, ktorá bola na JavaScripte a AJAXu kompletne postavená a nemohla bez nich fungovať. Takýchto aplikácií je dnes veľa a ich spoločnou črtou je, že obsahujú stovky kB JavaScript kódu.

 

Posledným dôležitým bodom vo vývoji JavaScriptu bol nástup knižníc typu Prototype
a jQuery. Ich cieľom je uľahčiť prácu s DOM a skryť niektoré rozdiely medzi prehliadačmi. Dôsledkom je, že prakticky každá nová stránka si dnes so sebou nesie desiatky kB JavaScriptového kódu a pri bežných operáciách sa vykoná viac javascriptových príkazov, než tomu bolo bez knižníc. [32, s. 17]

 

V posledných pár rokoch sa situácia zmenila. Výrobcovia prehliadačov si začali uvedomovať, že javascriptoví interpreti sa stávajú úzkym hrdlom mnohých webových aplikácií a v nejednom prípade sú hlavnou príčinou ich pomalosti. Začali na rýchlosti JavaScriptu intenzívne pracovať a všetko sa postupne vyústilo až do podoby pretekov medzi prehliadačmi,  kedy sa jednotlivé strany preťahujú o prvenstvo v niekoľkých rôznych rýchlostných testoch a odpovedí na momentálnej víťazstvo strany jednej, je zvyčajne veľmi rýchlo nová verzia interprétera strany druhej, ktorá situáciu opäť mení.
Z tohoto samozrejme v konečnom dôsledku najviac vyťaží užívateľ, ktorému webové aplikácie pobežia s každou novou verziou jeho prehliadača podstatne rýchlejšie.

 

Zo širšieho uhlu pohľadu je tiež veľmi zaujímavé, že zrýchľovanie JavaScriptu posúva "state-of-art" v oblasti interpretácie dynamických jazykov všeobecne. Dynamické skriptovacie jazyky totiž zvyčajne slúžili len ako lepidlo komponentov napísaných v iných, rýchlejších jazykoch. Ich rýchlosť tak nie je kriticky dôležitá a tým pádom sa výskum
v oblasti ich interpretácie nedostal príliš ďaleko, na rozdiel od oblasti kompilácie klasických statických jazykov, ktorý je intenzívne skúmaný cez 30 rokov. Nič nezmenilo ani časté nasadenie dynamických jazykov vo webových aplikáciách, pretože tu je obyčajne najväčšou brzdou I / O, respektíve databázy. JavaScript je prvý dynamický jazyk, ktorého rýchlosť je kľúčová a zároveň je dostatočne rozšírený na to, aby vznikol dostatočný dopyt po tom, ako ho významne zrýchliť.

 

Dôsledkom je, že vďaka JavaScriptu trochu ožil výskum v oblasti interpretácie dynamických jazykov, a to ako v tímoch zaoberajúcich sa vývojom javascriptových interpretov, tak aj na univerzitách.  Z tohto výskumu môžu samozrejme ťažiť aj všetky ostatné dynamické jazyky, ako napríklad PHP, Perl, Python a Ruby.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ZÁVER

 

Účelom tejto záverečnej práce bolo vytvoriť funkčný aukčný portál, kompletný samostatný systém, ktorý ulahodí požiadavkám mesta Stará Turá, konkrétne Mestskému úradu a jeho vedeniu. Taktiež sa tu mali zúročiť roky učenia a sebazdokonaľovania programovacích praktík, v tomto prípade konkrétnych programovacích jazykov ako sú PHP, SQL, JavaScript a v neposlednej rade základné HTML. Ďalšou devízou, respektíve prínosom, malo byť z ekonomického uhla pohľadu prínos lacného riešenia daného software, čo sa
v tomto prípade podarilo, pretože software je plne funkčný a otestovaný.

 

Ako už bolo spomenuté v rozbore potreby elektronických aukcií pre slovenské samosprávy, tak tento fakt nebol v čase výskumu ukončeného v roku 2010 ďaleko od priameho nariadenia vlády. Vláda vydala smernicu, že od roku 2014 bude povinnosť pre všetky mieste samosprávy, aby si pri obstarávaní verejného majetku, čiže majetku mesta alebo obce zakúpili, alebo vytvorili elektronické aukčné systémy, to isté taktiež platí
i v prípade odpredaja nepotrebného majetku, ktorý už mesto, respektíve obec, nebude potrebovať pre svoje účely a mohlo by poslúžiť ešte niekomu inému k nejakému účelu. Rovnaká smernica bude samozrejme platiť i v prípade, že mesto, alebo obec, budú potrebovať vypísať výberové konanie na určité práce, za ktoré samozrejme chcú vynaložiť čo najmenej finančných prostriedkov. A preto sú tu za potreby nastaviť rôzne štýly elektronických aukcií, ako sú typy holandská, alebo anglická. Aukčný systém, ktorý bol touto bakalárskou prácou vytvorený, tieto rozličné typy aukcií zvláda a v plnej miere je schopný ich kontrolovať.

 

Uvedením na pravú mieru o aké typy sa jedná, niekomu to nemusí byť z dvoch slov patrné, tak v prípade, sa jedná o typ holandskej elektronickej aukcie, tak cena, ktorá sa musí objaviť v systéme musí byť limitná, to znamená maximálne možná, ktorú je mesto ochotné zaplatiť a už je len na danej firme alebo jednotlivcovi, či je v jeho réžii danú cenu nejako podísť a tým získať zákazku medzi ostatnými aktérmi elektronickej aukcie. Pre upresnenie danej situácie to znamená, že firmy alebo už spomínaní aj jednotlivci, budú postupne cenu znižovať až na limit, pod ktorý už nebudú môcť ísť z rôznych ekonomických dôvodov
a pre obec to bude znamenať, že práve získala najlacnejšiu prácu, aká sa mohla spomedzi účastníkov aukcie získať.  Tento typ aukcie sa používa hlavne pri nákupe rôznych tovarov, respektíve požiadavkách na lacno vykonanú prácu, samozrejme lacno nie vždy znamená aj kvalitne. Ďalší, v poradí druhý typ aukcie, je anglická aukcia. V tejto aukcii sa jedná
o úplne opačný systém prihadzovania v aukcii, a to konkrétne o navyšovanie ceny, pretože tento krát sa jedná o záujem o tovar z druhej strany, to znamená, že tento typ sa hlavne používa pri odpredaji už nepotrebného majetku obce cez elektronickú aukciu. Elektronický aukčný portál ktorý bol vytvorený mnou, obe tieto aukcie automaticky kontroluje
a nepovolí omyl žiadnemu, ani menej skúsenému záujemcovi o prihadzovanie, ktorému dá mesto už toľkokrát spomínaný prístupový kód. Daná požiadavka bola tým pádom úspešne splnená.

 

Ďalšia, nesporne veľmi dôležitá vec, ktorá bola požadovaná, bol úspora vstupných financií pri zakúpení software, ktorý bude dané elektronické aukcie manažovať a starať sa o ich hladký, plne automatický priebeh, pre plnú spokojnosť prihadzujúcich. Mesto Stará Turá rozosielalo rôzne emaily so žiadosťou o cenové ponuky za dané typy elektronických webových aplikácií so schopnosťou pracovať s daným typom požiadavku, a to
s elektronickou aukciou. Vo väčšine prípadov odpovedí sa jednalo o riešenie už vyrobené, čiže na kľúč, kde niekde bola taktiež podmienka toho, že zdrojové kódy nebudú poskytnuté, ale Že daná webová aplikácia bude prevádzkovaná na serveroch firmy, ktorá toto vyrobila a stráži si svoje know-how. V priemere sa ceny za tieto webové aplikácie, či tak alebo tak, pohybovala okolo 20 000 Euro, čo je cena vcelku závratná a pre mnohé obce znamená hlboké siahnutie do ročného rozpočtu. V prípade, že sa jedná o menšie obce, respektíve mestá, ako je Stará Turá, tak je zbytočné také veľké vynakladanie finančných prostriedkov, pretože požiadavky na elektronické aukcie tam nebudú na dennom poriadku, ale budú sa riešiť len z času na čas. Ako už bolo v prieskumoch dokázané, záujemcov
o aukcie sú v priemere 3 na aukciu, čiže dané riešenie nepotrebuje ani príliš výkonný server na ktorom celý systém bude fungovať. Keď to presne pomeriam s mojím systémom, ktorý som v rámci tejto práce naprogramoval, tak jeho veľká nenáročnosť umožní umiestnenie aj na pomalšie servre obcí, v prípade že majú svoje vlastné. Samozrejme tým, že sa pojednáva o menšie obce a mestá, tak môj systém je schopný obsluhovať iba 2 aukcie v systéme, a to jak aktuálne prebiehajúcu, tak samozrejme ďalšiu, v konkrétnom názve budúcu, o ktorú sa systém automaticky postará po skončení aktuálne prebiehajúcej.
V tomto popisovanom prípade systém plne plní potreby menších obcí a miest, ktoré nepotrebujú mať v systéme denne kvanta aukcií a samozrejme ktoré by nasledovali
v krátkom časovom úseku po sebe, čiže z toho by vyplývalo, že v mojom aukčnom portáli by administrátor nestíhal aukcie ukladať do administračného systému celého portálu. Samozrejme táto funkcia sa dá v prípade potreby rozšíriť, ale to nespadalo pod požiadavky Mestského úradu v Starej Turej.

 

Celý aukčný portál, ktorý bol vytvorený, bol od začiatku sprevádzkovaný ako subdoména na mojej domovskej stránke a to konkrétne na adrese http://aukcie.galosoft.eu . Táto stránka beží na webhostingu endora.cz a plne postačuje daným požiadavkám a potrebám mesta. Všetky fáze, ktorými stránka prešla sa odohrávali na danej adrese, čiže jednalo sa aji o skúšobnú verziu počas programovania a taktiež o testovaciu verziu počas testovania rôznymi užívateľmi a záujemcami a taktiež ostrá verzia bude zatiaľ prevádzkovaná na danej adrese, pretože sa musia doriešiť rôzne technické aspekty na serveroch mesta Stará Turá a hlavne z dôvodu toho, že ostrá verzia má začať plne fungovať až od roku 2014. Mesto dostalo kompletné prístupy k danému portálu a až sa vyriešia všetky technické problémy na ich serveroch, tak sa celá elektronická aukčná sieň prenesie pod ich záštitu.

 

Samozrejme aby bol vývoj software korektne ukončený, respektíve aby prešiel všetkými fázami, tak aj tento portál bol podrobený záťažovým ostrým testom. Testy boli naplánované na január roku 2013, čo sa v podstate aj úspešne podarilo dodržať, presnejšie sa jednalo o druhú polovicu tohoto spomínaného mesiaca. Testovanie prebiehalo pre pár oboznámených ľudí, z toho jeden bol poučený ako administrátor systému a zadával skúšobne rôzne vymyslené elektronické aukcie.  Intenzívne testovanie prebiehalo
v priebehu jedného týždňa, a to v rámci voľných kapacít kancelárskych testovacích síl. Dotestovávanie v podstate beží stále podľa záujmu. V rámci aktívneho testovania išlo
o urýchlené naplnenie dvoch aukcií v systéme a následne pripravenie niekoľkých účastníkov, ktorí klikali na otvorené aukcie, testovalo sa pripájanie užívateľov počas spustených aukcií, rôzne prístupy, odhlasovanie zo systému a samozrejme rôzne počty užívateľov od 2 až po 10 aktívnych členov. Mesto podľa interných štatistík nikdy nemalo viac aktívnych záujemcov, keď sa v minulosti vypisovalo výberové konanie ešte klasickým spôsobom.

 

V priebehu testovania sa neprejavila žiadna nestabilita systému, systém reagoval okamžite na každú prevádzkovú zmenu a nenastal pád. Všetky výsledky prihadzovania boli okamžite a korektne v okamžitom čase spracované a užívateľ nemal pocit, že by bol nejako obmedzovaný, alebo že by mal pocit, že kvôli slabej odozve by danú elektronickú aukciu prehral. Taktiež sa používali osobné počítače rôznych výkonov a rôznymi sieťovými obmedzeniami a vždy bol systém stabilný a jeho odozva bola bezproblémová.

 

Podľa presných zadaní a očakávaní bola práca úspešne ukončená podľa predstáv a ušetrila nemalé nákladu na získanie webovej aplikácie pre obsluhu elektronických aukcií.     

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Hodnotenie podniku

 

Hodnotenie užívateľov

ABSTRAKT

 

Martin GALOVIČ Software elektronickej aukcie pre Mestský úrad v Starej Turej Kunovice, 2013. Bakalárska práca. Evropský polytechnický institut, s.r.o.

 

Vedúcí práce: Ing. Ján VOLÁR

 

 

Kľúčové slová: informačno-komunikačné technológie, online interaktívna komunikácia, proces interaktívneho spracovania dát, databázové systémy, internetové webové rozhranie, PHP, MySQL, WWW, HTML, IT, JavaScript, online aukcie

 

Cieľom bakalárskej práce je vytvorenie webového online software systému elektronickej aukcie pre Mestský úrad v Starej Turej., zaručujúceho transparentnosť výberových konaní v miestnej samospráve a umožňujúceho nezávislé riadenie výberového konania. Prvá kapitola analyzuje elektronický obchod a internet všeobecne, vrátane elektornických aukcií, v oblasti elektronického obchodu a jeho prínosu, bohužial vrátane jeho negatív na prípadné zneužitie dát. Druhá kapitola analyzuje konkrétny ekonomický dopad a jeho efekty pri použití elektronických aukcií, ich jasnú výhodu, zároveŇ sa vŠak opiera aj
o prípadné nevýhody pri použití tohoto typu obchodu. Tretia kapitola analyzuje problémy novodobého požiadavku Slovenskej Republiky v oblasti elektronických aukcií, pojednáva o transparentnosti výberových konaní v slovenskej samospráve pre občanov Slovenskej Republiky a ich samosprávne kraje. Štvrtá kapitola je zameraná na analýzu a popis riešenia online elektronického modulu systému aukčnej siene, ktorého výsledná forma je riešená prostredníctvom kombinácie jednotlivých programovacích jazykov z vednej disciplíny informačných technológií. Princíp hierarchie celkového procesu správy elektronických aukcií je rozdelený do špecifikovaných podkapitol, ktoré podrobne vysvetľujú opodstatnenie použitých metód.

Štvrtá kapitola je upriamená na konkrétny návrh riešenia, implementáciu a testovanie
s kritickým pohľadom zadávateľa, ktorý analyticky zhodnocuje efektivitu navrhnutého systému, poprípade prezentuje odporúčania, obsiahnuté v záverečnej kapitole, pre vylepšenie komunikačnej úrovne pre bezproblémovú prevádzku aukčnej siene.

ABSTRACT

 

Martin GALOVIČ Electronic auction web application for Mestský úrad v Stará Turá Kunovice, 2013. Bachelor thesis. Evropský polytechnický institut, s.r.o.

 

Supervisor: Ing. Ján VOLÁR

 

 

Key words: information and communication technology, online interactive communication, interactive data processing, database systems, internet web interface, PHP, MySQL, WWW, HTML, IT, JavaScript, online auctions

 

The goal of this work is to create a web software for online electronic auction system for Town Hall in Stara Tura, guaranteeing transparency of competition in local government and allowing independent management of the selection process. The first chapter analyzes the e-commerce and the internet in general, including of e-auctions in e-commerce and its benefits, including the unfortunately negative for any misuse of data. The second chapter analyzes the specific economic impact and its effects when using electronic auctions, their clear advantage, but it also relies on the possible disadvantages of using this type of trade.

The third chapter analyzes the problems of modern inquiry in Slovak Republic in the field of electronic auctions, discusses transparency in the tendering Slovak government to the citizens of the Slovak Republic and the self-governing regions. The fourth chapter focuses on the analysis and description of the solutions online electronic module of the auction house, whose final form is addressed through a combination of various programming languages ​​from the discipline of information technology. The principle of the hierarchy of the overall process of management of electronic auctions is divided, specified in sub-chapters that explain in detail the justification of the methods used. The fourth chapter is focused on the specific design, implementation and testing of the critical gaze of authority, which analytically evaluates the effectiveness of the proposed system, appropriate presents recommendations contained in the final chapter, to improve the communication levels for the smooth operation of the auction house.

 

ZOZNAM LITERATÚRY

 

Knihy, monografia:

[1]     SMIDEK, V.; BERIT, J.; MRÁZEK, L. PHP v příkladech. první. České Budějovice: Kopp, 2002. 115 s. ISBN 80-7232-162-5.

[2]     GLASS, M. PHP5,Mysql,Apache,Vatváříme webové aplikace. Indianapolis : Computer Press, 2006. 816 s. ISBN 80-251-1073-7.

[3]     KOSEK, J. PHP : tvorba interaktivních internetových aplikací. Praha : Grada, 1999. 492 s. ISBN 80-7169-373-1.

[4]     BRÁZA, J. PHP5 : Začínáme programovat. Praha : Grada Publishing a.s, 2005.
244 s. ISBN 80-7169-374-2.

[5]     DELISLE, M. Efektivní správa MySql. Pact Publishing, 2004. ISBN 80-86815-09-9.

[6]     CLIFTON, B. Google Analytics : Podrobný průvodce webovými statistikami. Brno : Computer Press, 2009. 336 s. ISBN 978-80-251-2231-0.

[7]     BARČÍK, T. Webová grafika : Fotografie, barvy, textury. Brno : Computer Press, 2002. 88 s. ISBN 80-7226-701-9.

[8]     HAUSER, M.; HAUSER, T.; WENZ, Ch. HTML a CSS : Velká kniha řešení. Brno : Computer Press, 2006. 912 s. ISBN 80-251-1117-2.

[9]     CROFT, J.; LLOYD, I.; RUBIN, D. Mistrovství v CSS : Pokročilé techniky pro webové designéry a vývojáře. Brno : Computer Press, 2007. 416 s. ISBN 978-80-251-1705-7.

[10]   DOMES, M. Tvorba webových stránek : Jednoduše, srozumitelně, názorně. Brno : Computer Press, 2006. 192 s. ISBN 80-251-0920-8.

[11]   DOMES, M. Tvorba internetových stránek pomocí HTML, CSS a JavaScriptu. Kralice na Hané : Computer Media s.r.o., 2005. 324 s. ISBN 80-86686-39-6.

[12]   STANÍČEK, P. CSS Kaskádové styly : Kompletní průvodce. Brno : Computer Press, 2003. 192 s. ISBN 80-7226-872-4.

[13]   CASTRO, E. HTML, XHTML a CSS : Názorný průvodce tvorbou WWW stránek. Brno : Computer Press, 2007. 440 s. ISBN 978-80-251-1531-2.

[14]   SCHAFER, S. HTML, XHTML a CSS : Bible pro tvorbu WWW stránek. Praha : Grada, 2009. 648 s. ISBN 978-80-247-2850-6.

[15]   GUTMANS, A.; BAKKEN, S. S.; RETHANS, D. Mistrovství v PHP 5. Brno :           Computer Press, 2007. 656 s. ISBN: 978-80-251-1519-0.

 

[16]   NARAMORE, E. PHP5, MySQL, Apache : Vytváříme webové aplikace. Brno :           Computer Press, 2006. 816 s. ISBN 80-251-1073-7.

[17]   KOFLER, M. Mistrovství v MySQL 5 : Kompletní průvodce webového vývojáře.           Brno : Computer Press, 2007. 808 s. ISBN 978-80-251-1502-2.

[18]   CONOLLY , T.; Carolyn, H. Mistrovství  Databáze : Profesionální průvodce tvorbou efektivních databází. Brno : Computer Press, 2009. 584 s. ISBN 978-80-251-2328-7.

[19]   KUBÍČEK, M. Velký průvodce SEO : Jak dosáhnout nejlepších pozic ve       vyhledávačích. Brno : Computer Press, 2008. 320 s. ISBN: 978-80-251-2195-5.

[20]   RAHMEL, D. Joomla! : Podrobný průvodce tvorbou a správou webů. Brno :  Computer Press, 2010. 384 s. ISBN 978-80-251-2714-8.

[21]   KRČMÁŘ, J. Adobe Photoshop : Praktický webdesign. Praha : Grada, 2006. 204 s.        ISBN 80-247-1423-X.

[22]   HOLZNER, S.; ŠINDELÁŘ, J. RSS : Automatické doručování obsahu vašich WWW stránek. Brno : Computer Press, 2007. 280 s. ISBN 978-80-251-1479-7.

[23]   POWERS, D. Dynamic Web Design Made Easy. New York : Apress company, 2006. 488 s. ISBN 978-1-59059-731-6.

[23]   KOSEK,J. PHP - tvorba interaktivních internetových aplikací. Praha : Grada, 2005. 215 s. ISBN 80-247-1424-X.

[24]   ŘEPA V. Analýza a návrh informačních systémů. Praha : Ekopress, 2008. 304 s. ISBN 80-247-1425-X.

[25]   ADAMEC, S., HORNÝ, S., ROSICKÝ, A. Projektování IS. Praha : Grada, 2004. 194 s. ISBN 80-247-1426-X.

[26]   HORNÝ, S. Analýza a návrh systémů. Praha : Grada, 2003. 287 s. ISBN 80-247-1427-X.

[27]   PRESSMAN, R. S. Software Engineering :A practitioner's approach. 5th ed. Boston: McGraw-Hill. New York : Springer-Verlag, 2007. 548 s. ISBN 988-1-59059-689-0.

[28]   SOMMERVILLE, I. Software engineering. 5th ed. Wokingham : Addison-Wesley             Publishing Company. New York : Springer-Verlag, 2004. 408 s. ISBN 978-1-59059-699-0.

[29]   DRUSKA, P. CSS a XHTML. Praha : Grada, 2001. 294 s. ISBN 80-247-1526-X.

[30]   SCHNEIDER, R. MySQL : Oficiální průvodce tvorbou, správou a laděním databází.

          Praha 7 : Grada Publishing, a.s., 2006. 372 s. ISBN 80-247-1430-X.

[31]   COLLISON, S. Begginnig CSS web development : from novice to professional. New York : Springer-Verlag, 2006. 448 s. ISBN 978-1-59059-689-0.

[32]   THAU, D. Velký průvodce Javascriptem : Tvorba interaktivních webových stránek
v praxi
. Praha 7 : Grada Publishing, a.s., 2009. 520 s. ISBN 978-80-247-2211-5.

[33]   GILFILLAN, I.; VORÁČEK, K. Myslíme v MySQL 4 : knihovna programátora.         Grada Publishing a.s., 2003. 750 s. ISBN 802470661X.

[34]   BRÁZA, J. PHP 5 : začínáme programovat. Grada Publishing a.s., 2005. 244 s.    ISBN 802471146X.

[35]   HARPER, A. Hacking : manuál hackera. Grada Publishing a.s, 2008. 399 s.      ISBN 8024713462.

[36]   SIČÁKOVÁ-BEBLAVÁ, E.; ŠATNÍKOVÁ, S; KLÁTIK,P. Elektronické aukcie vo verejnom obstarávaní. Bratislava : Adin 2011. 68s. ISBN 80-251-1073- 8.

 

 

 

 


Zoznam skratiek

 

%                           percento

                             euro

a pod.                     a podobne

a.s.                         akciová spoločnsť  

admin                     administrátor

AJAX                    Asynchronous JavaScript and XML

ANSI                     American National Standards Institute

CERN                    Conseil Européen pour la recherche nucléaire

CSS                       Cascading Style Sheets

č.                            číslo

DOM                     Document Object Model

DTD                      Document Type Definition

e-aukcie                 elektronické aukcie

e-mail                    elektronická pošta

e-obchod               elektronický obchod

EPI                       Evropský Polytechnický Institut,s.r.o.

FIPS                      Federal Information Processing Standard

FTP                        File Transfer Protocol

g                             gram

HTML                               Hypertext Markup Language

HTTP                     Hypertext Transfer Protocol Overview

IBM                       International Business Machines

ID                          identifikátor

IETF                      Internet Engineering Task Force

Ing.                        inžinier

IP                           Internet Protocol

ISBN                     International Standard Book Number

ISO                        International Organization for Standardization

IT                           Informačné technológie

kB                          kilobajt

kg                           kilogram

ks                           kus

l                              liter

m2                           meter štvorcový  

My SQL                My Structured Query Language

MWh                     megawatthodina

napr.                       napríklad

NCSA                    National Center for Supercomputing Applications

obr.                        obrázok

PHP                       Hypertext Preprocessor

resp.  ´                    respektíve

s.                            strana

s.r.o                        spoločnosť s ručením obmedzeným

SEO                       Search Engine Optimization

SGML                   Standard Generalized Markup Language

SQL                       Structured Query Language

t.j.                          to jest

TCP                       Transmission Control Protocol

tzv.                         takzvaný

USA                      The United States of America

W3C                      World Wide Web Consortium

WHATWG            Web Hypertext Application Technology Working Group

WWW                   World Wide Web

XML                      Extensible Markup Language

XHTML                Extensible Hypertext Markup Language

 

 


Zoznam grafov, tabuliek a obrázkov

 

Graf č. 1: Počet záujemcov o verejnú zákazku

Graf č. 2: Distribúcia priemerných úspor z celkového množstva zákaziek

Graf č. 3: Typy služieb kupovaných od aukčných firiem

Graf č. 4: Typy služieb kupovaných od aukčných firiem a priemerné úspory

Graf č. 5: Závislosť očakávanej výšky úspor od počtu záujemcov v e-aukcií podľa formy e-

                aukcie v porovnaní s očakávanými úsporami

Graf č. 6: Spôsoby určenia začiatočnej ceny

Graf č. 7: Metóda definovania začiatočnej ceny a predmet zákazky

Graf č. 8: Metóda určenia začiatočnej ceny a typ zákazky podľa finančných limitov

Graf č. 9: Porovnanie podielov e-aukcií na celkovom objeme obstarávaní

Graf č. 10: Porovnanie počtu uskutočnených e-aukcií

Graf č. 11: Počet a objem zákaziek alokovaných formou e-aukcie podľa predmetu zákazky

Graf č. 12: Predmet verejnej zákazky a typ verejnej zákazky z hľadiska početnosti

Graf č. 13: Počty a objemy zákaziek podľa finančného limitu

 

Tabuľka č. 1: Celkové a priemerné úspory z e-aukcií počas rokov 2008 – 2013.

Tabuľka č. 2: Závislosť očakávanej výšky úspor od počtu ponúk v e-aukciach v  

                       jednotlivých  rokoch

Tabuľka č. 3: Závislosť očakávanej výšky úspor od počtu ponúk v EA podľa typu zákazky

Tabuľka č. 4: Celkové priemerné ceny a ich rozdiely

Tabuľka č. 6: Priemerné úspory v závislosti od spôsobu určenia začiatočnej ceny

Tabuľka č. 7: Počet verejných zákaziek obstarávaných formou e-aukcií a objemy

                      verejných   zákaziek alokovaných formou e-aukcie

 

Obrázok č. 1: Hlavá stránka

Obrázok č. 2: Kontaktný formulár

Obrázok č. 3: Prihlásenie do administrácie

Obrázok č. 4: Administračné menu

Obrázok č. 5: Zmena admin údajov

Obrázok č. 6: Režim údržby

Obrázok č. 7: Archív aukcií

Obrázok č. 8: Vytvorenie novej aukcie

Obrázok č. 9: Hlavné menu aukcií

Obrázok č. 10: Hlavá stránka aukcií

Obrázok č. 11: Hlavá stránka aukcií

Obrázok č. 12:Výpis aktuálnej aukcie v administračnom režime

Obrázok č. 13: Úprava už zadanej aukcie

Obrázok č. 14: Generátor kódov

Obrázok č. 15: Vygenerované kódy

Obrázok č. 16: Úprava kódu

Obrázok č. 17: Databáza kódov

Obrázok č. 18: Odoslanie kódu emailom

Obrázok č. 19: Administračný mód

Obrázok č. 20: Odkaz na aktuálne aukcie

Obrázok č. 21: Čas aukcie

Obrázok č. 22: Výpis v aukcii

Obrázok č. 23: Systém bez aukcie

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Zoznam príloh

 

Príloha č.1: Indexová stránka

Príloha č.2: Stránka check.php

Príloha č.3: Odoslanie kontaktného e-mailu

Príloha č.4: Prihlasovací skript

Príloha č.5: Administrácia aukcií

Príloha č.6: Administračné údaje

Príloha č.7: Zmena administračných údajov

Príloha č.8: Zmena statusu

Príloha č.9: Archive reader

Príloha č.10: Vloženie aktuálnej aukcie

Príloha č.11: Draft

Príloha č.12: Výpis aukcií

Príloha č.13: Výmaz aukcie

Príloha č.14: Úprava aktuáônej aukcie

Príloha č.15: Generované kódy

Príloha č.16: Úprava kódu

Príloha č.17: Ošetrenie prístupu

Príloha č.18: Odosielanie kódov e-mailom

Príloha č.19: Formulár pre odoslanie kódu

Príloha č.20: Výpis kódov

Príloha č.21: Administračný mód - cookie

Príloha č.22: Vrchná časť aukčnej stránky

Príloha č.23: Ľavá dolná stránka aukcií

Príloha č.24: Prihlasovací skript do aukcií

Príloha č.25: Príspevok na študentskú konferenciu

 

 

 

 


Príloha č.1: Indexová stránka

 

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>Elektronicke aukcie ST</title>

<meta name="keywords" content="elektronicke aukcie" />

<meta name="description" content="elektronicke aukcie galosoft.eu" />

 

<link rel="icon" type="image/ico" href="icon/hammer.ico"></link>

<link rel="shortcut icon" href="icon/hammer.ico"></link>

 

</head>

<FRAMESET border=0 rows="100%,*" frameborder="no" marginleft=0 margintop=0 marginright=0 marginbottom=0>

<frame src="check.php" scrolling=auto frameborder="no" border=0 noresize>

<frame topmargin="0" marginwidth=0 scrolling=no marginheight=0 frameborder="no" border=0 noresize>

</FRAMESET>

 

</html>

 

 

 

 

 

 

 

 

 

 

 

 

 


Príloha č.2: Stránka check.php

 

<?php

 

header("Expires: Mon, 26 Jul 1990 05:00:00 GMT");

 

header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");

 

header("Cache-Control: no-store, no-cache, must-revalidate");

 

header("Cache-Control: post-check=0, pre-check=0", false);

 

header("Pragma: no-cache");

 

 

 

 

 

 

 

$d1 = date('m', time());

 

$d2 = date('d', time());

 

$d3 = date('Y', time());

 

$t1 = date('H', time());

 

$t2 = date('i', time());

 

 

 

 

mysql_connect("localhost", "gtm", "baselogin") or die(mysql_error());

 

 

mysql_select_db("loginbase") or die(mysql_error());

 

 

 

$vysledok3 = mysql_query("SELECT * FROM auctions where Status='active' ");

$num_rows3 = mysql_num_rows($vysledok3);

 

 

if ($num_rows3 == "1") {

 

 

 

 

 

$tmp = mysql_query(" SELECT * FROM temp");

 

if (!$tmp) {

 

echo 'Could not run query: ' . mysql_error();

 

exit;

 

}

 

$tempo = mysql_fetch_object($tmp);

 

 

$aktivna = mysql_query(" SELECT * FROM auctions WHERE Status = 'active' ");

 

if (!$aktivna) {

 

echo 'Could not run query: ' . mysql_error();

 

exit;

 

}

 

$riaktiv = mysql_fetch_object($aktivna);

 

 

 

$kill = $d3 + $d1 + $d2;

$killer = $riaktiv->Zr + $riaktiv->Zm + $riaktiv->Zd;

$killed = $killer - $kill;

 

 

 

 

$kon = ($riaktiv->Kh * 60) + $riaktiv->Kmin;

$zac = ($riaktiv->Zh * 60) + $riaktiv->Zmin;

$akt = ($t1 * 60) + $t2;

$start = $zac - $akt;

$poc = $kon - $akt;

 

 

if (($start < "0") and (($poc < "0") or ($poc == "0")) ) {

$stat = "koniec";

 

}

 

if ($stat == "koniec" and (($killed == "0") or ($killed < "0"))) {

 

$stav = "ukoncena" ;

 

 

}

 

 

if (($stat == "koniec") and ($stav == "ukoncena") and ($poc == "0" or $poc < "0") or ($d3 > $riaktiv->Zr) or (($d3 == $riaktiv->Zr) and ($d2 > $riaktiv->Zd)) or (($d3 == $riaktiv->Zr) and ($d2 == $riaktiv->Zd) and ($d1 > $riaktiv->Zm))) {

 

 

 

 

 

$vysledok2 = mysql_query("SELECT * FROM auctions where Status='draft' ");

$num_rows2 = mysql_num_rows($vysledok2);

 

 

$aktivna = mysql_query(" SELECT * FROM auctions WHERE Status = 'active' ");

if (!$aktivna) {

echo '<br>Could not run query: ' . mysql_error();

exit;

}

$riaktiv = mysql_fetch_object($aktivna);

 

 

$tmp = mysql_query(" SELECT * FROM temp");

 

if (!$tmp) {

 

echo '<br>Could not run query: ' . mysql_error();

 

exit;

 

}

 

$tempo = mysql_fetch_object($tmp);

 

 

$insert = "INSERT INTO archive (ID, Cena, User)

VALUES ('$riaktiv->ID','$tempo->Cena', '$tempo->User')";

 

$add_member = mysql_query($insert);

 

 

 

$conn = mysql_connect("localhost", "gtm", "baselogin") or die(mysql_error());

$sql = "UPDATE auctions

SET Status= 'archive'

WHERE Status= 'active' ";

 

mysql_select_db('loginbase');

$retval = mysql_query( $sql, $conn );

if(! $retval )

{

die('<br>Could not update data: ' . mysql_error());

}

 

 

if ($num_rows2 == "1" ) {

$sql = "UPDATE auctions

SET Status= 'active'

WHERE Status= 'draft' ";

 

mysql_select_db('loginbase');

$retval = mysql_query( $sql, $conn );

if(! $retval )

{

die('Could not update data: ' . mysql_error());

}

echo "...nastavovanie novej...<br>\n";

 

 

}

 

 

$conn = mysql_connect("localhost", "gtm", "baselogin") or die(mysql_error());

$sql = "TRUNCATE TABLE temp";

mysql_select_db("loginbase");

$retval = mysql_query( $sql, $conn );

 

 

 

setcookie ("ID_my_user", "null", time()+3600);

 

}

}

 

 

 

 

 

 

 

echo "....kontrola systemu...<br><br>";

 

mysql_connect("localhost", "gtm", "baselogin") or die(mysql_error());

mysql_select_db("loginbase") or die(mysql_error());

 

 

$vysledok = mysql_query("SELECT * FROM system where stav='ok' ");

$num_rows = mysql_num_rows($vysledok);

 

 

$result = mysql_query("SELECT * FROM system where stav='ko' ");

$res = mysql_num_rows($result);

 

 

if ($num_rows == '1')

{

header("refresh: 0; url=index.html");

echo "...system ok...za chvilu budete presmerovani...";

}

else if ($res == '1')

{

header("refresh: 1; url=udrzba.htm");

echo "...system sa nachadza v udrzbe...za chvilu budete presmerovani...";

}

?>

<html>

<head>

<meta http-equiv="Cache-Control" content="Public | Private | no-cache | no-store">

</head>

</html>

 

 

 

 

 

 

 

 


Príloha č.3: Odoslanie kontaktného e-mailu

 

    <?php

    

    $to = "msu@staratura.sk";

    $subject = "Dotaz e-aukcie od: ".$_POST['email']." ";

    $body = $_POST['text'];

    $headers = "From: " .$_POST['email']. "\r\n" . "Reply-To: " .$_POST['email']. "\r\n" . "X-Mailer: PHP/" . phpversion();

    

    if (mail($to, $subject, $body, $headers)) {

    header("refresh: 0; url='index.html#contact'");

    echo "<script type='text/javascript'>alert('E-mail bol uspesne odoslany!');</script>" ;

    

    } else {

    header("refresh: 0; url='index.html#contact'");

    echo "<script type='text/javascript'>alert('Odoslanie e-mailu zlyhalo!');</script>" ;

    }

    

    ?>

 

 

 

 

 

 

 

 

 

 

 

 

 


Príloha č.4: Prihlasovací skript

 

    <?php

    

    // Connects to your Database

    

    mysql_connect("localhost", "gtm", "baselogin") or die(mysql_error());

    

    mysql_select_db("loginbase") or die(mysql_error());

    

    

    //Checks if there is a login cookie

    

    if(isset($_COOKIE['ID_my_site']))

    

    

    //if there is, it logs you in and directes you to the members page

    

    {

    $username = $_COOKIE['ID_my_site'];

    

    $pass = $_COOKIE['Key_my_site'];

    

    $check = mysql_query("SELECT * FROM login WHERE Meno = '$username'")or die(mysql_error());

    

    while($info = mysql_fetch_array( $check ))

    

    {

    

    if ($pass != $info['Heslo'])

    

    {

    

    }

    

    else

    

    {

    

    header("Location: members.php");

    

    

    

    }

    

    }

    

    }

    

    

    //if the login form is submitted

    

    if (isset($_POST['submit'])) { // if form has been submitted

    

    

    

    // makes sure they filled it in

    

    if(!$_POST['username'] | !$_POST['pass']) {

    

    die('Musite vyplnit prihlasovacie udaje!!!');

    

    }

    

    // checks it against the database

    

    

    

    if (!get_magic_quotes_gpc()) {

    

    $_POST['email'] = addslashes($_POST['email']);

    

    }

    

    $check = mysql_query("SELECT * FROM login WHERE Meno = '".$_POST['username']."'")or die(mysql_error());

    

    

    

    //Gives error if user dosen't exist

    

    $check2 = mysql_num_rows($check);

    

    if ($check2 == 0) {

    

    die('Tento uzivatel neexistuje!!!');

    

    }

    

    while($info = mysql_fetch_array( $check ))

    

    {

    

    $_POST['pass'] = stripslashes($_POST['pass']);

    

    $info['Heslo'] = stripslashes($info['Heslo']);

    

    $_POST['pass'] = md5($_POST['pass']);

    

    

    

    //gives error if the password is wrong

    

    if ($_POST['pass'] != $info['Heslo']) {

    

    die('Zle heslo!!!');

    

    }

    else

    

    {

    

    // if login is ok then we add a cookie

    

    $_POST['username'] = stripslashes($_POST['username']);

    

    $hour = time() + 3600;

    

    setcookie(ID_my_site, $_POST['username'], $hour);

    

    setcookie(Key_my_site, $_POST['pass'], $hour);

    

    

    //then redirect them to the members area

    

    header("Location: members.php");

    

    }

    

    }

    

    }

    

    else

    

    {

    

    

    // if they are not logged in

    

    ?>

    

    

    <?php

    

    }

     ?>

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Príloha č.5: Administrácia aukcií

 

    <?php

    

    // Connects to your Database

    

    mysql_connect("localhost", "gtm", "baselogin") or die(mysql_error());

    

    mysql_select_db("loginbase") or die(mysql_error());

    

    

    $vysledok = mysql_query("SELECT * FROM auctions");

    

    $num_rows = mysql_num_rows($vysledok);

    

    $vysledok3 = mysql_query("SELECT * FROM auctions where Status='draft' ");

    $num3 = mysql_num_rows($vysledok3);

    

    

    //checks cookies to make sure they are logged in

    

    if(isset($_COOKIE['ID_my_site']))

    

    {

    

    $username = $_COOKIE['ID_my_site'];

    

    $pass = $_COOKIE['Key_my_site'];

    

    $check = mysql_query("SELECT * FROM login WHERE Meno = '$username'")or die(mysql_error());

    

    while($info = mysql_fetch_array( $check ))

    

    {

    

    

    //if the cookie has the wrong password, they are taken to the login page

    

    if ($pass != $info['Heslo'])

    

    { header("Location: index.html#services");

    

    }

    

    

    //otherwise they are shown the admin area

    

    else

    

    {

    

    

    $result = mysql_query("SELECT Email FROM login WHERE Meno = '$username' ") or die('Invalid query: ' . mysql_error());

    while ($row = mysql_fetch_assoc($result)) {

    $hodnota = $row['Email'];}

    

    echo "<center><h1>Administracia</h1></center>";

    

    }

    

    }

    

    }

    

    else

    

    

    //if the cookie does not exist, they are taken to the login screen

    

    {

    

    header("Location: index.html#services");

    

    }

    

    

    $pocetkodov = mysql_query("SELECT * FROM users");

    $i=0;

    while($pole = mysql_fetch_array($pocetkodov))

    {

    $i=$i+1;

    }

    $vys = mysql_query("SELECT * FROM auctions where Status='active' ");

    $akti = mysql_num_rows($vys);

    

    $vyse = mysql_query("SELECT * FROM auctions where Status='draft' ");

    $pas = mysql_num_rows($vyse);

    

    

    if ($akti == "1") {

    $plus = "1";

    }

    if ($pas == "1") {

    $plus2 = "1";

    }

    if ($akti != "1") {

    $plus = "0";

    }

    if ($pas != "1") {

    $plus2 = "0";

    }

    

    $pocetaukcii = $plus + $plus2;

    

    $vysledok = mysql_query("SELECT * FROM system where stav='ok' ");

    $num = mysql_num_rows($vysledok);

    

    $result = mysql_query("SELECT * FROM system where stav='ko' ");

    $res = mysql_num_rows($result);

    

    ?>

    <html><head>

    <title>Admin mode ST</title>

    <link rel="icon" type="image/ico" href="icon/hammer.ico"></link>

    <link rel="shortcut icon" href="icon/hammer.ico"></link>

    </head>

    <body bgcolor=#f0f0f0>

    

    <fieldset class="row1">

    <legend><b>Admin udaje</b>

    </legend>

    <form name="udaje" action="adminchange.php" method="post">

    <p>

    

    <label>Meno:

    <?php

    echo "$username";

    ?>

    </label>

    </p>

    <p>

    <label>E-mail:

    <?php

    echo "$hodnota";

    ?>

    </label>

    </p>

    <p>

    </p>

    <input type="submit" value="Zmenit">

    </form>

    </fieldset>

    <fieldset class="stat1">

    <legend><b>Udrzba</b>

    </legend>

    <?php if ($num == '1') {echo "<b>Stav webu:</b> <i>plna prevadzka</i><br><br>";}?>

    <?php if ($res == '1') { echo "<b>Stav webu:</b><i> udrzba</i><br><br>";}?>

    <?php

    if ($num == '1') {

    echo "<form name='udrzba' action='nastav.php' method='post'>";

    echo "<input type='submit' value='Zapnut'>";

    echo "</form>";

    }

    ?>

    <?php

    if ($res == '1') {

    echo "<form name='udrzbaa' action='koniec.php' method='post'>";

    echo "<input type='submit' value='Vypnut'>";

    echo "</form>";

    }

    ?>

    

    

    </fieldset>

    <fieldset class="row2">

    

    <legend><b>Aukcie</b>

    </legend>

    <center>

    <p>

    <?php

    if ($pocetaukcii > "0") {

    echo "Pocet zadanych aukcii v systeme: $pocetaukcii";

    echo "<form name='uprav' action='uprava.php' method='post'>";

    echo "<input type='submit' value='Upravit aukcie'></form>";

    }

    

    if ($akti == '0') {

    echo "<form name='udaje' action='aukcia.php' method='post'>";

    echo "<input type='submit' value='Vytvor aukciu'>";

    echo "</form>";

    }

    ?></p>

    <p>

    <?php

    if ($num3 != "1" and $akti == "1") {

    echo "<form name='udaje' action='draft.php' method='post'>";

    echo "<input type='submit' value='Draft buducej'></form>";

    }

    ?>

    </p>

    <p>

    <form name="udaje" action="archiv.php" method="post" target="_blank">

    <input type="submit" value="Archiv aukcii">

    </form>

    </p>

    <p>

    <?php

    if ($akti == '1') {

    echo "<form name='udaje' action='aktualne.php' method='post'>";

    echo "<input type='submit' value='Zobrazit aktualnu aukciu'>";

    echo "</form>";

    }

    ?>

    </p>

    

    </center>

    </fieldset>

    <fieldset class="row3">

    <legend><b>Generator unikatnych pristupovych kodov</b>

    </legend>

    <p>

    

    

    <?php

    if ($akti == "1" and $i == "0") {

    echo "<form name='udaje' action='generator.php' method='post'>";

    echo "<input type='submit' value='Generator'></form>";

    } else if ($akti == "1" and $i > "0") {

    echo "<form name='udaje' action='dbgen.php' method='post'>";

    echo "<input type='submit' value='Prehlad vygenerovanych kodov'></form>";

    }

    else

    {

    echo "Kody bude mozne generovat az po vytvoreni aukcie!";

    }

    ?>

    

    </p>

    </fieldset>

    <fieldset class="row4">

    <legend><b>Odhlasit</b>

    </legend>

    <p>

    <form name="udaje" action="logout.php" method="post">

    <input type="submit" value="Odhlasit">

    </form>

    </p>

    </fieldset>

    <fieldset class="row4">

    <p><center>Copyright (C) 2012 <a href="http://galosoft.eu" target="_blank">GTM</a> | Running GTM's Spartan admin engine 2012</a></p>

    </center>

    </fieldset>

    </body>

    </html>

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Príloha č.6: Administračné údaje

 

    <?php

    

    // Connects to your Database

    

    mysql_connect("localhost", "gtm", "baselogin") or die(mysql_error());

    

    mysql_select_db("loginbase") or die(mysql_error());

    

    //checks cookies to make sure they are logged in

    

    if(isset($_COOKIE['ID_my_site']))

    

    {

    

    $username = $_COOKIE['ID_my_site'];

    

    $pass = $_COOKIE['Key_my_site'];

    

    $check = mysql_query("SELECT * FROM login WHERE Meno = '$username'")or die(mysql_error());

    

    while($info = mysql_fetch_array( $check ))

    

    {

    

    

    //if the cookie has the wrong password, they are taken to the login page

    

    if ($pass != $info['Heslo'])

    

    { header("Location: index.html#services");

    

    }

    

    

    //otherwise they are shown the admin area

    

    else

    

    {

    

    

    

    $result = mysql_query("SELECT * FROM login WHERE Meno = '$username' ");

    while ($row = mysql_fetch_assoc($result)) {

    $hodnota = $row['Email'];

    $hodnota2 = $row['Meno'];}

    

    echo "<h1>Administracia - zmena nastaveni</h1><p>";

    

    }

    

    }

    

    }

    

    else

    

    

    //if the cookie does not exist, they are taken to the login screen

    

    {

    

    header("Location: index.html#services");

    

    }

    

    ?>

    <html><head>

    <title>Admin mode ST</title>

    <link rel="icon" type="image/ico" href="icon/hammer.ico"></link>

    <link rel="shortcut icon" href="icon/hammer.ico"></link>

    </head>

    <body bgcolor=#f0f0f0>

    

    <fieldset class="row1">

    <legend>Admin udaje - zmena

    </legend>

    <form action="achzapis.php" method="post">

    

    <table border="0">

    <tr><td>Meno:</td><td>

    

    <input type="text" name="username" maxlength="60" value="<?php echo "$hodnota2"?>">

    

    </td></tr>

    

    

    

    <tr><td>E-mail:</td><td>

    

    <input type="text" name="email" maxlength="60" value="<?php echo "$hodnota"?>">

    

    </td></tr>

    

    <tr><td>Heslo:</td><td>

    

    <input type="password" name="pass" maxlength="10">

    

    </td></tr>

    

    <tr><td>Potvrd heslo:</td><td>

    

    <input type="password" name="pass2" maxlength="10">

    

    </td></tr>

    

    <tr><th colspan=2><input type="submit" name="submit"

    value="Zmenit"></th></tr>

    <tr><th colspan=2><input type="reset" name="reset"

    value="Reset"></th></tr></table>

    

    </form>

    <form action="members.php" method="post">

    <input type="submit" value="<---">

    </fieldset>

    

    </body>

    </html>

 

 

 

 

 

 

 

 

 

 

 

 

 


Príloha č.7: Zmena administračných údajov

 

    <?php

    // Connects to your Database

    

    mysql_connect("localhost", "gtm", "baselogin") or die(mysql_error());

    

    mysql_select_db("loginbase") or die(mysql_error());

    

    

    //This code runs if the form has been submitted

    

    if (isset($_POST['submit'])) {

    

    

    

    //This makes sure they did not leave any fields blank

    

    if (!$_POST['username'] | !$_POST['pass'] | !$_POST['pass2'] | !$_POST['email'] ) {

    

    die('Musite vyplnit vsetky povinne udaje!!!');

    

    }

    

    

    

    

    

    // this makes sure both passwords entered match

    

    if ($_POST['pass'] != $_POST['pass2']) {

    

    die('Hesla sa nezhoduju!!! ');

    

    }

    

    

    

    // here we encrypt the password and add slashes if needed

    

    $_POST['pass'] = md5($_POST['pass']);

    

    if (!get_magic_quotes_gpc()) {

    

    $_POST['pass'] = addslashes($_POST['pass']);

    

    $_POST['username'] = addslashes($_POST['username']);

    

    }

    

    

    

    // get value of id that sent from address bar

    $id=0;

    

    // Delete data in mysql from row that has this id

    $sql="DELETE FROM login WHERE ID='$id'";

    $result=mysql_query($sql);

    

    

    

    

    

    $insert = "INSERT INTO login (ID, Meno, Heslo, Email)

    VALUES ('0','".$_POST['username']."', '".$_POST['pass']."', '".$_POST['email']."')";

    

    $add_member = mysql_query($insert);

    

    

    

    

    

    }

    ?>

    

    

    

    <h1>Zmena udajov prebehla v poriadku!!!</h1>

    

    <p><form name="udaje" action="index.html#services" method="post">

    <input type="submit" value="<---"></p>

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Príloha č.8: Zmena statusu

 

<?php

 

$conn = mysql_connect("localhost", "gtm", "baselogin") or die(mysql_error());

 

mysql_select_db("loginbase") or die(mysql_error());

 

if(isset($_COOKIE['ID_my_site']))

 

{

 

$username = $_COOKIE['ID_my_site'];

 

$pass = $_COOKIE['Key_my_site'];

 

$check = mysql_query("SELECT * FROM login WHERE Meno = '$username'")or die(mysql_error());

 

while($info = mysql_fetch_array( $check ))

 

{

 

 

//if the cookie has the wrong password, they are taken to the login page

 

if ($pass != $info['Heslo'])

 

{ header("Location: index.html#services");

 

}

 

 

//otherwise they are shown the admin area

 

else

 

{

 

$result = mysql_query("SELECT * FROM login WHERE Meno = '$username' ");

while ($row = mysql_fetch_assoc($result)) {

$hodnota = $row['Email'];

$hodnota2 = $row['Meno'];}

 

echo "<center><h1>...zapnut udrzbu...</h1></center><p>";

 

}

 

}

 

}

 

else

 

 

//if the cookie does not exist, they are taken to the login screen

 

{

 

header("Location: index.html#services");

 

}

 

$sql = "TRUNCATE TABLE system";

mysql_select_db("loginbase");

$retval = mysql_query( $sql, $conn );

 

 

$insert = "INSERT INTO system (stav)

VALUES ('ko')";

 

$add_member = mysql_query($insert);

 

header("refresh: 0; url=members.php");

echo "<script type='text/javascript'>alert('Stav:Udrzba - uspesne zapnuty!!!');</script>" ;

 

 

?>

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Príloha č.9: Archive reader

 

    <?php

    header("Expires: Mon, 26 Jul 1990 05:00:00 GMT");

    header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");

    header("Cache-Control: no-store, no-cache, must-revalidate");

    header("Cache-Control: post-check=0, pre-check=0", false);

    header("Pragma: no-cache");

    

    mysql_connect("localhost", "gtm", "baselogin") or die(mysql_error());

    

    mysql_select_db("loginbase") or die(mysql_error());

    

    

    

    

    $con = mysql_connect("localhost","gtm","baselogin");

    if (!$con)

    {

    die('Could not connect: ' . mysql_error());

    }

    

    mysql_select_db("loginbase", $con);

    

    

    

    

    

    

    

    

    

    echo "<center><h1>Archiv aukcii</h1></center>";

    

    

    

    

    

    

    

    

    $result = mysql_query("SELECT * FROM archive");

    

    echo "<center><table border='1'>

    <tr>

    <th>ID aukcie</th>

    <th>Nazov</th>

    <th>Popis</th>

    <th>Kontakt</th>

    <th>Zaciatok</th>

    <th>Koniec</th>

    <th>Obrazok</th>

    <th>Typ</th>

    <th>Vyvolavacia cena &euro;</th>

    <th>Konecna cena &euro;</th>

    <th>Vyherca</th>

    </tr></center>";

    

    

    while($row = mysql_fetch_array($result))

    {

    $link = $row['ID'];

    

    $archivna = mysql_query(" SELECT * FROM auctions WHERE ID = $link ");

    if (!$archivna) {

    echo 'Could not run query: ' . mysql_error();

    exit;

    }

    $archiv = mysql_fetch_object($archivna);

    $pic=$archiv->Obrazok;

    

    

    echo "<tr>";

    

    echo "<td>$link</td>";

    echo "<td>$archiv->Nazov</td>";

    echo "<td>$archiv->Popis</td>";

    echo "<td>$archiv->Kontakt</td>";

    echo "<td>$archiv->Zd/$archiv->Zm/$archiv->Zr ... $archiv->Zh:$archiv->Zmin</td>";

    echo "<td>$archiv->Zd/$archiv->Zm/$archiv->Zr ... $archiv->Kh:$archiv->Kmin</td>";

    echo "<td><a href=upload/$pic target=_blank>$pic</a></td>";

    echo "<td>$archiv->Typ</td>";

    echo "<td>$archiv->Cena</td>";

    echo "<td>" . $row['Cena'] . "</td>";

    echo "<td>" . $row['User'] . "</td>";

    echo "</tr>";

    }

    echo "</table>";

    

    mysql_close($con);

    ?>

    

    <html>

    <head>

    <title>Archiv aukcii - databaza</title>

    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

    <title>Elektronicke aukcie ST</title>

    <meta name="keywords" content="elektronicke aukcie" />

    <meta name="description" content="elektronicke aukcie galosoft.eu" />

    

    <meta http-equiv="Cache-Control" content="Public | Private | no-cache | no-store">

    <link rel="icon" type="image/ico" href="icon/hammer.ico"></link>

    <link rel="shortcut icon" href="icon/hammer.ico"></link>

    </head>

    

    

    <body bgcolor=#f0f0f0>

    <br><br>

    <p>&copy; 2012 GTM | Archive reader by GTM<br />

    </p>

    

    </body>

    </html>

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Príloha č.10: Vloženie aktuálnej aukcie

 

    <?php

    mysql_connect("localhost", "gtm", "baselogin") or die(mysql_error());

    

    mysql_select_db("loginbase") or die(mysql_error());

    

    $hodnota="";

    $result = mysql_query('SELECT ID FROM archive ORDER BY ID DESC LIMIT 1') or die('Invalid query: ' . mysql_error());

    

    

    

    while ($row = mysql_fetch_assoc($result)) {

    $hodnota = $row['ID'] + 1;

    }

    

    if ($hodnota == "" ) {

    $hodnota = "0"; }

    

    

    $vysledok = mysql_query("SELECT * FROM auctions where Status='active' ");

    

    $num_rows = mysql_num_rows($vysledok);

    

    if ($num_rows == '1')

    {

    header("refresh: 0; url=members.php");

    echo "<script type='text/javascript'>alert('Aktualna aukcia uz existuje!!!');</script>" ;}

    

    

    else {

    

    

    

    

    

    $file_name = $HTTP_POST_FILES['uploadedfile']['name'];

    $subor = $_FILES['uploadedfile']['name'];

    $ext = pathinfo($subor, PATHINFO_EXTENSION);

    

    

    

    if (!$_POST['nazov'])

    {

    header("refresh: 0; url=members.php");

    echo "<script type='text/javascript'>alert('Chyba zadavania aukcie!!!');</script>" ;}

    

    

    else {

    echo "<center><h1>...zapis novej aukcie uspesne dokonceny!!!...</h1></center><p>";

    

    if ($ext != "") {

    

    if(!eregi('image/', $_FILES['uploadedfile']['type'])) {

    

    echo "<script type='text/javascript'>alert('Zadany subor nieje typu obrazok - kopirovanie prerusene!!!');</script>" ;

    

    } else {

    

    

    

    $new_file_name="$hodnota.$ext".$file_name;

    

    

    $path= "upload/".$new_file_name;

    if($uploadedfile !=none)

    {

    if(copy($_FILES['uploadedfile']['tmp_name'], $path))

    {

    echo "<fieldset class='row1'>";

    echo "Obrazok bol uspesne prekopirovany na aukcny server!!!<BR/>";

    

    

    echo "Nazov : ".$_FILES['uploadedfile']['name']."<BR/>";

    echo "Velkost : ".$_FILES['uploadedfile']['size']." B<BR/>";

    echo "Typ : ".$_FILES['uploadedfile']['type']."<BR/>";

    echo "</fieldset>";

    }

    else

    {

    echo "Error";

    }

    }

    }

    }

    

    

    

    

    

    $insert = "INSERT INTO auctions (ID, Nazov, Popis, Kontakt, Zd, Zm, Zr, Zh, Zmin, Kh, Kmin, Obrazok, Typ, Cena, Status)

    VALUES ('$hodnota','".$_POST['nazov']."', '".$_POST['text']."', '".$_POST['kontakt']."', '".$_POST['zden']."', '".$_POST['zmesiac']."', '".$_POST['zrok']."', '".$_POST['zhodina']."', '".$_POST['zminuta']."', '".$_POST['khodina']."', '".$_POST['kminuta']."', '$new_file_name', '".$_POST['typ']."', '".$_POST['cena']."', 'active')";

    

    $add_member = mysql_query($insert);

    

    

    

    

    header("refresh: 0; url=members.php");

    echo "<script type='text/javascript'>alert('Aktualna aukcia bola uspesne vytvorena!!!');</script>" ;

    

    

    

    

    

    }

    }

    ?>

    <html><head>

    <title>Zalozenie novej aukcie</title>

    <link rel="icon" type="image/ico" href="icon/hammer.ico"></link>

    <link rel="shortcut icon" href="icon/hammer.ico"></link>

    </head>

    <body bgcolor=#f0f0f0>

    

    

    <fieldset class="row2">

    <center>

    <form action="members.php" method="post">

    <input type="submit" value="<---">

    </center>

    </fieldset>

    </center>

    

    

    </body>

    </html>

 


Príloha č.11: Draft

 

    <?php

    mysql_connect("localhost", "gtm", "baselogin") or die(mysql_error());

    

    mysql_select_db("loginbase") or die(mysql_error());

    

    

    $tmp = mysql_query(" SELECT * FROM auctions WHERE Status = 'active' ");

    

    if (!$tmp) {

    

    echo 'Could not run query: ' . mysql_error();

    

    exit;

    

    }

    

    $tempo = mysql_fetch_object($tmp);

    

    

    if ($tempo->ID == "" ) {

    $hodnota = "0"; }

    if ($tempo->ID !="") {

    $hodnota = $tempo->ID+"1";

    }

    

    

    $vysledok = mysql_query("SELECT * FROM auctions where Status='draft' ");

    

    $num_rows = mysql_num_rows($vysledok);

    

    if ($num_rows > '0') {

    header("refresh: 0; url=members.php");

    echo "<script type='text/javascript'>alert('Lutujem, ale draft buducej aukcie uz bol vytvoreny!!!');</script>" ;}

    

    

    

    

    if ($tempo->ID == "")

    {

    header("refresh: 0; url=members.php");

    echo "<script type='text/javascript'>alert('Lutujem, ale aktualna aukcia nebola doteraz vytvorena!!!');</script>" ;}

    

    

    else {

    

    

    

    

    

    $file_name = $HTTP_POST_FILES['uploadedfile']['name'];

    $subor = $_FILES['uploadedfile']['name'];

    $ext = pathinfo($subor, PATHINFO_EXTENSION);

    

    

    

    if (!$_POST['nazov'])

    {

    header("refresh: 0; url=members.php");

    echo "<script type='text/javascript'>alert('Chyba zadavania aukcie!!!');</script>" ;}

    

    

    else {

    echo "<center><h1>...zapis novej aukcie uspesne dokonceny!!!...</h1></center><p>";

    

    if ($ext != "") {

    

    if(!eregi('image/', $_FILES['uploadedfile']['type'])) {

    

    echo "<script type='text/javascript'>alert('Zadany subor nieje typu obrazok - kopirovanie prerusene!!!');</script>" ;

    

    } else {

    

    

    

    $new_file_name="$hodnota.$ext".$file_name;

    

    

    $path= "upload/".$new_file_name;

    if($uploadedfile !=none)

    {

    if(copy($_FILES['uploadedfile']['tmp_name'], $path))

    {

    echo "<fieldset class='row1'>";

    echo "Obrazok bol uspesne prekopirovany na aukcny server!!!<BR/>";

    

    

    echo "Nazov : ".$_FILES['uploadedfile']['name']."<BR/>";

    echo "Velkost : ".$_FILES['uploadedfile']['size']." B<BR/>";

    echo "Typ : ".$_FILES['uploadedfile']['type']."<BR/>";

    echo "</fieldset>";

    }

    else

    {

    echo "Error";

    }

    }

    }

    }

    

    

    

    

    $insert = "INSERT INTO auctions (ID, Nazov, Popis, Kontakt, Zd, Zm, Zr, Zh, Zmin, Kh, Kmin, Obrazok, Typ, Cena, Status)

    VALUES ('$hodnota','".$_POST['nazov']."', '".$_POST['text']."', '".$_POST['kontakt']."', '".$_POST['zden']."', '".$_POST['zmesiac']."', '".$_POST['zrok']."', '".$_POST['zhodina']."', '".$_POST['zminuta']."', '".$_POST['khodina']."', '".$_POST['kminuta']."', '$new_file_name', '".$_POST['typ']."','".$_POST['cena']."', 'draft')";

    

    $add_member = mysql_query($insert);

    

    

    

    

    

    header("refresh: 0; url=members.php");

    echo "<script type='text/javascript'>alert('Buduca aukcia bola uspesne vytvorena!!!');</script>" ;

    

    

    

    }

    }

    ?>

    <html><head>

    <title>Zalozenie novej aukcie</title>

    <link rel="icon" type="image/ico" href="icon/hammer.ico"></link>

    <link rel="shortcut icon" href="icon/hammer.ico"></link>

    </head>

    <body bgcolor=#f0f0f0>

    

    

    <fieldset class="row2">

    <center>

    <form action="members.php" method="post">

    <input type="submit" value="<---">

    </center>

    </fieldset>

    </center>

    

    

    </body>

    </html>

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Príloha č.12: Výpis aukcií

 

    <?php

    

    mysql_connect("localhost", "gtm", "baselogin") or die(mysql_error());

    

    mysql_select_db("loginbase") or die(mysql_error());

    

    

    if(isset($_COOKIE['ID_my_site']))

    

    {

    

    $username = $_COOKIE['ID_my_site'];

    

    $pass = $_COOKIE['Key_my_site'];

    

    $check = mysql_query("SELECT * FROM login WHERE Meno = '$username'")or die(mysql_error());

    

    while($info = mysql_fetch_array( $check ))

    

    {

    

    

    //if the cookie has the wrong password, they are taken to the login page

    

    if ($pass != $info['Heslo'])

    

    { header("Location: index.html#services");

    

    }

    

    

    //otherwise they are shown the admin area

    

    else

    

    {

    

    

    

    $result = mysql_query("SELECT * FROM login WHERE Meno = '$username' ");

    while ($row = mysql_fetch_assoc($result)) {

    $hodnota = $row['Email'];

    $hodnota2 = $row['Meno'];}

    

    echo "<center><h1>Uprava aukcii</h1></center><p>";

    

    }

    

    }

    

    }

    

    else

    

    

    //if the cookie does not exist, they are taken to the login screen

    

    {

    

    header("Location: index.html#services");

    

    }

    

    

    $vysledok = mysql_query("SELECT * FROM auctions");

    

    $num_rows = mysql_num_rows($vysledok);

    

    if ($num_rows == "") {

    

    header("refresh: 0; url=members.php");

    echo "<script type='text/javascript'>alert('Lutujem, ale system nenasiel ziadne aukcie k uprave!!!');</script>" ;

    

    }

    $riaktiv->Nazov ="";

    $ripas->Nazov ="";

    $riaktiv->Obrazok ="";

    $ripas->Obrazok ="";

    

    $aktivna = mysql_query(" SELECT * FROM auctions WHERE Status = 'active' ");

    if (!$aktivna) {

    echo 'Could not run query: ' . mysql_error();

    exit;

    }

    $riaktiv = mysql_fetch_object($aktivna);

    

    $pasivna = mysql_query(" SELECT * FROM auctions WHERE Status = 'draft' ");

    if (!$pasivna) {

    echo 'Could not run query: ' . mysql_error();

    exit;

    }

    $ripas = mysql_fetch_object($pasivna);

    

    

    

    if ($riaktiv->Obrazok == "") {

    $picact = "upload/noimage.png";

    }

    else

    {

    $picact = "upload/$riaktiv->Obrazok";

    }

    

    if ($ripas->Obrazok == "") {

    $picpas = "upload/noimage.png";

    }

    else

    {

    $picpas = "upload/$ripas->Obrazok";

    }

    ?>

    <html><head>

    <title>Uprava aukcii</title>

    <link rel="icon" type="image/ico" href="icon/hammer.ico"></link>

    <link rel="shortcut icon" href="icon/hammer.ico"></link>

    </head>

    <body bgcolor=#f0f0f0>

    <center>

    <h2>Aktivna aukcia: <?php echo $riaktiv->Nazov; ?></h2><br>

    <br>

    <table border=1>

    <tr>

    <td><b>Nazov:</b><i> <?php echo $riaktiv->Nazov; ?></i></td>

    <td align=center colspan=2>

    <b>Popis: </b><i> <?php echo $riaktiv->Popis; ?></i></td>

    </tr>

    

    <tr>

    <td><b>Kontakt:</b><i> <?php echo $riaktiv->Kontakt; ?></i><br><b>Cena:</b><i> <?php echo $riaktiv->Cena; ?>&euro;</i></td>

    <td valign=top rowspan=2>

    <b>Obrazok:</b><a href="<?php echo "$picact"; ?>" target="_blank"><img src="<?php echo "$picact"; ?>" width="150" height="150" alt="Obrazok"></a></td>

    <td><b>Zaciatok:</b><i> <?php echo $riaktiv->Zd; ?>.<?php echo $riaktiv->Zm; ?>.<?php echo $riaktiv->Zr; ?>&nbsp;&nbsp;&nbsp;<?php echo $riaktiv->Zh; ?>:<?php echo $riaktiv->Zmin; ?></i></td>

    </tr>

    <tr>

    <td><b>Typ:</b><i> <?php echo $riaktiv->Typ; ?></i></td>

    <td><b>Koniec:</b><i><?php echo $riaktiv->Kh; ?>:<?php echo $riaktiv->Kmin; ?></i></td>

    </tr>

    </table>

    <br>

    <?php

    if ($riaktiv->Nazov !='') {

    echo "<form action='upravaktiv.php' method='post'>";

    echo "<input type='submit' value='Upravit'></form>";

    

    

    echo "<form action='zmazaktiv.php' method='post'>";

    echo "<input type='submit' value='Zmazat'></form>";

    }

    ?>

    

    <br>

    <br>

    <h2>Pripravovana aukcia: <?php echo $ripas->Nazov; ?></h2><br>

    <br>

    <table border=1>

    <tr>

    <td><b>Nazov:</b><i> <?php echo $ripas->Nazov; ?></i></td>

    <td align=center colspan=2>

    <b>Popis: </b><i> <?php echo $ripas->Popis; ?></i></td>

    </tr>

    

    <tr>

    <td><b>Kontakt:</b><i> <?php echo $ripas->Kontakt; ?></i><br><b>Cena:</b><i> <?php echo $ripas->Cena; ?>&euro;</i></td>

    <td valign=top rowspan=2>

    <b>Obrazok:</b><a href="<?php echo "$picpas"; ?>" target="_blank"><img src="<?php echo "$picpas"; ?>" width="150" height="150" alt="Obrazok"></a></td>

    <td><b>Zaciatok:</b><i> <?php echo $ripas->Zd; ?>.<?php echo $ripas->Zm; ?>.<?php echo $ripas->Zr; ?>&nbsp;&nbsp;&nbsp;<?php echo $ripas->Zh; ?>:<?php echo $ripas->Zmin; ?></i></td>

    </tr>

    <tr>

    <td><b>Typ:</b><i> <?php echo $ripas->Typ; ?></i></td>

    <td><b>Koniec:</b><i><?php echo $ripas->Kh; ?>:<?php echo $ripas->Kmin; ?></i></td>

    </tr>

    </table>

    <br>

    <?php

    if ($ripas->Nazov != '') {

    echo "<form action='upravpasiv.php' method='post'>";

    echo "<input type='submit' value='Upravit'></form>";

    

    echo "<form action='zmazpasiv.php' method='post'>";

    echo "<input type='submit' value='Zmazat'></form>";

    }

    ?>

    <br>

    <br>

    </center>

    

    <fieldset class="row2">

    <center>

    <form action="members.php" method="post">

    <input type="submit" value="<---">

    </center>

    </fieldset>

    </center>

    </body>

    </html>

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Príloha č.13: Výmaz aukcie

 

    <?php

    

    mysql_connect("localhost", "gtm", "baselogin") or die(mysql_error());

    

    mysql_select_db("loginbase") or die(mysql_error());

    

    

    if(isset($_COOKIE['ID_my_site']))

    

    {

    

    $username = $_COOKIE['ID_my_site'];

    

    $pass = $_COOKIE['Key_my_site'];

    

    $check = mysql_query("SELECT * FROM login WHERE Meno = '$username'")or die(mysql_error());

    

    while($info = mysql_fetch_array( $check ))

    

    {

    

    

    //if the cookie has the wrong password, they are taken to the login page

    

    if ($pass != $info['Heslo'])

    

    { header("Location: index.html#services");

    

    }

    

    

    //otherwise they are shown the admin area

    

    else

    

    {

    

    

    

    $result = mysql_query("SELECT * FROM login WHERE Meno = '$username' ");

    while ($row = mysql_fetch_assoc($result)) {

    $hodnota = $row['Email'];

    $hodnota2 = $row['Meno'];}

    

    echo "<center><h1>...mazanie aktualnej aukcie...</h1></center><p>";

    

    }

    

    }

    

    }

    

    else

    

    

    //if the cookie does not exist, they are taken to the login screen

    

    {

    

    header("Location: index.html#services");

    

    }

    

    

    

    $aktivna = mysql_query(" SELECT * FROM auctions WHERE Status = 'active' ");

    if (!$aktivna) {

    echo 'Could not run query: ' . mysql_error();

    exit;

    }

    $riaktiv = mysql_fetch_object($aktivna);

    

    if ($riaktiv->Obrazok == "") {

    

    }

    else {

    $picact = "upload/$riaktiv->Obrazok";

    unlink($picact);

    }

    

    

    

    

    

    

    mysql_query("DELETE FROM auctions WHERE Status = 'active'");

    

    header("refresh: 0; url=aukcia.php");

    echo "<script type='text/javascript'>alert('Aktualna aukcia bola uspesne vymazana!!!');</script>" ;

    

    

    ?>

 

 

 

 

 


Príloha č.14: Úprava aktuáônej aukcie

 

    <?php

    mysql_connect("localhost", "gtm", "baselogin") or die(mysql_error());

    

    mysql_select_db("loginbase") or die(mysql_error());

    

    

    if(isset($_COOKIE['ID_my_site']))

    

    {

    

    $username = $_COOKIE['ID_my_site'];

     

    $pass = $_COOKIE['Key_my_site'];

    

    $check = mysql_query("SELECT * FROM login WHERE Meno = '$username'")or die(mysql_error());

    

    while($info = mysql_fetch_array( $check ))

    

    {

    

    

    //if the cookie has the wrong password, they are taken to the login page

    

    if ($pass != $info['Heslo'])

    

    { header("Location: index.html#services");

    

    }

    

    

    //otherwise they are shown the admin area

    

    else

    

    {

    

    

    

    $result = mysql_query("SELECT * FROM login WHERE Meno = '$username' ");

    while ($row = mysql_fetch_assoc($result)) {

    $hodnota = $row['Email'];

    $hodnota2 = $row['Meno'];}

    

    echo "<center><h1>Uprava aktualnej aukcie</h1></center><p>";

    

    }

    

    }

    

    }

    

    else

    

    

    //if the cookie does not exist, they are taken to the login screen

    

    {

    

    header("Location: index.html#services");

    

    }

    $vysledok = mysql_query("SELECT * FROM auctions");

    

    $num_rows = mysql_num_rows($vysledok);

    

    if ($num_rows == "") {

    

    header("refresh: 0; url=members.php");

    echo "<script type='text/javascript'>alert('Lutujem, ale system nenasiel ziadne aukcie k uprave!!!');</script>" ;

    

    }

    

    

    $aktivna = mysql_query(" SELECT * FROM auctions WHERE Status = 'active' ");

    if (!$aktivna) {

    echo 'Could not run query: ' . mysql_error();

    exit;

    }

    $riaktiv = mysql_fetch_object($aktivna);

    

    ?>

    <html><head>

    <title>Uprava aktivnej aukcie</title>

    <link rel="icon" type="image/ico" href="icon/hammer.ico"></link>

    <link rel="shortcut icon" href="icon/hammer.ico"></link>

    </head>

    <body bgcolor=#f0f0f0>

    

    <center>

    

    <fieldset class="row1">

    <legend>Aukcia - udaje

    </legend>

    <form action="upravaaktivzapis.php" method="post" enctype="multipart/form-data">

    

    <table border="0">

    <tr><td>Nazov:</td><td>

    

    <input type="text" name="nazov" maxlength="60" value="<?php echo $riaktiv->Nazov; ?>">

    

    </td></tr>

    

    

    

    <tr><td>Popis:</td><td>

    

    <textarea name="text" cols=60 rows=6><?php echo $riaktiv->Popis; ?></textarea>

    

    </td></tr>

    

    <tr><td>Kontakt</td><td>

    

    <input type="text" name="kontakt" maxlength="10" value="<?php echo $riaktiv->Kontakt; ?>" >

    

    </td></tr>

    

    <tr><td>Obrazok</td><td>

    

    <input type="hidden" name="MAX_FILE_SIZE" value="2000000" />

    <input name="uploadedfile" type="file" /><br />

    

    </td></tr>

    <tr><td>Typ:</td><td>

    

    <select name="typ">

    <option value="anglicka">anglicka</option>

    <option value="holandska">holandska</option>

    </select>

    

    

    </td></tr>

    

    <tr><td>Cena</td><td>

    

    <input type="text" name="cena" maxlength="10" value="<?php echo $riaktiv->Cena; ?>" >&euro;

    

    </td></tr>

    

    

    <tr><td>Zaciatok:</td><td>

    

    <br>

    <br>

    Den: <input type="text" name="zden" maxlength="10" value="<?php echo $riaktiv->Zd; ?>" >

    Mesiac: <input type="text" name="zmesiac" maxlength="10" value="<?php echo $riaktiv->Zm; ?>" >

    Rok: <input type="text" name="zrok" maxlength="10" value="<?php echo $riaktiv->Zr; ?>" >

    <br>

    Hodina: <input type="text" name="zhodina" maxlength="10" value="<?php echo $riaktiv->Zh; ?>" >

    Minuta: <input type="text" name="zminuta" maxlength="10" value="<?php echo $riaktiv->Zmin; ?>" >

    

    

    </td></tr>

    

    <tr><td>Koniec:</td><td>

    <br>

    <br>

    Hodina: <input type="text" name="khodina" maxlength="10" value="<?php echo $riaktiv->Kh; ?>" >

    Minuta: <input type="text" name="kminuta" maxlength="10" value="<?php echo $riaktiv->Kmin; ?>" >

    

    </td></tr>

    <tr><th colspan=2><input type="submit" name="submit"

    value="Upravit"></th></tr>

    <tr><th colspan=2><input type="reset" name="reset"

    value="Reset"></th></tr> </table>

    

    </form>

    </fieldset>

    <fieldset class="row2">

    <center>

    <form action="uprava.php" method="post">

    <input type="submit" value="<---">

    </center>

    </fieldset>

    </center>

    </body>

    </html>

 

 

 

 

 

 

 

 

 

 

 

 

 


Príloha č.15: Generované kódy

 

<?php

 

if ($_POST['pocet'] < 1)

 

{ header("refresh: 0; url='members.php'");

echo "<script type='text/javascript'>alert('Chyba!!!');</script>" ;

 

}

 

$conn = mysql_connect("localhost", "gtm", "baselogin") or die(mysql_error());

 

 

 

 

$sql = "TRUNCATE TABLE users";

mysql_select_db("loginbase");

$retval = mysql_query( $sql, $conn );

 

 

function str_rand($length = 8, $seeds = 'alphanum')

{

// Possible seeds

$seedings['alpha'] = 'abcdefghijklmnopqrstuvwqyz';

$seedings['numeric'] = '0123456789';

$seedings['alphanum'] = 'abcdefghijklmnopqrstuvwqyz0123456789';

$seedings['hexidec'] = '0123456789abcdef';

// Choose seed

if (isset($seedings[$seeds]))

{

$seeds = $seedings[$seeds];

}

 

 

 

 

// Seed generator

list($usec, $sec) = explode(' ', microtime());

$seed = (float) $sec + ((float) $usec * 100000);

mt_srand($seed);

// Generate

$str = '';

$seeds_count = strlen($seeds);

for ($i = 0; $length > $i; $i++)

{

$str .= $seeds{mt_rand(0, $seeds_count - 1)};

 

}

 

$insert = "INSERT INTO users (Kod, Note, Meno)

VALUES ('$str','poznamka','meno".rand(20, 1000)."')";

$add_member = mysql_query($insert);

 

return $str;

 

}

echo "<b>...Vygenerovane kody...</b><br><br><br> ";

$cislo = 0;

do {

$cislo++;

echo "Kod $cislo: ";

echo str_rand(15, 'alphanum');

echo "<br>";

 

 

 

}

while($cislo<$_POST['pocet']);

 

?>

<html>

<head>

<title>Generator kodov</title>

<link rel="icon" type="image/ico" href="icon/hammer.ico"></link>

<link rel="shortcut icon" href="icon/hammer.ico"></link>

</head>

 

 

<body bgcolor=#f0f0f0>

<br>

<br>

<br>

<fieldset class="row1">

<legend>Editacia kodu

</legend>

<center>

<form action="fingen.php" method="post">

<table border="0">

<tr><td>Pridat poznamku a meno ku kodu:</td><td>

<input type="number" name="ID" maxlength="255">

</td></tr>

<tr><th colspan=2><input type="submit" name="submit"

value="Otvorit a pridat"></th></tr>

 

</form>

 

<form action="members.php" method="post">

<tr><th colspan=2><input type="submit" name="submit"

value="<---"></th></tr>

 

</form>

</center>

</fieldset>

</body>

</html>

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Príloha č.16: Úprava kódu

 

<?php

 

if ($_POST['kod'] == "")

 

{

header("refresh: 0; url=members.php");

echo "<script type='text/javascript'>alert('Chyba!!!');</script>";

}

mysql_connect("localhost", "gtm", "baselogin") or die(mysql_error());

 

mysql_select_db("loginbase") or die(mysql_error());

 

$s1 = $_POST['kod'];

$s2 = $_POST['pozn'];

$s3 = $_POST['meno'];

 

 

 

$insert = "UPDATE users SET Note='$s2',Meno='$s3' WHERE Kod='$s1' ";

$add_member = mysql_query($insert) or die(mysql_error());

 

 

header("refresh: 0; url=dbgen.php");

echo "<script type='text/javascript'>alert('Kod + poznamka + meno uspesne aktualizovane!!!');</script>" ;

?>

 

 

 

 

 


Príloha č.17: Ošetrenie prístupu

 

    <?php

    $conn = mysql_connect("localhost", "gtm", "baselogin") or die(mysql_error());

    mysql_select_db("loginbase") or die(mysql_error());

    

    

    $pocetkodov = mysql_query("SELECT * FROM users");

    $i=0;

    while($pole = mysql_fetch_array($pocetkodov))

    {

    $i=$i+1;

    }

    

    

    if ($_POST['ID'] == "")

    {

    header("refresh: 0; url=members.php");

    echo "<script type='text/javascript'>alert('Chyba!!!');</script>" ;}

    

    if ($_POST['ID'] <= "0" )

    {

    header("refresh: 0; url=members.php");

    echo "<script type='text/javascript'>alert('Pozadovany kod na upravu neexistuje!!!');</script>" ;}

    

    if ($_POST['ID'] > "$i" )

    {

    header("refresh: 0; url=members.php");

    echo "<script type='text/javascript'>alert('Pozadovany kod na upravu neexistuje!!!');</script>" ;}

    

    

    

    $code = $_POST['ID'];

    if ($code == "1") {

    $s = 0;}

    

    else if ($code == "2") { $s = 1;}

    

    else { $s = 2;}

    

    $query = "SELECT Kod FROM users limit $s,1";

    $result = mysql_query($query);

    $row = mysql_fetch_array($result, MYSQL_NUM);

    

    $query2 = "SELECT Note FROM users limit $s,1";

    $res = mysql_query($query2);

    $ro = mysql_fetch_array($res, MYSQL_NUM);

    

    $query3 = "SELECT Meno FROM users limit $s,1";

    $res = mysql_query($query3);

    $r = mysql_fetch_array($res, MYSQL_NUM);

    

    

    ?>

    

    <html><head>

    <title>Uprava kodu</title>

    <link rel="icon" type="image/ico" href="icon/hammer.ico"></link>

    <link rel="shortcut icon" href="icon/hammer.ico"></link>

    </head>

    <body bgcolor=#f0f0f0>

    <h1>Uprava kodu</h1>

    <fieldset class="row1">

    <legend>Uprava kodu: "<?php echo "{$row[0]}"; ?>"

    </legend>

    <center>

    <form action="kodzapis.php" method="post">

    <table border="0">

    <tr><td>Kod:</td><td>

    

    <input type="text" name="kod" maxlength="60" value="<?php echo "{$row[0]}"; ?>">

    

    </td></tr>

    

    

    

    <tr><td>Poznamka:</td><td>

    

    <input type="text" name="pozn" maxlength="60" value="<?php echo "{$ro[0]}"; ?>">

    

    </td></tr>

    

    <tr><td>Meno v aukcii:</td><td>

    

    <input type="text" name="meno" maxlength="60" value="<?php echo "{$r[0]}"; ?>">

    

    </td></tr>

    

    <tr><th colspan=2><input type="submit" name="submit"

    value="Upravit"></th></tr>

    </table>

    </center>

    </form>

    </fieldset>

    <center>

    <fieldset class="row2">

    <form action="dbgen.php" method="post">

    <tr><th colspan=2><input type="submit" name="submit"

    value="<---"></th></tr>

    </center>

    </form>

    </fieldset>

    </body>

    </html>

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Príloha č.18: Odosielanie kódov e-mailom

 

<?php

 

$to = $_POST['to'];

$subject = "Pristupovy kod na aukciu MsU Stara Tura";

$body = $_POST['text'];

$headers = "From: " .$_POST['from']. "\r\n" . "Reply-To: " .$_POST['from']. "\r\n" . "X-Mailer: PHP/" . phpversion();

 

if (mail($to, $subject, $body, $headers)) {

header("refresh: 0; url='dbgen.php'");

echo "<script type='text/javascript'>alert('E-mail s kodom bol uspesne odoslany!');</script>" ;

 

} else {

header("refresh: 0; url='dbgen.php'");

echo "<script type='text/javascript'>alert('Odoslanie kodu e-mailom zlyhalo!');</script>" ;

}

 

?>   

 

 

 

 

 

 

 

 

 

 

 

 


Príloha č.19: Formulár pre odoslanie kódu

 

<?php

    $con = mysql_connect("localhost","gtm","baselogin");

    if (!$con)

    {

    die('Could not connect: ' . mysql_error());

    }

    

    mysql_select_db("loginbase", $con);

    

    

    

    

    if(isset($_COOKIE['ID_my_site']))

    

    {

    

    $username = $_COOKIE['ID_my_site'];

    

    $pass = $_COOKIE['Key_my_site'];

    

    $check = mysql_query("SELECT * FROM login WHERE Meno = '$username'")or die(mysql_error());

    

    while($info = mysql_fetch_array( $check ))

    

    {

    

    

    //if the cookie has the wrong password, they are taken to the login page

    

    if ($pass != $info['Heslo'])

    

    { header("Location: index.html#services");

    

    }

    

    else

    

    {

    

    

    

    

    echo "<center><h2>Odoslanie kodu e-mailom</h2></center>";

    

    }

    

    }

    

    }

    

    else

    

    

    //if the cookie does not exist, they are taken to the login screen

    

    {

    

    header("Location: index.html#services");

    

    }

    

    $result = mysql_query("SELECT * FROM login WHERE Meno = '$username' ");

    while ($row = mysql_fetch_assoc($result)) {

    $hodnota = $row['Email'];

    }

    

    ?>

    <html>

    <head>

    <title>Odoslanie kodu e-mailom</title>

    <link rel="icon" type="image/ico" href="icon/hammer.ico"></link>

    <link rel="shortcut icon" href="icon/hammer.ico"></link>

    </head>

    

    

    <body bgcolor=#f0f0f0>

    

    <fieldset class="row1">

    <legend>Odoslanie kodu

    </legend>

    <center>

    <form method="post" name="contact" action="sendgen.php">

    Od - admin: <input type="from" id="from" name="from" value="<?php echo $hodnota; ?>"><br>

    Komu: <input type="to" id="to" name="to"><br>

    Dotaz:<textarea id="text" name="text" rows="5" cols="25">Vas pristupovy kod na aukciu http://aukcie.galosoft.eu je: <?php echo $_POST['kod']; ?></textarea><br>

    <input type="submit" value="Odoslat" id="submit" name="submit">&nbsp;&nbsp;&nbsp;

    <input type="reset" value="Reset" id="reset" name="reset">

    </form>

    </center>

    </fieldset>

    <center>

    <fieldset class="row2">

    <legend>Navrat

    </legend>

    <form method="post" name="contact" action="dbgen.php">

    <input type="submit" name="submit" value="<---">

    </form>

    </fieldset>

    </center>

    </body>

    </html>

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Príloha č.20: Výpis kódov

 

<?php

 

$con = mysql_connect("localhost","gtm","baselogin");

if (!$con)

{

die('Could not connect: ' . mysql_error());

}

 

mysql_select_db("loginbase", $con);

 

 

 

 

if(isset($_COOKIE['ID_my_site']))

 

{

 

$username = $_COOKIE['ID_my_site'];

 

$pass = $_COOKIE['Key_my_site'];

 

$check = mysql_query("SELECT * FROM login WHERE Meno = '$username'")or die(mysql_error());

 

while($info = mysql_fetch_array( $check ))

 

{

 

 

//if the cookie has the wrong password, they are taken to the login page

 

if ($pass != $info['Heslo'])

 

{ header("Location: index.html#services");

 

}

 

else

 

{

 

 

 

 

echo "<center><h1>Databaza kodov</h1></center>";

 

}

 

}

 

}

 

else

 

 

//if the cookie does not exist, they are taken to the login screen

 

{

 

header("Location: index.html#services");

 

}

 

 

 

 

 

 

 

$result = mysql_query("SELECT * FROM users");

 

echo "<table border='1'>

<tr>

<th>Cislo</th>

<th>Kod</th>

<th>Poznamka</th>

<th>Meno</th>

<th>Odoslat</th>

</tr>";

 

$i=0;

while($row = mysql_fetch_array($result))

{

$i=$i+1;

echo "<tr>";

echo "<td> $i </td>";

echo "<td>" . $row['Kod'] . "</td>";

echo "<td>" . $row['Note'] . "</td>";

echo "<td>" . $row['Meno'] . "</td>";

echo "<td><form action='emailkod.php' method='post'><input type='text' name='kod' value=".$row['Kod']." hidden><input type='submit' name='submit' value='e-mail'></form></td>";

 

 

echo "</tr>";

}

echo "</table>";

 

mysql_close($con);

?>

<html>

<head>

<title>Generator kodov - databaza</title>

<link rel="icon" type="image/ico" href="icon/hammer.ico"></link>

<link rel="shortcut icon" href="icon/hammer.ico"></link>

</head>

 

 

<body bgcolor=#f0f0f0>

<br>

<br>

<br>

<fieldset class="row2">

<legend>Mazanie kodov

</legend>

<center>

<form action="zmazkody.php" method="post">

<tr><th colspan=2><input type="submit" name="submit"

value="Zmazat vsetky kody"></th></tr>

 

</form>

</center>

</fieldset>

<fieldset class="row1">

<legend>Editacia kodu

</legend>

<center>

<form action="fingen.php" method="post">

<table border="0">

<tr><td>Pridat meno a poznamku ku kodu cislo:</td><td>

<input type="number" name="ID" maxlength="255">

</td></tr>

<tr><th colspan=2><input type="submit" name="submit"

value="Upravit"></th></tr>

 

</form>

<form action="members.php" method="post">

<tr><th colspan=2><input type="submit" name="submit"

value="<---"></th></tr>

 

</form>

 

</center>

</fieldset>

</body>

</html>

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Príloha č.21: Administračný mód - cookie

 

    <?php

    header("Expires: Mon, 26 Jul 1990 05:00:00 GMT");

    header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");

    header("Cache-Control: no-store, no-cache, must-revalidate");

    header("Cache-Control: post-check=0, pre-check=0", false);

    header("Pragma: no-cache");

    

    $hour = time() + 3600;

    setcookie('ID_my_user', 'admini', $hour);

    

    

    ?>

    <html>

    <head>

    <title>Admin mode ST</title>

    <link rel="icon" type="image/ico" href="icon/hammer.ico"></link>

    <link rel="shortcut icon" href="icon/hammer.ico"></link>

    <SCRIPT LANGUAGE="JavaScript">

    

    function fullScreen(theURL) {

    window.open(theURL, '', 'fullscreen=yes, scrollbars=auto');

    }

    </script>

    </head>

    <body bgcolor=#f0f0f0>

    <center>

    <h1>Aktualna aukcia</h1>

    <br>

    <br>

    <fieldset class="row1">

    <legend>Aktualna aukcia

    </legend>

    

    <p>Admin mod nastaveny, pokracovat<a href="javascript:void(0);" onClick="fullScreen('aukcia/aukcia.php');"> TU</a>!</p>

    <br>

    <br>

    <form action="members.php" method="post">

    <input type="submit" name="submit"

    value="<---">

    </form>

    </center>

    </fieldset>

    

    </body>

    </html>

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Príloha č.22: Vrchná časť aukčnej stránky

 

<?php

 

header("Expires: Mon, 26 Jul 1990 05:00:00 GMT");

 

            header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");

 

            header("Cache-Control: no-store, no-cache, must-revalidate");

 

            header("Cache-Control: post-check=0, pre-check=0", false);

 

            header("Pragma: no-cache");

 

 

 

mysql_connect("localhost", "gtm", "baselogin") or die(mysql_error());

 

 

 

 mysql_select_db("loginbase") or die(mysql_error());

 

 

 

 

 

 

 

$tmp = mysql_query(" SELECT * FROM temp");

 

 

 

if (!$tmp) {

 

 

 

    echo 'Could not run query: ' . mysql_error();

 

 

 

    exit;

 

 

 

}

 

 

 

$tempo = mysql_fetch_object($tmp);

 

 

 

 

 

 

 

 

 

$riaktiv->Obrazok ="";

 

 

 

$aktivna = mysql_query(" SELECT * FROM auctions WHERE Status = 'active' ");

 

 

 

if (!$aktivna) {

 

 

 

    echo 'Could not run query: ' . mysql_error();

 

 

 

    exit;

 

 

 

}

 

 

 

$riaktiv = mysql_fetch_object($aktivna);

 

 

 

 

 

if ($riaktiv->Obrazok == "") {

 

$picact = "../upload/noimage.png";

 

}

 

else

 

{

 

$picact = "../upload/$riaktiv->Obrazok";

 

}

 

 

 

 

 

if ($tempo->Cena=="") {

 

$price = "$riaktiv->Cena";

 

}

 

 

 

if ($tempo->Cena!="") {

 

$price = "$tempo->Cena";

 

}

 

 

 

if ($tempo->User=="") {

 

$usr = "-";

 

}

 

 

 

if ($tempo->User!="") {

 

$usr = "$tempo->User";

 

}

 

 

 

?>

 

 

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

 

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

 

<head>

 

  <title>Elektronicke aukcie ST</title>

 

  <meta name="keywords" content="elektronicke aukcie" />

 

  <meta name="description" content="elektronicke aukcie galosoft.eu" />

 

  <meta http-equiv="content-type" content="text/html; charset=UTF-8" />

 

<meta http-equiv="Cache-Control" content="Public | Private | no-cache | no-store">

 

  <link rel="stylesheet" type="text/css" href="basic-businesscard.css" media="all" />

 

 

 

  </head>

 

 

 

<body>

 

 

 

<div id="wrap">

 

<div><a href="<?php echo "$picact"; ?>" target="_blank"><img src="<?php echo "$picact"; ?>" width="150" height="100" alt="Obrazok aukcie" align="left"></a>

 

            <div id="content">

 

                        <h1><a href="page1.php"><?php echo $riaktiv->Nazov; ?></a></h1>

 

                        <h3 class="tagline">...prave prebiehajuca aukcia...</h2>    

 

 

 

                        <dl>

 

                                   <dt>Kontakt:</dt>

 

                                   <dd><?php echo $riaktiv->Kontakt; ?></dd>

                                  

 

                                   <dt>Cena:</dt>

 

                                   <dd><?php echo $price; ?>&euro;</dd>

                                  

 

                        <dt>Vyhrava:</dt>

 

                                   <dd><?php echo $usr; ?></dd>

 

 

 

                                   <dt>Typ:</dt>

 

                                   <dd><?php echo $riaktiv->Typ; ?></dd>

                                  

 

                                   <dt>Popis:</dt>

 

                                   <dd></dd>

 

                        </dl>

           

 

                        <p><em><?php echo $riaktiv->Popis; ?></em></p>

 

            </div>

 

</div>

           

 

 

 

</div>

 

 

 

<div id="footer">

 

            <p>&copy; 2012 GTM | GTM's auction system v1<br />

 

            </p>

 

</div>

 

</div>

</body>

</html>


Príloha č.23: Ľavá dolná stránka aukcií

 

<?php

 

header("Expires: Mon, 26 Jul 1990 05:00:00 GMT");

 

            header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");

 

            header("Cache-Control: no-store, no-cache, must-revalidate");

 

            header("Cache-Control: post-check=0, pre-check=0", false);

 

            header("Pragma: no-cache");

 

 

 

 

 

$d1 = date('m', time());

 

 

 

$d2 = date('d', time());

 

 

 

$d3 = date('Y', time());

 

 

 

$t1 = date('H', time());

 

 

 

$t2 = date('i', time());

 

 

 

 

 

 

 

 

 

mysql_connect("localhost", "gtm", "baselogin") or die(mysql_error());

 

 

 

 

 

 

 mysql_select_db("loginbase") or die(mysql_error());

 

 

 

 

$tmp = mysql_query(" SELECT * FROM temp");

 

 

 

if (!$tmp) {

 

 

 

    echo 'Could not run query: ' . mysql_error();

 

 

 

    exit;

 

 

 

}

 

 

 

$tempo = mysql_fetch_object($tmp);

 

 

 

 

 

 

 

 

$aktivna = mysql_query(" SELECT * FROM auctions WHERE Status = 'active' ");

 

 

 

if (!$aktivna) {

 

 

 

    echo 'Could not run query: ' . mysql_error();

 

 

 

    exit;

 

 

 

}

 

 

 

$riaktiv = mysql_fetch_object($aktivna);

 

 

 

 

 

if ($tempo->Cena!="" and ($tempo->Cena < $riaktiv->Cena or $tempo->Cena > $riaktiv->Cena)){

 

echo '<script language="javascript">'."\n";

 

echo ' window.open("page1.php", "page1");'."\n";

 

echo '</script>'."\n";

 

}

 

 

 

 

 

 

 

 

$kill = $d3 + $d1 + $d2;

 

$killer = $riaktiv->Zr + $riaktiv->Zm + $riaktiv->Zd;

 

$killed = $killer - $kill;

 

 

if (($d3 < $riaktiv->Zr) or (($d3 == $riaktiv->Zr) and ($d2 < $riaktiv->Zd)) or (($d3 == $riaktiv->Zr) and ($d2 == $riaktiv->Zd) and ($d1 < $riaktiv->Zm)) or (($d3 == $riaktiv->Zr) and ($d2 == $riaktiv->Zd) and ($d1 == $riaktiv->Zm) and ($t1 < $riaktiv->Zh)) or (($d3 == $riaktiv->Zr) and ($d2 == $riaktiv->Zd) and ($d1 == $riaktiv->Zm) and ($t1 == $riaktiv->Zh) and ($t2 == $riaktiv->Zmin))) {

 

 

 

$stav = "v priprave" ;

 

 

 

 

 

}

 

 

 

 

 

if (($d3 == $riaktiv->Zr) and ($d2 == $riaktiv->Zd) and ($d1 == $riaktiv->Zm) ) {

 

 

 

 

 

$stav = "dnes aktualna";

 

 

 

}

 

 

 

 

 

$kon = ($riaktiv->Kh * 60) + $riaktiv->Kmin;

 

$zac = ($riaktiv->Zh * 60) + $riaktiv->Zmin;

 

$akt = ($t1 * 60) + $t2;

 

$start = $zac - $akt;

 

$poc = $kon - $akt;

 

 

 

 

 

 

 

 

 

if ($start > "0") {

 

$stat = "pripravte sa na zaciatok";

 

 

 

 

 

}

 

 

 

if (($start == "0") or (($start < "0") and ($poc > "0"))){

 

 

 

$stat = "drazi sa >>> <font color=red><b>$poc  </b>   </font>min do konca ";

 

} 

 

if (($start < "0") and (($poc < "0") or ($poc == "0")) ) {

 

$stat = "koniec";

 

 

 

}

 

 

 

if ($stat == "koniec" and (($killed == "0") or ($killed < "0")))   {

 

 

 

$stav = "ukoncena" ;

 

 

 

 

 

}

 

 

 

 

 

if ($stav == "v priprave") {

 

$stat = "budte tu vcas";

 

$conn = mysql_connect("localhost", "gtm", "baselogin") or die(mysql_error());

 

$sql = "TRUNCATE TABLE temp";

 

mysql_select_db("loginbase");

 

$retval = mysql_query( $sql, $conn );

 

}

 

 

 

 

 

if ($stat == "koniec" and $stav == "ukoncena" and ($poc == "-1" or $poc < "-1") or ($d3 > $riaktiv->Zr) or (($d3 == $riaktiv->Zr) and ($d2 > $riaktiv->Zd)) or (($d3 == $riaktiv->Zr) and ($d2 == $riaktiv->Zd) and ($d1 > $riaktiv->Zm))) {

 

header("refresh: 0; url=archiv.php");

 

 

 

}

 

 

 

?>

 

 

 

 

 

 

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

 

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

 

<head>

 

  <title>Elektronicke aukcie ST</title>

 

  <meta name="keywords" content="elektronicke aukcie" />

 

  <meta name="description" content="elektronicke aukcie galosoft.eu" />

 

  <meta http-equiv="content-type" content="text/html; charset=UTF-8" />

 

<meta http-equiv="Cache-Control" content="Public | Private | no-cache | no-store">

 

<meta http-equiv="refresh" content="1">

 

 

  </head>

 

 

 

<body bgcolor=#f0f0f0>

 

 

 

<b><u><i>Zaciatok:</i></u></b>

 

 

                

 

<?php echo $riaktiv->Zr; ?>-

 

<?php echo $riaktiv->Zm; ?>-

 

<?php echo $riaktiv->Zd; ?>

 

 

 

 

 

&nbsp;&nbsp;&nbsp;

 

<b><u><i>Cas:</i></u></b>

 

<?php echo $riaktiv->Zh; ?>:

 

<?php echo $riaktiv->Zmin; ?>

 

 

 

 

 

 <br>

 

 <br>

 

 

 

<b><u><i>Koniec:</u></i></b>

 

 

 

<?php echo $riaktiv->Zr; ?>-

 

<?php echo $riaktiv->Zm; ?>-

 

<?php echo $riaktiv->Zd; ?>

 

 

 

 

 

&nbsp;&nbsp;&nbsp;

 

<b><u><i>Cas:</i></u></b>

 

<?php echo $riaktiv->Kh; ?>:

 

<?php echo $riaktiv->Kmin; ?>

 

 

 

<br>

 

<br>

 

<b><u><i>Dnes je:</u></i></b>

 

<?php

 

echo date('Y-m-d  <<<>>>  H:i:s');

 

?>

 

<br>

 

<br>

 

<b><u><i>Aktualny stav:</u></i></b>

 

<?php echo "$stav  >>>  $stat"; ?>

 

 

 

 

 

</body>

 

</html>

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Príloha č.24: Prihlasovací skript do aukcií

 

<?php

 

header("Expires: Mon, 26 Jul 1990 05:00:00 GMT");

 

            header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");

 

            header("Cache-Control: no-store, no-cache, must-revalidate");

 

            header("Cache-Control: post-check=0, pre-check=0", false);

 

            header("Pragma: no-cache");

 

 

 

$d1 = date('m', time());

 

 

$d2 = date('d', time());

 

 

$d3 = date('Y', time());

 

 

$t1 = date('H', time());

 

 

$t2 = date('i', time());

 

 

 

 

 

 

 

$jumbo=$_COOKIE['ID_my_user'];

 

 

 

if($jumbo=="null") {

 

header("refresh: 0; url=logauk.php");

 

 

 

}

 

if($jumbo=="") {

 

header("refresh: 0; url=logauk.php");

 

 

 

}

 

 

 

if($jumbo=="admini") {

 

header('Location: http://aukcie.galosoft.eu/aukcia/admini.php');

 

 

 

}

 

 

 

 

 

 

 

 

 

 

 

 

 

mysql_connect("localhost", "gtm", "baselogin") or die(mysql_error());

 

 

mysql_select_db("loginbase") or die(mysql_error());

 

 

 

 

 

 

 

$check = mysql_query(" SELECT * FROM users WHERE Kod ='$jumbo' ");

 

 

 

if (!$check) {

 

 

 

    echo 'Could not run query: ' . mysql_error();

 

 

 

 

 

 

 

}

 

 

 

$usrnm = mysql_fetch_object($check);

 

 

 

 

 

 

 

if($usrnm->Meno=="") {

 

header("refresh: 0; url=logauk.php");

 

 

 

}

 

 

 

 

 

 

 

$tmp = mysql_query(" SELECT * FROM temp");

 

 

 

if (!$tmp) {

 

 

 

    echo 'Could not run query: ' . mysql_error();

 

 

 

    exit;

 

 

 

}

 

 

 

$tempo = mysql_fetch_object($tmp);

 

 

 

 

 

 

 

$aktivna = mysql_query(" SELECT * FROM auctions WHERE Status = 'active' ");

 

 

if (!$aktivna) {

 

 

echo 'Could not run query: ' . mysql_error();

 

 

exit;

 

 

}

 

 

$riaktiv = mysql_fetch_object($aktivna);

 

 

 

 

 

$kon = ($riaktiv->Kh * 60) + $riaktiv->Kmin;

 

$zac = ($riaktiv->Zh * 60) + $riaktiv->Zmin;

 

$akt = ($t1 * 60) + $t2;

 

$start = $zac - $akt;

 

$poc = $kon - $akt;

 

 

 

 

 

if ($riaktiv->Kmin == "59") {

 

$posun = "00";

 

}

 

if ($riaktiv->Kmin == "59") {

 

$posun2 = $riaktiv->Kh + 1;

 

}

 

if ($riaktiv->Kmin == "59" and $riaktiv->Kh =="23") {

 

$posun2 = "00";

 

}

 

if ($riaktiv->Kmin != "59") {

 

$posun = $riaktiv->Kmin +1;

 

}

 

if ($riaktiv->Kmin != "59") {

 

$posun2 = $riaktiv->Kh;

 

}

 

 

 

 

 

 

 

 

 

if ((($d3 == $riaktiv->Zr) and ($d2 == $riaktiv->Zd) and ($d1 == $riaktiv->Zm)) and ((($start == "0") or (($start < "0")) and ($poc > "0"))))

 

{

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

$aktivna = mysql_query(" SELECT * FROM auctions WHERE Status = 'active' ");

 

 

 

if (!$aktivna) {

 

 

 

    echo 'Could not run query: ' . mysql_error();

 

 

 

    exit;

 

 

 

}

 

 

 

$riaktiv = mysql_fetch_object($aktivna);

 

 

 

 

 

if ($tempo->Cena == "") {

 

$tempo->Cena = $riaktiv->Cena;

 

}

 

 

 

 

 

 

 

if(isset($_POST['submit']))

 

 

 

{

 

 

 

 

 

 

 

 $name = $usrnm->Meno;

 

 $cena = $_POST['cena'];

 

 

 

 

 

if ( $riaktiv->Typ == "anglicka" and  $cena > $tempo->Cena )  {

 

$ok = "ok";

 

}

 

if ( $riaktiv->Typ == "anglicka" and  $cena < $tempo->Cena )   { $ok ="ko";}

 

 

 

if ($riaktiv->Typ == "holandska" and  $cena < $tempo->Cena ) {

 

$ok = "ok";

 

}

 

if ($riaktiv->Typ == "holandska" and  $cena > $tempo->Cena ) { $ok ="ko";}

 

 

 

if (!is_numeric($cena)) {

 

echo "Musite zadavat iba numericke hodnoty!!!";

 

}

 

 

 

 

 

if ($ok == "ok" and is_numeric($cena)) {

 

 

 

$conn = mysql_connect("localhost", "gtm", "baselogin") or die(mysql_error());

 

$sql = "TRUNCATE TABLE temp";

 

mysql_select_db("loginbase");

 

$retval = mysql_query( $sql, $conn );

 

 

 

 

 

 

 

if ($poc == "1" ) {

 

$sql = "UPDATE auctions

 

        SET Kmin= '$posun'

 

        WHERE Status= 'active' ";

 

 

 

mysql_select_db('loginbase');

 

$retval = mysql_query( $sql, $conn );

 

if(! $retval )

 

{

 

  die('Could not update data: ' . mysql_error());

 

}

 

echo "Cas do konca aukcie navyseny o 1 minutu!<br>\n";

 

 

 

}

 

 

 

if ($poc == "1" ) {

 

$sql = "UPDATE auctions

 

        SET Kh= '$posun2'

 

        WHERE Status= 'active' ";

 

 

 

mysql_select_db('loginbase');

 

$retval = mysql_query( $sql, $conn );

 

if(! $retval )

 

{

 

  die('Could not update data: ' . mysql_error());

 

}

 

 

 

 

 

}

 

 

 

 

 

 

 

 

 

$insert = "INSERT INTO temp (Cena, User)

 

VALUES ('".$_POST['cena']."','$name')";

 

 

$add_member = mysql_query($insert);

 

 

 

 

 

    echo "$usrnm->Meno, Vasa ponuka <b> $cena </b>&euro; bola prijata.<br>";

   

 

}

 

}

 

if ($ok == "ko") {

 

 

 

echo "$usrnm->Meno, Vasa ponuka <b> $cena </b>&euro; nebola prijata...skontrolujte Vasu ponuku!<br>";

 

}

 

 

 

}

 

else {

 

echo "Aukcia je momentalne neaktivna, nemozete drazit!!!";

 

}

 

 

 

 

 

 

 

?>

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

 

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

 

<head>

 

  <title>Elektronicke aukcie ST</title>

 

  <meta name="keywords" content="elektronicke aukcie" />

 

  <meta name="description" content="elektronicke aukcie galosoft.eu" />

 

  <meta http-equiv="content-type" content="text/html; charset=UTF-8" />

 

<meta http-equiv="Cache-Control" content="Public | Private | no-cache | no-store">

 

 

  </head>

 

 

 

<body bgcolor=#f0f0f0>

 

<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">

 

   Ponuka:<input type="text" name="cena"><br>

 

Meno:<input type="text" name="name" value="<?php echo "$usrnm->Meno" ?>" disabled><br>

 

   <input type="submit" name="submit" value="Prihodit"><br>

 

</form>

 

 

 

<form method="post" action="logout.php">

  

 

   <input type="submit" name="submit" value="Odhlasit"><br>

 

</form>

 

</body>

 

</body>

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Príloha č.25: Príspevok na študentskú konferenciu

 

Software elektronickej aukcie pre Mestský úrad v Starej Turej

 

Autor: Martin Galovič

Evropský polytechnický institut, s.r.o.

 

 

 

ABSTRAKT

 

Martin GALOVIČ Software elektronickej aukcie pre Mestský úrad v Starej Turej,. Kunovice, 2013. Bakalárska práca. Evropský polytechnický institut, s.r.o.

 

Vedúcí práce: Ing. Ján VOLÁR

 

 

Kľúčové slová: informačno-komunikačné technológie, online interaktívna komunikácia, proces interaktívneho spracovania dát, databázové systémy, internetové webové rozhranie, PHP, MySQL, WWW, HTML, IT, JavaScript, online aukcie

 

 

Cieľom bakalárskej práce je vytvorenie webového online software systému elektronickej aukcie pre Mestský úrad v Starej Turej., zaručujúceho transparentnosť výberových konaní v miestnej samospráve a umožňujúceho nezávislé riadenie výberového konania. Prvá kapitola analyzuje elektronický obchod a internet všeobecne, vrátane elektornických aukcií, v oblasti elektronického obchodu a jeho prínosu, bohužial vrátane jeho negatív na prípadné zneužitie dát. Druhá kapitola analyzuje konkrétny ekonomický dopad a jeho efekty pri použití elektronických aukcií, ich jasnú výhodu, zároveŇ sa vŠak opiera aj
o prípadné nevýhody pri použití tohoto typu obchodu. Tretia kapitola analyzuje problémy novodobého požiadavku Slovenskej Republiky v oblasti elektronických aukcií, pojednáva o transparentnosti výberových konaní v slovenskej samospráve pre občanov Slovenskej Republiky a ich samosprávne kraje. Štvrtá kapitola je zameraná na analýzu a popis riešenia online elektronického modulu systému aukčnej siene, ktorého výsledná forma je riešená prostredníctvom kombinácie jednotlivých programovacích jazykov z vednej disciplíny informačných technológií. Princíp hierarchie celkového procesu správy elektronických aukcií je rozdelený do špecifikovaných podkapitol, ktoré podrobne vysvetľujú opodstatnenie použitých metód.
Štvrtá kapitola je upriamená na konkrétny návrh riešenia, implementáciu a testovanie
s kritickým pohľadom zadávateľa, ktorý analyticky zhodnocuje efektivitu navrhnutého systému, poprípade prezentuje odporúčania, obsiahnuté v záverečnej kapitole, pre vylepšenie komunikačnej úrovne pre bezproblémovú prevádzku aukčnej siene.

 

 

ABSTRACT

 

Martin GALOVIČ Electronic auction web application for Mestský úrad v Stará Turá.,. Kunovice, 2013. Bachelor thesis. Evropský polytechnický institut, s.r.o.

 

Supervisor: Ing. Ján VOLÁR

 

 

Key words: information and communication technology, online interactive communication, interactive data processing, database systems, internet web interface, PHP, MySQL, WWW, HTML, IT, JavaScript, online auctions

 

The goal of this work is to create a web software for online electronic auction system for Town Hall in Stara Tura, guaranteeing transparency of competition in local government and allowing independent management of the selection process. The first chapter analyzes the e-commerce and the internet in general, including of e-auctions in e-commerce and its benefits, including the unfortunately negative for any misuse of data. The second chapter analyzes the specific economic impact and its effects when using electronic auctions, their clear advantage, but it also relies on the possible disadvantages of using this type of trade.

The third chapter analyzes the problems of modern inquiry in Slovak Republic in the field of electronic auctions, discusses transparency in the tendering Slovak government to the citizens of the Slovak Republic and the self-governing regions. The fourth chapter focuses on the analysis and description of the solutions online electronic module of the auction house, whose final form is addressed through a combination of various programming languages ​​from the discipline of information technology. The principle of the hierarchy of the overall process of management of electronic auctions is divided, specified in sub-chapters that explain in detail the justification of the methods used. The fourth chapter is focused on the specific design, implementation and testing of the critical gaze of authority, which analytically evaluates the effectiveness of the proposed system, appropriate presents recommendations contained in the final chapter, to improve the communication levels for the smooth operation of the auction house.

 

 

Elektronické aukcie v dnešnej dobe

 

Internetová sieť je sústava vzájomne prepojených rôznych počítačov v sieti, ktoré sú postavené na spoločnej myšlienke a na rovnakých sieťových protokoloch. Metóda ich vzájomného spojenia a možnosti vzájomnej kooperácie sú, že bežný používateľ môže výsledný celok považovať za jednotný sieťový prvok.

 

Je to relatívne nedávno, čo celosvetová počítačová sieť podstúpila viaceré zmeny –
z technického moderného, pre mnohých priamo zázraku, určeného odborníkom, sa stala záležitosťou globálne masovou, prístupnou takmer každému. Stalo sa tak v priebehu toho, keď internet prevzala do rúk sféra komercie a dokázala ponúknuť internetové služby ako bežnú komoditu každému, kto je a bol ochotný za to zaplatiť. Súčasne sa sféra komercie zaslúžila o to, aby práca v internete bola maximálne zjednodušená a nevyžadovala takmer žiadne odborné zázemie, ba čo viac ani povedomie o technických princípoch, na ktorých je internetová sieť vybudovaná. Dvere internetu sa tým otvorili obrovskému zástupu  používateľov z radu bežných ľudí, ktorí sú v iných oboroch majstri, ako sú počítače, siete
a v eposlednej rade komunikácie.

 

Rozvoj internetu v súčasnosnej dobe je daný zaujímavým paradoxným javom – a to, že hlavným problémom už nie sú technológie a technická stránka fungovania tohoto spojenia a ani záležitosti z organizačnej sféry. Aj napriek istým problémom da dajú riešiť za pomoci investícií od investorov. Tie je komerčná sféra v podobe investorov ochotná poskytnúť, ak bude možné očakávať určitú návratnosť vynaložených prostriedkov je závislá konkrétne na tom, aký bude v skutočnosti záujem o internetovú sieť a predovšetkým aký veľký bude dopyt po službách na sieti. Dopyt záleží od viacero vecí, a to či a ako hlboko dokážu ľudia chápať, čo internet skutočne predstavuje, k čomu a ako by túto sieť mohli využiť a čo pozitívne by im to mohlo priniesť. Rozvoj internetovej siete momentálne závisí iba na nich, na ľuďoch.

 

Elektronický internetový obchod a rôzne formy tohoto obchodu, môžeme definovať ako akýkoľvek obchod, ktoŕy je alebo bol uskutočnený s využitím elektronických nástrojov v sieti internet. Pojem elektronický e-obchod vznikol ako idea, nemá žiadnu presnú definíciu a je používaný viac zo zvyku pre jednu z foriem využívania prenosu dát na diaľku. Je vlastne obchodom, pri ktorom dorozumievanie medzi účastníkmi prebieha z časti alebo úplne cez počítačové siete, prostredníctvom počítačovej techniky, jej príslušenstva
a v neposlednej rade aj telekomunikácií.

 

 

Internet ako podpora obchodných aktivít

 

Služby, s ktorými internetová sieť ide v ústrety obchodovaniu a podnikaniu vo všeobecnosti, sa z neho v súčasnosti stáva samozrejme najrozšírenejšia forma podpory pre podnikanie. Ide v podstate o činnosť, ktorá síce nepredstavuje samotné obchodovanie

a jeho formu, ale je pre uzatváranie zakázok potrebná. Všetci, čo chcú niečo predať, musoa dať svojim potenciálnym záujemcom vedieť o svojej aktuálnej ponuke. Mali by tiež poskytnúť všetky potrebné informácie pre prípadné rozhodnutie ku kúpe.

 

Všeobecná forma poskytovania takýchto informácií predstavuje uverejňovanie inzerátov
v periodickej tlači a masových komunikačných prostriedkoch, umiestňovanie rôznych reklám na verejné miesta, prípadné rozdávanie a rozposielanie najrôznejších reklamných materiálov a podobne. Je veľmi dôležité si uvedomiť, že takýto spôsob distribuovania je pre príjemcu často pasívny. Je celkom ťažké takúto formu distribúcie informačných materiálov presne zacieliť ku zainteresovaným užívateľom a preto často býva celkový výsledok častokrát veľmi neefektívny. V internetovej sieti je rozosielanie takýchto nevyžiadaných reklamných materiálov brané za veľmi nevhodné a nežiadúce. Nie je to dané iba akademickou tradíciou, ale taktiež spôsobom financovania v dnešnj dobe.
K distribúcii reklamných materiálov po sieti by malo dochádzať iba vtedy, ak o to príjemca sám požiada. [24, s. 32]              

 

Veľa internetových služieb dnešnej doby má taký charakter, ktorý distribúciu rôznych reklamných materiálov neumožňuje. Tieto služby potom vychádzajú z princípu, že aktivitu musí prejaviť sám používateľ.

 

Vo viacerých krajinách globálneho sveta je internet plne postavený na komerčnej báze. Prevažne viac ako je polovica užívateľov ho využíva k obchodnému účelu. Pracovníci marketingu v podnikoch patria k hlavným užívateľom internetových dát. Online marketing je čoraz častejšie považovaný za najperspektívnejší spôsob podpory pre podnikanie. Ide
o takzvanú novú disciplínu, ktorá za svoj vznik vďačí rýchlemu rozvoju internetovej siete
a hlavne jeho služby World Wide Web. Ak sa bavíme o online marketingu, tak nejde len
o samotné obchodovanie, ale aj o významnú podmienku skvalitnenia a zvýšenia jeho účinnosti u aktivít reklamného a marketingového charakteru podnikania. Internetová sieť je považovaná za najefektívnejší nástroj komunikácie na trhu a taktiež za ideálny nástroj pre vyhľadávanie budúcich zákazníkov. Dva veľmi dôležité aspekty moderného marketingu sú:

výber cieľových skupín zákazníkov,

rozvoj interaktívneho dialógu so zákazníkom.

 

 

Elektronické aukcie a nákup aukčch služieb

 

Výsledný finančný efekt používania elektronických aukcií môhol byť ovplyvnený aj tým, aké dodatočné služby nakupoval obstarávateľ od e-aukčnej spoločnosti. Pri preskúmaní súvislosti sa vychádzalo zo vzorky všetkých 32 verejných obstarávateľov. Výsledný celkový počet subjektov bol  34 preto, že jeden subjekt využil viacero typov služieb. Zistenia ukazovali, že všetci verejní obstarávatelia tieto služby nakupujú od iných, zväčša externých dodávateľov služieb, čiže interné kapacity na realizáciu elektronických aukcií boli pomerne slabé. Nakupovali sa rôzne služby, v rôznom objeme a za rôzne ceny, vzhľadom na to, že softwarové a e-aukčné spoločnosti volili odlišné stratégie pre získanie nového klienta. Verejní obstarávatelia zakázok používali najmä tri typy služieb od
e-aukčnej spoločnosti, najviac kúpa softwaru, dlhodobý rentabilný prenájom licencie
a realizáciu elektronickej aukcie na kľúč, a to až v 94 percentách prípadov testovanej vzorky. Najväčší objem sa však podľa získaných dát zaobstaral využitím služby realizovania elektronickej aukcie na kľúč, viď Graf č.3.

Graf č. 3: Typy služieb kupovaných od aukčných firiem [%].

 Zdroj: [36, s.35]

 

Pri e-aukčných službách sa skúmala výška celkových úspor pri jednotlivých službách. Do výpočtu v Grafe č.4 boli zahrnuté len úspory pri nakúpe licencie, dlhodobom prenájme takejto licencie a pri realizácii elektronickej aukcie na kľúč, keďže ostatné typy boli použité len pri dvoch vzrokových subjektoch, čo mohlo výrazne ovplyvniť štatistiku. Podľa zistení tak vychádzajú z daného súboru 692 zákazok, ktoré boli zbavené extrémnych hodnôt a zákazok s nepoužiteľnými zozbieranými dátami. Histogram umiestnený nižšie zobrazuje  najväčšie celkové aj priemerné úspory aké sa dosiahli pri dlhodobom prenájme licencie. Druhými boli úspory pri nakúpe softwaru. Najnižšie úspory sa dosiahli pri realizácii e-aukcií na kľúč, čo bolo pravdepodobne spôsobené nastavením celého
e-aukčného procesu. Ppri malých aukciách by takýto mechanizmus mohol pôsobiť ako kontraproduktívny, keďže by náklady na implementáciu prekročili úspory z realizácie elektronickej aukcie.

Graf č. 4: Typy služieb kupovaných od aukčných firiem a priemerné úspory

Zdroj: [36, s. 36]

 

 

Riešenie

 

Bakalárska práca rieši požiadavky e-aukcií na mieru definovaných štátom.  Konkrétne riešenie je ušité namieru a rieši jednotlivú aukciu a to jak anglického typu, tak holandského typu. Riešenie je veľmi elegantné a rýchle, aby zbytočne nepreťažovalo server a uživatelia tak nepociťovali nedostatok rýchlosti pri finálnom prihadzovaní, kedy už ide o sekundy.   Programový kód je napísaný v jazyku PHP, ktorý ovláda zároveň databázu SQL. V riešení tiež možno nájsť javascript a CSS kaskádové štýly. Ovládanie aukčného systému zabezpečuje jedna osoba, tak ako to bolo požadované od Mestského úradu v Starej Turej. Ovládacie menu bolo navrhnuté čo najviac user-friendly, aby sa aj menej zdatnému administrátorovi podarilo bez väčších problémov zadať do systému aukcie.   

 

 

Literatúra

 

Knihy, monografia:

[1]     SMIDEK, V.; BERIT, J.; MRÁZEK, L. PHP v příkladech. první. České Budějovice: Kopp, 2002. 115 s. ISBN 80-7232-162-5.

[2]     GLASS, M. PHP5,Mysql,Apache,Vatváříme webové aplikace. Indianapolis : Computer Press, 2006. 816 s. ISBN 80-251-1073-7.

[3]     KOSEK, J. PHP : tvorba interaktivních internetových aplikací. Praha : Grada, 1999. 492 s. ISBN 80-7169-373-1.

[4]     BRÁZA, J. PHP5 : Začínáme programovat. Praha : Grada Publishing a.s, 2005.
244 s. ISBN 80-7169-374-2.

[5]     DELISLE, M. Efektivní správa MySql. Pact Publishing, 2004. ISBN 80-86815-09-9.

[6]     CLIFTON, B. Google Analytics : Podrobný průvodce webovými statistikami. Brno : Computer Press, 2009. 336 s. ISBN 978-80-251-2231-0.

[7]     BARČÍK, T. Webová grafika : Fotografie, barvy, textury. Brno : Computer Press, 2002. 88 s. ISBN 80-7226-701-9.

[8]     HAUSER, M.; HAUSER, T.; WENZ, Ch. HTML a CSS : Velká kniha řešení. Brno : Computer Press, 2006. 912 s. ISBN 80-251-1117-2.

[9]     CROFT, J.; LLOYD, I.; RUBIN, D. Mistrovství v CSS : Pokročilé techniky pro webové designéry a vývojáře. Brno : Computer Press, 2007. 416 s. ISBN 978-80-251-1705-7.

[10]   DOMES, M. Tvorba webových stránek : Jednoduše, srozumitelně, názorně. Brno : Computer Press, 2006. 192 s. ISBN 80-251-0920-8.

[11]   DOMES, M. Tvorba internetových stránek pomocí HTML, CSS a JavaScriptu. Kralice na Hané : Computer Media s.r.o., 2005. 324 s. ISBN 80-86686-39-6.

[12]   STANÍČEK, P. CSS Kaskádové styly : Kompletní průvodce. Brno : Computer Press, 2003. 192 s. ISBN 80-7226-872-4.

[13]   CASTRO, E. HTML, XHTML a CSS : Názorný průvodce tvorbou WWW stránek. Brno : Computer Press, 2007. 440 s. ISBN 978-80-251-1531-2.

[14]   SCHAFER, S. HTML, XHTML a CSS : Bible pro tvorbu WWW stránek. Praha : Grada, 2009. 648 s. ISBN 978-80-247-2850-6.

[15]   GUTMANS, A.; BAKKEN, S. S.; RETHANS, D. Mistrovství v PHP 5. Brno :           Computer Press, 2007. 656 s. ISBN: 978-80-251-1519-0.

 

[16]   NARAMORE, E. PHP5, MySQL, Apache : Vytváříme webové aplikace. Brno :           Computer Press, 2006. 816 s. ISBN 80-251-1073-7.

[17]   KOFLER, M. Mistrovství v MySQL 5 : Kompletní průvodce webového vývojáře.           Brno : Computer Press, 2007. 808 s. ISBN 978-80-251-1502-2.

[18]   CONOLLY , T.; Carolyn, H. Mistrovství  Databáze : Profesionální průvodce tvorbou efektivních databází. Brno : Computer Press, 2009. 584 s. ISBN 978-80-251-2328-7.

[19]   KUBÍČEK, M. Velký průvodce SEO : Jak dosáhnout nejlepších pozic ve       vyhledávačích. Brno : Computer Press, 2008. 320 s. ISBN: 978-80-251-2195-5.

[20]   RAHMEL, D. Joomla! : Podrobný průvodce tvorbou a správou webů. Brno :  Computer Press, 2010. 384 s. ISBN 978-80-251-2714-8.

[21]   KRČMÁŘ, J. Adobe Photoshop : Praktický webdesign. Praha : Grada, 2006. 204 s.        ISBN 80-247-1423-X.

[22]   HOLZNER, S.; ŠINDELÁŘ, J. RSS : Automatické doručování obsahu vašich WWW stránek. Brno : Computer Press, 2007. 280 s. ISBN 978-80-251-1479-7.

[23]   POWERS, D. Dynamic Web Design Made Easy. New York : Apress company, 2006. 488 s. ISBN 978-1-59059-731-6.

[23]   KOSEK,J. PHP - tvorba interaktivních internetových aplikací. Praha : Grada, 2005. 215 s. ISBN 80-247-1424-X.

[24]   ŘEPA V. Analýza a návrh informačních systémů. Praha : Ekopress, 2008. 304 s. ISBN 80-247-1425-X.

[25]   ADAMEC, S., HORNÝ, S., ROSICKÝ, A. Projektování IS. Praha : Grada, 2004. 194 s. ISBN 80-247-1426-X.

[26]   HORNÝ, S. Analýza a návrh systémů. Praha : Grada, 2003. 287 s. ISBN 80-247-1427-X.

[27]   PRESSMAN, R. S. Software Engineering :A practitioner's approach. 5th ed. Boston: McGraw-Hill. New York : Springer-Verlag, 2007. 548 s. ISBN 988-1-59059-689-0.

[28]   SOMMERVILLE, I. Software engineering. 5th ed. Wokingham : Addison-Wesley             Publishing Company. New York : Springer-Verlag, 2004. 408 s. ISBN 978-1-59059-699-0.

[29]   DRUSKA, P. CSS a XHTML. Praha : Grada, 2001. 294 s. ISBN 80-247-1526-X.

[30]   SCHNEIDER, R. MySQL : Oficiální průvodce tvorbou, správou a laděním databází.

          Praha 7 : Grada Publishing, a.s., 2006. 372 s. ISBN 80-247-1430-X.

[31]   COLLISON, S. Begginnig CSS web development : from novice to professional. New York : Springer-Verlag, 2006. 448 s. ISBN 978-1-59059-689-0.

[32]   THAU, D. Velký průvodce Javascriptem : Tvorba interaktivních webových stránek
v praxi
. Praha 7 : Grada Publishing, a.s., 2009. 520 s. ISBN 978-80-247-2211-5.

[33]   GILFILLAN, I.; VORÁČEK, K. Myslíme v MySQL 4 : knihovna programátora.         Grada Publishing a.s., 2003. 750 s. ISBN 802470661X.

[34]   BRÁZA, J. PHP 5 : začínáme programovat. Grada Publishing a.s., 2005. 244 s.    ISBN 802471146X.

[35]   HARPER, A. Hacking : manuál hackera. Grada Publishing a.s, 2008. 399 s.      ISBN 8024713462.

[36]   SIČÁKOVÁ-BEBLAVÁ, E.; ŠATNÍKOVÁ, S; KLÁTIK,P. Elektronické aukcie vo verejnom obstarávaní. Bratislava : Adin 2011. 68s. ISBN 80-251-1073- 8.

 

 

Martin Galovič

E-mail: galotuneman@gmail.com