Untitled - Vitajte na stránkach www.einsty.hostujem.sk
Untitled - Vitajte na stránkach www.einsty.hostujem.sk
Untitled - Vitajte na stránkach www.einsty.hostujem.sk
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
P R O G R A M U J E M E<br />
ASP a databázy / 11. èas<br />
V tejto èasti dokonèíme „minitrilógiu“ venovanú vytvoreniu internetového èasopisu.<br />
Zostalo nám vyrieši jeho neverejnú, redakènú èas , t. j. formuláre a mechanizmy, prostredníctvom<br />
ktorých sa vkladajú do èasopisu nové èlánky, vykonáva administrácia autorov,<br />
rubrík a podobne.<br />
Ak sa pozrieme <strong>na</strong> <strong>na</strong>dpis, vidíme, že sme sa prepracovali už do jedenástej èasti. V predchádzajúcich<br />
èastiach bola podrobne opísaná tvorba ankety a aj verejnej, t. j. èitate¾om prístupnej<br />
èasti internetového èasopisu. Pre tých, ktorí zaèali tento seriál sledova ne<strong>sk</strong>ôr, je síce<br />
mierne problematické zoh<strong>na</strong> staršie èísla èasopisu, ale sú tu z<strong>na</strong>èné možnosti, <strong>na</strong>príklad elektronická<br />
podoba PC REVUE <strong>na</strong> CD priložených k èasopisu, príklady <strong>na</strong> webe a podobne.<br />
Redakèná èas internetového èasopisu nebude pre nás nièím novým, bude to vlastne<br />
opakovanie interakcie medzi formulármi <strong>na</strong> HTML stránkach a údajmi v databáze. V doteraz<br />
publikovaných príkladoch sme kládli dôraz <strong>na</strong> jednoduchos a názornos , a to aj <strong>na</strong><br />
úkor pohodlia používate¾a. V tejto èasti to <strong>na</strong>pravíme a pre niektoré stránky redakèného<br />
formulára ukážeme <strong>na</strong>j<strong>sk</strong>ôr minimálny funkèný kód a potom kompletný kód, ktorý je<br />
používate¾<strong>sk</strong>y „prívetivý“.<br />
V deviatej èasti sme <strong>na</strong>vrhli prototyp riešenia redakèného formulára. Prv než sa k nemu<br />
dopracujeme, musíme vyrieši autentifikáciu autorov èiže spôsob ich prihlasovania sa do<br />
redakèného systému. Prispieva do internetového èasopisu totiž môžeme umožni len èlenom<br />
redakèného kolektívu. Ako by to s èasopisom vyzeralo, keby tam mohol prispieva<br />
každý, to si urèite vieme domyslie . Preto sa do redakèného systému bude vstupova cez<br />
„autorizaènú“ stránku redakcia.html, ktorá obsahuje jednoduchý formulár <strong>na</strong> zadanie<br />
priezvi<strong>sk</strong>a autora a jeho prihlasovacieho hesla.<br />
REDAKÈNÝ SYSTÉM<br />
Autor:<br />
Heslo:<br />
Redakèný systém <br />
Redakèný systém<br />
<br />
<br />
Autor:<br />
<br />
Heslo:<br />
<br />
<br />
<br />
Takáto jednoduchá HTML stránka <strong>na</strong> prihlásenie autora do systému úplne postaèuje,<br />
ale aby sme zvýšili aj jej pedagogickú hodnotu pre èitate¾a PC REVUE, pridáme k funkènému<br />
jadru stránky redakcia.html ïalší jednoduchý formulár s textovým po¾om, do ktorého<br />
budeme vypisova nápoveï pri prechode kurzora myši po<strong>na</strong>d každé editaèné pole<br />
formulára. Výpis textu nápovede môžeme u<strong>sk</strong>utoèni pomocou <strong>sk</strong>riptového kódu <strong>na</strong> strane<br />
klienta, <strong>na</strong>príklad pomocou funkcií v JavaScripte. Funkcie AutorA() a HesloA() sú<br />
vyko<strong>na</strong>né, keï sa kurzor myši dostane <strong>na</strong>d editaèné pole <strong>na</strong> zadanie príslušnej hodnoty.<br />
Vtedy sa vypíše do pomocného textového po¾a vysvet¾ujúci text. Keï sa kurzor myši dostane<br />
mimo zadávacieho po¾a, funkcia Oz<strong>na</strong>mN() vymaže obsah pomocného textového po¾a.<br />
Redakcny system<br />
<br />
<br />
Redakèný systém<br />
<br />
<br />
Autor:<br />
<br />
Heslo:<br />
<br />
<br />
<br />
<br />
<br />
Funkènos <strong>sk</strong>riptového kódu v JavaScripte si môžeme <strong>na</strong>jjednoduchšie overi tak, že<br />
stránku redakcia.html otvoríme v náh¾adovom okne vývojového prostredia (v <strong>na</strong>šom prípade<br />
Microsoft FrontPage 2002) alebo pomocou prehliadaèa webových stránok (obr. 1).<br />
Tento formulár by sme, pochopite¾ne, mohli ïalej zdoko<strong>na</strong>¾ova , <strong>na</strong>príklad v prípade<br />
nesprávnych údajov èervenou farbou vypísa do pomocného textového po¾a oz<strong>na</strong>m, ktorý<br />
parameter zadal používate¾ nesprávne, a podobne.<br />
Po autentifikácii používate¾a <strong>na</strong> stránke<br />
redakcia.html sa zadané údaje odovzdajú<br />
<strong>sk</strong>riptovému kódu <strong>na</strong> stránke vkladanie.asp.<br />
Tento kód musí preveri , èi sú autorom zadané<br />
údaje identické s údajmi o autoroch, uloženým<br />
v databáze. Takýto jednoduchý spôsob<br />
autentifikácie pre škol<strong>sk</strong>ý internetový èasopis<br />
úplne postaèuje. Pri systémoch, kde podstatne<br />
viac záleží <strong>na</strong> bezpeènosti, <strong>na</strong>príklad pri internetbankingu,<br />
by bolo <strong>na</strong>vrhované riešenie<br />
autentifikácie, samozrejme, nedostatoèné. K<br />
procesu bezpeènejšej autentifikácie sa preto<br />
vrátime v niektorom z ïalších pokraèovaní,<br />
Obr. 1<br />
kde si ukážeme využitie objektov Session, súboru<br />
global.asa, uložených procedúr a podobne.<br />
Urèitému zjednodušeniu sa v <strong>na</strong>šom cviènom príklade nevyhli ani návrhy tabuliek.<br />
Pravidlám referenènej integrity a podmienkam zaradenia tabuliek do príslušných normálnych<br />
foriem sa takisto ešte budeme venova .<br />
Pripomeòme si <strong>na</strong>šu tabu¾ku Autori, ktorú sme <strong>na</strong>vrhli pomocou príkazu SQL:<br />
CREATE TABLE Autori<br />
(<br />
id_autora INT NOT NULL PRIMARY KEY,<br />
priezvi<strong>sk</strong>o VARCHAR(15),<br />
meno VARCHAR(15),<br />
heslo VARCHAR(8),<br />
email VARCHAR(15),<br />
statistika INT<br />
);<br />
Do tabu¾ky sme vložili dva záz<strong>na</strong>my:<br />
INSERT INTO Autori VALUES (1, 'Kuchtikova', 'Beata', 'beatka', 'b@b.<strong>sk</strong>', 0);<br />
INSERT INTO Autori VALUES (2, 'Sprtal', 'Ig<strong>na</strong>c', 'igi', 'i@i.<strong>sk</strong>', 0);<br />
Overenie údajov vykonáme pomocou jednoduchého SQL príkazu SELECT, kde pomocou<br />
podmienky v klauzule WHERE <strong>sk</strong>ontrolujeme priezvi<strong>sk</strong>o autora a súèasne aj jeho<br />
heslo, <strong>na</strong>príklad<br />
SELECT * FROM Autori WHERE priezvi<strong>sk</strong>o = 'Kuchtikova' AND heslo = 'beatka'<br />
Ak si tento príkaz <strong>na</strong>j<strong>sk</strong>ôr overíme pomocou konzoly databázového servera, zí<strong>sk</strong>ame<br />
presne taký výpis, ako oèakávame:<br />
ID_AUTORA PRIEZVISKO MENO HESLO EMAIL STATISTIKA<br />
---------- --------------- --------------- -------- ------------ ----------<br />
1 Kuchtikova Beata beatka b@b.<strong>sk</strong> 0<br />
Tento príkaz SQL musíme <strong>na</strong> stránke ASP zostavi zo zadaných údajov pomocou <strong>sk</strong>riptového<br />
kódu. V reálnej aplikácii by sme museli ešte <strong>sk</strong>ontrolova , èi používate¾om zadané<br />
údaje neobsahujú z<strong>na</strong>ky odporujúce syntaxi SQL. Kompletný výpis stránky vkladanie.asp<br />
je kombináciou <strong>sk</strong>riptového kódu a kódu HTML zadávacieho formulára:<br />
Redakcny system<br />
Pridavanie clankov<br />