1 Gymnázium a Jazyková škola s právem státní jazykové zkoušky Zlín 2010 Přepínání CSS stylů a správa ových adres The switching of CSS styles and the ...
Gymn´azium a Jazykov´a ˇskola s pr´avem st´atn´ı jazykov´e zkouˇsky Zl´ın 2010
Pˇ rep´ın´ an´ı CSS styl˚ u a spr´ ava emailov´ ych adres The switching of CSS styles and the administration of the database
z´avˇereˇcn´a pr´ace ze semin´aˇre z informatiky
Jakub Mac´ ak, IV.A
Prohl´ aˇ sen´ı Prohlaˇsuji, ˇze jsem svou z´avˇereˇcnou pr´aci vypracoval samostatnˇe a pouˇzil jsem pouze podklady (literaturu, projekty, SW atd.) uveden´e v pˇriloˇzen´em seznamu.
i
Podˇ ekov´ an´ı R´ad bych touto cestou podˇekoval panu uˇciteli Michalu Mikl´aˇsovi za vstˇr´ıcnost a cenn´e rady pˇri tvorbˇe nejen t´eto pr´ace.
ii
Abstrakt Tato pr´ace se zab´ yv´a tvorbou internetov´ ych str´anek, pˇrep´ın´an´ı jednotliv´ ych CSS styl˚ u a spr´avu jednoduch´e datab´aze registrovan´ ych uˇzivatel˚ u. V´ ysledn´a webov´a str´anka byla navrhov´ana pro reklamn´ı agenturu. Web m´a b´ yt nejen u ´ˇcinn´ y, ale mˇel by n´avˇstˇevn´ıka i zaujmout. Grafick´ y n´avrh webu popisuje m´a z´avˇereˇcn´a pr´ace z pˇredmˇetu Poˇc´ıtaˇcov´a grafika a multim´edia.
Abstract This work deals with the website creation process, the switching of CSS styles, the simple administration and the database of registred users. The website was designed for an advertising agency. Web is not only effective but it should maintain visitors’ attention. Graphic design of this website is described in the final work from the subject ”The Computer Graphics and Multimedia”.
iii
Kl´ıˇ cov´ a slova CSS, webov´a str´anka, HTML, PHP, MySQL
Vzhled webov´ ych str´anek se od dob jejich vzniku velmi zmˇenil. V dneˇsn´ı dobˇe maj´ı vzhled a funkˇcnost stejnou v´ahu; na rozd´ıl od dob minul´ ych, kdy bylo tˇreba podat n´avˇstˇevn´ıkovi pˇresn´e a pˇrehledn´e informace. Dnes m´a t´emˇeˇr kaˇzd´a spoleˇcnost svou webovou str´anku a s t´ım souvis´ı i potˇreba odliˇsit se od ostatn´ıch. To byl jeden z d˚ uvod˚ u, proˇc jsem si za svou z´avˇereˇcnou pr´aci zvolil pr´avˇe n´avrh neobvykl´e firemn´ı prezentace a pˇrep´ınaˇc CSS styl˚ u, kter´ y znamen´a konec stereotypu pro n´avˇstˇevn´ıky, a t´ım zvyˇsuje pravdˇepodobnost z´ajmu o sluˇzby. Dalˇs´ı souˇc´ast m´e pr´ace tvoˇr´ı datab´aze registrovan´ ych uˇzivatel˚ u. Pokud m´a uˇzivatel z´ajem dost´avat pravidelnˇe nab´ıdky dan´e spoleˇcnosti, staˇc´ı mu pouze zaregistrovat sv˚ uj e-mail pomoc´ı formul´aˇre. T´ım se spoleˇcnosti otev´ır´a dalˇs´ı moˇznost, jak zaujmout z´akazn´ıky. Pokud by nab´ıdky pos´ılala pravidelnˇe a byly by pln´e zaj´ımav´ ych informac´ı, je vysok´a pravdˇepodobnost, ˇze z´akazn´ık d´a pˇrednost pr´avˇe t´eto firmˇe pˇred jinou, kter´a takov´eto nadstandartn´ı sluˇzby neposkytuje.
1.2
C´ıl pr´ ace
Hlavn´ım c´ılem t´eto pr´ace je pouk´azat na moˇznosti pˇrep´ın´an´ı vzhled˚ u internetov´e str´anky, jelikoˇz mnoho web˚ u tuto moˇznost sv´ ym n´avˇstˇevn´ık˚ um nenab´ız´ı, a uk´azat odliˇsn´e technologie a postupy pˇri tvorbˇe takov´e str´anky a datab´aze.
Tvorba str´anky
2
2
Tvorba str´ anky
2.1
Layout
Pro prostˇred´ı sv´ ych webov´ ych str´anek jsem vyuˇzil r˚ uzn´e vzhledy stol˚ u – konkr´etnˇe st˚ ul teenagera, st˚ ul kutila a st˚ ul poˇc´ıtaˇcov´eho nadˇsence. Jednotliv´e pˇredmˇety na stolech pˇredstavuj´ı poloˇzky menu, pomoc´ı nichˇz se uˇzivatel na str´ance pohybuje a kter´e maj´ı urˇcitou spojitost s oborem, jak´ ym se spoleˇcnost zab´ yv´a. Pˇri navrhov´an´ı layotu1 bylo potˇreba dodrˇzet nˇekolik pravidel. Rozloˇzen´ı str´anky jsem koncipoval tak, aby kaˇzd´a ˇc´ast byla v r˚ uzn´ ych vzhledech stejnˇe vysok´a a ˇsirok´a. Proto jsem volil jednotn´e rozloˇzen´ı div˚ u2 , kter´e jsou pops´any na obr´azku n´ıˇze. Celkov´e rozmˇery webov´e str´anky jsou 655 px (v´ yˇska) na 900 px (ˇs´ıˇrka).
bot t om_l ef t
t opl i ne_r i ght s ma l l l i ne c ent er box _ r i ght
c ent er box _ l ef t _ r i ght
c ent er box _ l ef t _ l ef t
t opl i ne_l ef t
c ent er box _c ent er
bot t om_c ent er
bot t om_r i ght
Obr´azek 1: Layout s popisem div˚ u
2.2
Menu str´ anky
Jednotliv´e pˇredmˇety poloˇzen´e na stole pˇredstavuj´ı poloˇzky menu. Co dan´ y pˇredmˇet pˇredstavuje, uˇzivatel nezjist´ı hned pˇri prvn´ım pohledu na str´anku, ale aˇz tehdy, jakmile pˇrejede pˇres objekt, jak lze vidˇet na dalˇs´ım obr´azku. Tohoto efektu je doc´ıleno pomoc´ı CSS3 a vlastnosti hover. Takto vypad´a k´od pro jednu poloˇzku menu ve stylu CSS. #topline_left {background-image: url(’images/topleft.jpg’); height: 163px; width: 245px; float: left;} 1
Obr´azek 2: Poloˇzka menu pˇred a po pˇrejet´ı myˇs´ı Pomoc´ı t´emˇer stejn´eho k´odu jsou udˇel´any i dalˇs´ı poloˇzky menu. Aby ale byla str´anka zaj´ımavˇejˇs´ı, jsou pˇredmˇety a odkazy v dalˇs´ıch vzhledech r˚ uznˇe rozh´azeny. Aby bylo moˇzn´e toto udˇelat, je potˇreba pouˇz´ıt PHP4 . Pro vˇsechny tˇri styly existuje pouze jeden soubor index.php a pomoc´ı PHP m˚ uˇzeme vytv´aˇret str´anku podle potˇreb uˇzivatele. V promˇenn´e $styl je uloˇzen n´azev aktivn´ıho stylu, a tak je moˇzn´e vyrobit jednoduchou podm´ınku, kter´a n´am pr´avˇe pomoc´ı t´eto promˇenn´e vytvoˇr´ı r˚ uzn´e odkazy. ");} if ($styl=="styl_tools/styl_tools"){ print ("");} if ($styl=="styl_it/styl_it"){ print ("");} ?> V t´eto podm´ınce se n´am vyskytuje i dalˇs´ı promˇenn´a $page. Ta slouˇz´ı pro dalˇs´ı ˇca´st str´anky – div s hlavn´ım obsahem. Obsah t´eto promˇenn´e z´ısk´ame pomoc´ı fuknce $_GET n´asleduj´ıc´ım zp˚ usobem: Pot´e staˇc´ı opˇet vytvoˇrit jednoduchou podm´ınku, kter´a n´am podle zadan´ ych parametr˚ u vytiskne poˇzadovan´ y obsah. if ($page=="") { print("
Welcome
AdCompany
"); } if ($page=="packing") { print ("
Packing design
Examples
");} ... 4
Hypertext Preprocessor – Hypertextov´ y preprocesor
Pˇrep´ınaˇc styl˚ u CSS
3
4
Pˇ rep´ınaˇ c styl˚ u CSS
Jak jsem zmiˇ noval v´ yˇse, pˇrep´ınaˇc CSS styl˚ u slouˇz´ı hlavnˇe pro zpestˇren´ı uˇzivatelovy n´avˇstˇevy na str´ance. V souˇcasn´e dobˇe m˚ uˇzeme tuto funkci naj´ıt napˇr´ıklad na webov´ ych str´ank´ach mˇest a obc´ı, kde slouˇz´ı pro zpˇr´ıstupnˇen´ı str´anek vˇsem obyvatel˚ um. Nejedn´a se o pˇrehl´ıdku grafick´ ych n´avrh˚ u a novinek, ale hlavnˇe o zvˇetˇsov´an´ı nebo zmenˇsov´an´ı p´ısma, pˇrep´ın´an´ı pouze na textovou verzi apod. Jako pˇr´ıklad lze uv´est webov´e str´anky obce Tlumaˇcov http://www.tlumacov.cz/ servis/zmena_stylu.php a webov´e str´anky mˇesta Otrokovice http://www.otrokovice.cz (odkaz vpravo nahoˇre – pˇr´ıstupn´ y web). Existuje nˇekolik moˇznost´ı, jak lze pˇrep´ın´an´ı realizovat. R´ad bych jednotliv´e moˇznosti alespoˇ n struˇcnˇe popsal a zamˇeˇril se hlavnˇe na vyuˇzit´ı PHP, pomoc´ı kter´eho funguje pˇrep´ın´an´ı i na m´ ych webov´ ych str´ank´ach.
3.1
Pˇ rep´ın´ an´ı v prohl´ıˇ zeˇ ci
Prvn´ı moˇznost´ı je pˇrep´ın´an´ı vzhled˚ u pˇr´ımo pomoc´ı webov´eho prohl´ıˇzeˇce. Tato moˇznost je dle m´eho n´azoru pro uˇzivatele nejm´enˇe pˇr´ıjemn´a a nav´ıc ne moc lid´ı o t´eto volbˇe v´ı. Nav´ıc ne vˇsechny prohl´ıˇzeˇce (Internet Explorer) tuto funkci uˇzivateli nab´ız´ı. Pokud ale chceme toto pˇrep´ın´an´ı pouˇz´ıt, mus´ıme jej zaznamenat do hlaviˇcky webov´e str´anky. V m´ıstˇe, kde pˇripojujeme ˇsablonu CSS, zmˇen´ıme atribut rel="stylesheet" na rel="alternate stylesheet". Mus´ıme pouˇz´ıt tak´e atribut title, ve kter´em bude naps´an n´azev dan´eho stylu. Ten se bude tak´e zobrazovat pˇri v´ ybˇeru v prohl´ıˇzeˇci. Fin´aln´ı zdrojov´ y k´od by mohl vypadat asi takto: ...
3.2
Pˇ rep´ın´ an´ı pomoc´ı JavaScriptu
Dalˇs´ı moˇznost jak zrealizovat pˇrep´ın´an´ı styl˚ u je pomoc´ı JavaScriptu5 . Zde by bylo na m´ıstˇe vysvˇetlit rozd´ıl mezi PHP a JavaScriptem. Program v JavaScriptu se spouˇst´ı aˇz po staˇzen´ı WWW str´anky z internetu – na stranˇe klienta, kdeˇzto PHP pracuje na stranˇe serveru a uˇzivateli je pˇren´aˇsen aˇz koneˇcn´ y v´ ysledek. V JavaScriptu bohuˇzel programovat neum´ım, chtˇel jsem pouze na tuto moˇznost upozornit. Na internetu existuje mnoho hotov´ ych pˇr´ıklad˚ u, kter´e lze pouˇz´ıt pˇr´ımo na sv´ ych webov´ ych str´ank´ach. Jeden takov´ y postup vyˇsel na serveru Interval, na adrese http://interval.cz/ clanky/alternativni-styly-zmena-stylu-pomoci-javascriptu/.
3.3
Pˇ rep´ın´ an´ı pomoc´ı PHP
Pˇrep´ın´an´ı styl˚ u pomoc´ı PHP jsem pouˇzil pro sv´e str´anky. Ve sv´e pr´aci vyuˇz´ıv´am cookie6 a jednoduch´ y formul´aˇr pro v´ ybˇer stylu. 3.3.1
Vytvoˇ ren´ı formul´ aˇ re
Aby si uˇzivatel mohl poˇzadovan´ y styl vybrat, je potˇreba vytvoˇrit jednoduch´ y formul´aˇr. Pro v´ ybˇer stylu jsem zvolil poloˇzky typu radio. Formul´aˇr jsem um´ıstil do divu v prav´em horn´ım 5 6
multiplatform´ı, objektovˇe orientovan´ y skriptovac´ı jazyk mal´e moˇzstv´ı dat, kter´ a server poˇsle prohl´ıˇzeˇci, kter´ y je uloˇz´ı na poˇc´ıtaˇci uˇzivatele
Pˇrep´ınaˇc styl˚ u CSS
5
rohu str´anky. Takto vypad´a jedna poloˇzka formul´aˇre. IT style D´ale je tˇreba vytvoˇrit input typu submit. Ten slouˇz´ı pro potvrzen´ı vybran´e informace. D˚ uleˇzit´ y je tak´e atribut name, kter´ y je tˇreba pro dalˇs´ı zpracov´an´ı formul´aˇre. Nyn´ı formul´aˇr zpracujeme pomoc´ı PHP. Metodou POST z´ısk´ame informace o tom, co se stane po kliku na tlaˇc´ıtko submit. Pokud se tedy hodnota promˇenn´e $odeslatformular rovn´a ˇretˇezci submit, pak uloˇz´ıme do promˇenn´e $styl n´azev stylu, kter´ y si uˇzivatel zvolil. Pokud uˇzivatel ˇz´adn´ y styl nevybere, uloˇz´ı se do t´eto promˇenn´e styl_it. 3.3.2
Uloˇ zen´ı do cookie
Aby tedy bylo moˇzn´e uchovat n´azev vybran´eho stylu i pro dalˇs´ı prohl´ıˇzen´ı str´anky nebo pro dalˇs´ı n´avˇstˇevu uˇzivatele, je potˇreba tuto informaci uloˇzit do cookie; ta se skl´ad´a z nˇekolika ˇc´ast´ı. setCookie ("n´ azev", "hodnota", doba trv´ an´ ı, "cesta", "server"); V m´e pr´aci m´a cookie n´asleduj´ıc´ı podobu: setCookie("csscookie", $styl,
time()+3600*24*365, "/", "", 0);
Ze zadan´ ych hodnot tedy vypl´ yv´a, ˇze se do t´eto cookie uloˇz´ı promˇen´a $styl na dobu jednoho roku. T´ım p´adem m˚ uˇze uˇzivatel ze str´anky odej´ıt a pˇri jeho dalˇs´ı n´avˇstˇevˇe se vybere posledn´ı zvolen´ y styl. Na zaˇca´tku PHP skriptu prob´ıh´a kontrola, kter´a ovˇeˇruje, zda takov´a informace existuje. 3.3.3
V´ ybˇ er poˇ zadovan´ eho CSS souboru
V´ ybˇer poˇzadovan´eho CSS souboru uˇz tedy nebude probl´em. Do atributu href se vyp´ıˇse promˇenn´a $styl, kter´a odkazuje na sloˇzku s dan´ ym CSS pˇredpisem a obr´azky.
3.4
Dalˇ s´ı zpracov´ an´ı webov´ e str´ anky
Funguj´ıc´ı webov´a str´anka je t´emˇeˇr hotov´a. Probl´em by mohl nastat v pˇr´ıpadˇe, ˇze by bylo vloˇzeno pˇr´ıliˇs mnoho textu. V u ´vahu by tedy pˇrich´azela dvˇe ˇreˇsen´ı. Prvn´ı, kter´e dle m´eho n´azoru nen´ı ’ pˇr´ıliˇs ˇst astn´e ani dobˇre vypadaj´ıc´ı je pouˇzit´ı CSS pˇredpisu overflow: auto. V tomto pˇr´ıpadˇe by se na prav´ y okraj str´anky um´ıstila rolovac´ı liˇsta, kter´a by n´am umoˇzn ˇovala se v textu pohybovat. Druh´e, asi lepˇs´ı ˇreˇsen´ı by bylo pouˇzit´ı str´ankov´an´ı. Text bychom si mohli rozdˇelit na urˇcit´e u ´seky a ty pot´e pomoc´ı PHP tisknout do tohoto divu. Vespod by se pak nach´azelo str´ankov´an´ı, kter´ ym by uˇzivatel pˇrep´ınal str´anky.
Datab´aze e-mailov´ ych adres
4
6
Datab´ aze e-mailov´ ych adres
Dalˇs´ı souˇc´ast´ı m´e z´avˇereˇcn´e pr´ace bylo vytvoˇrit syst´em, kam by se mohli registrovat uˇzivatel´e, jenˇz maj´ı z´ajem dost´avat aktu´aln´ı zpr´avy e-mailem a administrace t´eto datab´aze.
4.1
N´ avrh administraˇ cn´ıho prostˇ red´ı
Pro administraˇcn´ı a registraˇcn´ı prostˇred´ı jsem vyuˇzil podobn´eho layoutu jako na hlavn´ıch str´ank´ach webu. Toto prostˇred´ı jsem pouze barevnˇe odliˇsil a vytvoˇril nov´ y banner, kter´ y n´as informuje o tom, ˇze se nach´az´ıme v jin´e sekci webu. Pro spr´avn´e fungov´an´ı syst´emu bylo tˇreba vytvoˇrit nˇekolik speci´aln´ıch str´anek. Prvn´ı je pro uˇzivatele – registrace. Dalˇs´ı jsou pak pro obsluhu syst´emu – tedy pˇrihlaˇsovac´ı str´anka, samotn´a datab´aze, n´apovˇeda a formul´aˇr pro zamˇestnance, kteˇr´ı se nemohou do syst´emu pˇrihl´asit, jelikoˇz neznaj´ı heslo. V kaˇzd´e str´ance se nach´az´ı i jin´e menu s poloˇzkami, kter´e dan´ y uˇzivatel potˇrebuje.
4.2
Registrace z´ akazn´ıka
Nejdˇr´ıve bych se chtˇel zamˇeˇrit na formul´aˇr, kter´ ym se potenci´aln´ı z´akazn´ık zaregistruje do syst´emu. Na tuto str´anku se dostane po kliknut´ı na odkaz Registration v prav´em horn´ım rohu hlavn´ı str´anky, hned nad pˇrep´ınaˇcem CSS styl˚ u. Na t´eto str´ance se nach´az´ı formul´aˇr, pomoc´ı kter´eho se z´akazn´ık zaregistruje. Vyˇzadov´an je po nˇem jen e-mail. Po zad´an´ı poloˇzek do formul´aˇre a kliknut´ı na tlaˇc´ıtko submit se informace odeˇslou. Vˇse je ˇreˇseno pomoc´ı metody POST. Jednotliv´e poloˇzky se uloˇz´ı do promˇenn´ ych a d´ale se kontroluj´ı. Je tak´e zapotˇreb´ı zm´ınit, ˇze ve chv´ıli, kdy uˇzivatel stiskne tlaˇc´ıtko submit, probˇehne pˇripojen´ı k datab´azi pomoc´ı funkce connect_to_dtb ($link) s parametrem $link. Tato funkce se nach´az´ı ve speci´aln´ım souboru utils.php, kde jsou z´akladn´ı funkce uloˇzeny. Tato str´anka je pak zavol´ana pomoc´ı funkce require("utils.php");. Nyn´ı ale zpˇet ke zpracov´an´ı formul´aˇre. Nejprve jsou vˇsechny hodnoty oˇciˇstˇeny o zbyteˇcn´e mezery z obou stran pomoc´ı funkce trim. Jelikoˇz vyˇzadujeme pouze e-mailovou adresu, budeme kotrolovat jen ji, a to postupnˇe pomoc´ı nˇekolika podm´ınek. Samozˇrejmˇe nesm´ı b´ yt adresa pr´azdn´a. Pokud se tak stane, vyp´ıˇseme uˇzivateli varovnou zpr´avu a data neodeˇsleme. Dalˇs´ı podm´ınkou je spr´avn´ y tvar adresy. To ˇreˇs´ıme funkc´ı check_email, opˇet uloˇzenou v souboru utils.php. Tuto funkci jsem nevymyslel s´am, ale pouˇzil jsem hotov´ y pˇr´ıklad[1]. Pokud promˇenn´a projde i pˇres tuto podm´ınku, zb´ yv´a n´am zkontrolovat, jestli zadan´ y e-mail jiˇz nen´ı v datab´azi. Spoˇc´ıt´ame tedy vˇsechny uloˇzen´e adresy a pokud se ˇza´dn´a takov´a v datab´azi nevyskytuje, m˚ uˇzeme data uloˇzit 7 a to pomoc´ı PHP a MySQL pˇr´ıkazu mysql_query a INSERT INTO. Uˇzivateli nakonec vyp´ıˇseme informaci o u ´spˇeˇsn´em uloˇzen´ı a ukonˇc´ıme spojen´ı s datab´az´ı.
4.3 4.3.1
Administrace adres Pˇ r´ıhl´ aˇ sen´ı
Aby se uˇzivatel mohl dostat k administraci adres, je po nˇem vyˇzadov´ano heslo. Cel´ y postup je realizov´an skriptem Page Password Protect 2.13[2]. V PHP poli je uloˇzeno heslo, pomoc´ı kter´eho se uˇzivatel pˇrihl´as´ı. Na m´ ych str´ank´ach je tˇreba zadat heslo 123456. Pokud zad´a spr´avn´e u ´daje, tato informace se uloˇz´ı do cookie, vˇse je vˇsak zaˇsifrov´ano funkc´ı md5. D´ale 7
datab´ azov´ y syst´em
Datab´aze e-mailov´ ych adres
7
se pak pˇresmˇeruje str´anka pˇr´ımo na tabulku, kde se vyp´ıˇs´ı vˇsichni registrovan´ı uˇzivatel´e, coˇz provede funkce header(’Location: ’);. 4.3.2
Obsluha syst´ emu
Po pˇrihl´aˇsen´ı se tedy uˇzivatel dost´av´a do samotn´e datab´aze. Zde m´a nˇekolik moˇznost´ı, co bude s tabulkou dˇelat. Data m˚ uˇze seˇrazovat podle ID, mˇenit informaci o z´as´ıl´an´ı e-mailu nebo uˇzivatele u ´plnˇe smazat. Adresy si m˚ uˇze tak´e otevˇr´ıt v nov´em oknˇe, aby je mohl jednoduˇseji vloˇzit do poˇstovn´ıho klienta a rozeslat zpr´avy. Rozvrˇzen´ı tabulky zn´azorˇ nuje n´asleduj´ıc´ı obr´azek: ř a z ení podl eI D
pos í l á ní ema i l ů
s ma z á ní
s t r á nk ov á ní e x por ta dr es
Obr´azek 3: Rozvrˇzen´ı tabulky Cel´a tabulka pˇredstavuje pr´avˇe jednu tabulku datab´aze, kter´a se jmenuje registred users email. Zde se nach´azej´ı stejn´e atributy, konkr´etnˇe id, name, surname, email, adress, company, sending emails a del. Tabulka se vypisuje postupnˇe, a to d´ıky promˇenn´e $html, kter´a se vyp´ıˇse aˇz ke konci cel´eho skriptu. Pokud chce uˇzivatel nˇekterou hodnotu mˇenit, staˇc´ı na ni kliknout. Vˇsechny obr´azky jsou proto odkazy. Kadˇzy ´ odkaz si v URL nese potˇrebn´e informace. Nejdˇr´ıvˇe bych popsal skript obsluhuj´ıc´ı seˇrazov´an´ı podle ID. Pomoc´ı funkce $_GET z´ısk´am promˇennou $sort. Pokud se zde takov´a promˇenn´a nevskytuje, nastav´ım v´ ychoz´ı hodnotu promˇenn´e $razeni na ASC8 . Pokud uˇzivatel klikne na jednu z ikonek pro seˇrezov´an´ı, poˇsle se hodnota pˇres URL nastaven´a v odkazu obr´azku a aktualizuji datab´azov´ y pˇr´ıkaz ORDER BY, podle kter´eho se upˇresˇ nuje v´ ybˇer dat z datab´aze. Je nutn´e pos´ılat tuto promˇennou i v situac´ıch, kdy mˇen´ım informace o pos´ıl´an´ı e-mailu nebo maˇzu z´aznam, protoˇze chci, aby ˇrazen´ı z˚ ustalo stejn´e jako pˇred vykon´an´ım tohoto poˇzadavku. Dalˇs´ı ovladatelnou poloˇzkou je zmˇena informace o pos´ıl´an´ı e-mailu. Zde je princip podobn´ y. if (!MyIsNull($sending_emails) and !MyIsNull($id)) { if ($sending_emails==0) { $sending_emails=1; }else{ $sending_emails=0; } $sqry=("UPDATE registred_users_email SET sending_emails=".$sending_emails." WHERE id=".$id." LIMIT 1"); $vysledek=mysql_query($sqry); MySQL_Select_DB($maindatabase); sqlr=MySQL_Query($sqry); 8