Středoškolská odborná činnost 2007/2008. Naprogramování webové ankety pomocí jazyka PHP a databáze MySQL
|
|
- Milena Brožová
- před 8 lety
- Počet zobrazení:
Transkript
1 Středoškolská odborná činnost 2007/2008 Obor 18 Informatika Naprogramování webové ankety pomocí jazyka PHP a databáze MySQL Autor: Jan Tvrdík Ročník: kvinta Škola: Cyrilometodějské gymnázium, Komenského 17, Prostějov Místo zpracování: Prostějov Konzultant práce: Mgr. Ivana Matyášková Vedoucí práce: Mgr. Ivana Matyášková
2 Prohlašuji tímto, že jsem soutěžní práci vypracoval samostatně pod vedením Mgr. Ivany Matyáškové a uvedl v seznamu literatury veškerou použitou literaturu a další informační zdroje včetně internetu. V Prostějově dne vlastnoruční podpis autora 2
3 Anotace Cílem práce bylo naprogramovat modul webové ankety, který by neomezoval pokročilé tvůrce webu a umožnil jim rychle a snadno dosáhnout požadovaného cíle. Zatímco začátečník si vystačí s nějakou free anketou 1, pokročilý tvůrce webu chce více. Nechce být ničím omezován a chce mít maximální možnou kontrolou nad tím, co se děje. Modul, který jsem naprogramoval, se snaží těmto cílům co nejvíce přiblížit. Za pokročilého tvůrce webu lze považovat toho, kdo absolvoval tutoriál na linuxsoftu 2 nebo má ekvivalentní znalosti (nebo samozřejmě vyšší). Neměla by mu činit problém práce s MySQL a s následným zpracováním výsledků na straně PHP. Znalost HTML považuji za samozřejmost. Aplikaci může použít i méně pokročilý tvůrce webu, ale nedokáže z ní vytěžit to, co pokročilý, a v některých případech by pro něj bylo lepší využít výše zmiňovaných služeb třetích stran. 1 Např. český služba 2 Nejlepší český PHP tutoriál 3
4 Obsah Anotace... 3 Obsah Úvod Metodika Vysvětlení základních pojmů Stručné vysvětlení komunikace na internetu Příklad http požadavku Příklad http odpovědi Instalace modulu Teoretická část Požadavky na můj anketní modul Rozvržení architektury Struktura dat v databázi Rozdělení úkolů skriptům Struktura administračního rozhraní Praktická část Hlavní konfigurační soubor (config.php) Výpis ankety (anketa.php) Hlasovací skript (hlasuj.php) Ukázky použití Tvorba ankety Tvorba vlastní šablony Vložení vytvořené ankety do stránky Závěr Použité zdroje
5 1 Úvod Ve svých 12-ti letech jsem se poprvé začal zabývat tvorbou webových stránek. Toto odvětví mě natolik zaujalo, že jsem se jím začal zabývat hlouběji a hlouběji. V současné době obstojně zvládám (X)HTML, CSS, PHP a základy JavaScriptu. Vím, co je to validita, sémantika, přístupnost, typografie, SEO i SEM. Internet je věc, která k 21. století neodmyslitelně patří. Téměř každý mladý člověk ve vyspělých státech světa má k němu přístup. Již dávno to není jen výsada hrstky nadšenců. Nyní může ovlivnit obsah internetu úplně každý. Této možnosti využívá stále více a více lidí a mít vlastní stránky či alespoň blog už je v současné době běžná záležitost. Pokud máte vlastní stránky, obvykle chcete dát čtenářům možnost na obsah reagovat. Jedním z nejjednodušších a nejpoužívanějších řešení je bezpochyby anketa. Existuje několik způsobů, jak dostat anketu na stránky. První, nejjednodušší způsob (určený hlavně začínajícím tvůrcům webu) je využít některé ze zdarma nabízených služeb na internetu. Jak už to tak ale bývá, co je zadarmo, má své omezení. Upravit vzhled ankety, aby ladil s ostatním obsahem vašeho webu, může být poměrně tvrdý oříšek. Druhý způsob, který nám umožní dokonalé přizpůsobení ankety našim představám, je naprogramovat si anketu sám. To je ale poměrně pracné a časově náročné a hlavně ne každý to zvládne. Já se proto pokusím představit řešení, které je kompromisem obou výše uvedených možností. Modul, který jsem naprogramoval je navržen tak, aby ho dokázal použít každý mírně pokročilý programátor webových stránek, a vzhled takto vytvořené ankety lze pomocí šablon takřka libovolně modifikovat. 5
6 2 Metodika Anketa je prvek dynamický, a proto dynamické musí být i technologie pro její tvorbu použité. Jako nejvhodnější se mi jeví jazyk PHP. Pro ukládání dat jsem zvolil databázi MySQL, která se s PHP výborně rozumí. Použití (X)HTML 3, CSS 4 a případně JavaScriptu 5 považuji za nezbytnou samozřejmost. Celá aplikace byla naprogramována ve výborném, zdarma dostupném editoru PSPad Testovací server byl složen z Apache , PHP a MySQL Testována byla v internetovém prohlížeči Firefox 2.0 s rozšířením Web Developer 10 a Firebug 11, Opera 9.23, Internet Explorer 6, Internet Explorer 7 a Konqueror Zkratka anglického extensible hypertext markup language rozšiřitelný hypertextový značkovací jazyk 4 Zkratka pro anglický název Cascading Style Sheets, česky tabulky kaskádových stylů 5 Multiplatformní, objektově orientovaný skriptovací jazyk používaný při tvorbě webových stránek 6 Zdarma ke stažení z 7 Zdarma ke stažení z 8 Zdarma ke stažení z 9 Zdarma ke stažení z 10 Zdarma ke stažení z 11 Zdarma ke stažení z 12 Internetový prohlížeč pro Linux zdarma ke stažení z 6
7 3 Vysvětlení základních pojmů PHP je skriptovací programovací jazyk používaný především pro tvorbu webových aplikací. Je vyhodnocován na straně serveru (např. Apache) a uživateli je posílán až výsledek. PHP je nezávislé na použitém operačním systému. MySQL je pravděpodobně nejpoužívanější databázový systém na webu. Syntaxe vychází z obecného SQL jazyka. Stejně jako PHP je nezávislá na použitém operačním systému. Apache je webový server. 3.1 Stručné vysvětlení komunikace na internetu Komunikace mezi uživatelem (internetovým prohlížečem) a vzdáleným serverem probíhá pomocí protokolu http 13. Prohlížeč pošle požadavek webovému serveru. Ten jej zpracuje (např. pokud se jedná o PHP skript, tak jej předá interpretu PHP) a společně s odpovědní hlavičkou pošle výsledek zpět prohlížeči. Prohlížeč si odpověď přečte a zobrazí výsledek uživateli Příklad http požadavku GET / HTTP/1.1 Host: example.com User-Agent: Opera/9.02 (Windows NT 5.0; U; en) Accept: application/xhtml+xml,text/html;q=0.9,image/png Accept-Charset: windows-1250,utf-8;q=0.7,*;q= Příklad http odpovědi HTTP/1.x 200 OK Date: Sat, 29 Mar :38:39 GMT Server: Apache/2.2.3 (CentOS) Content-Length: 438 Connection: close Content-Type: text/html; charset=utf-8 13 Hypertext Transfer Protocol 7
8 4 Instalace modulu Instalace modulu probíhá pomocí skriptu instalace.php. Pokud modul není nainstalován, tak skript index.php automaticky na instalaci přesměruje. Celý proces trvá velmi krátce a spočívá v zadání několika nezbytných informací: Položka Vysvětlení Obvyklé hodnoty pro domácí server Host Informace přidělená poskytovatelem hostingu Localhost Přihlašovací jméno Jméno k připojení k databázi root Přihlašovací heslo Heslo k připojení k databázi Jméno databáze Jméno používané databáze 14 libovolné Tabulka anketa Tabulka odpovědí Tabulka hlasů Tabulka šablon Heslo do administrace Heslo znovu Jméno tabulky obsahující obecné informace o anketách Jméno tabulky obsahující možné odpovědi na anketní otázku Jméno tabulky obsahující záznamy všech hlasování Jméno tabulky obsahující informace o šablonách Heslo používané k přihlášení do administrace anket Stejné jako předchozí, slouží pro kontrolu správnosti ankety odpovedi hlasy sablony Libovolné Stejné jako předchozí 14 Skript předpokládá již existující databázi 8
9 5 Teoretická část 5.1 Požadavky na můj anketní modul První a velmi podstatnou věcí, kterou je dobré znát, než se pustím do vlastního programování, je vědět, co chceme naprogramovat. V mém případě půjde o modul webové ankety. V praxi to znamená, že musí být snadno přizpůsobitelný. Proto bude vlastní anketa vykreslováno pomocí šablony, kterou si bude moci uživatel vytvořit a následně upravit. O samotný chod ankety se bude starat jen minimum skriptů. Většina z nich se bude starat o uživatelské rozhraní, které by mělo dokázat: Vytvořit novou anketu Upravit existující anketu Smazat existující anketu Vytvořit novou šablonu Upravit existující šablonu Smazat existující šablonu Celé uživatelské rozhraní musí být samozřejmě chráněné heslem, aby nějaký nudící se uživatel nezačal ankety mazat. Jednou z dalších věcí, které nesmíme opomenout, je ochrana proti opakovanému hlasování (viz 6.3). 5.2 Rozvržení architektury Většina dat bude ukládána v databázích (jen šablony budou ukládány do adresáře, protože půjde o PHP skripty). Konkrétně nám půjde o anketní otázku možné odpovědi na danou otázku nastavení ankety doba blokace a použitá šablona hlasy kdy jaká IP adresa hlasovala v jaké anketě jméno, popis a adresář (ve kterém je šablona uložena) šablony 9
10 5.2.1 Struktura dat v databázi Tabulka ankety Tabulka ankety obsahuje základní informace o každé anketě. Ke každé anketě náleží právě jeden řádek. idankety jednoznačný identifikátor každé ankety hojně používaný ve většině skriptů otazka otázka pokládaná v anketě ochrana počet sekund, po které nebude možné znovu hlasovat v dané anketě z jedné IP adresy sablona identifikátor šablony (v tabulce sablony), kterou daná anketa používá datum obsahuje časové razítko s datem poslední modifikace ankety Sloupec Typ Nulový Výchozí Extra Indexy idankety smallint(3) ne auto_increment primární klíč otazka varchar(255) ne ochrana bigint(20 ne sablona smallint(3) ano 1 datum int(12) ne 10
11 Tabulka odpovedi Tabulky odpovedi obsahuje seznam všech možných odpovědí na všechny ankety. Ke každé anketě náleží alespoň dva řádky. id jednoznačný identifikátor dané odpovědi anketa určuje, ke které anketě daná odpověď patří odpoved jedna z možností, jak odpovědět v dané anketě hlasu počet lidí, kteří zvolili danou odpověď Sloupec Typ Nulový Výchozí Extra Indexy id smallint(6) ne auto_increment primární klíč anketa smallint(3) ne odpoved varchar(255) ne hlasu mediumint(9) ano 0 11
12 Tabulka hlasy Tabulka hlasy obsahuje jeden řádek pro každé hlasování, takže na jednu anketu připadá neomezený počet řádků. idhlasu jednoznačný identifikátor každého hlasu idankety jednoznačně přiřazuje každý hlas k jedné anketě ip IP adresa, ze které hlasování proběhlo cas obsahuje přesný čas hlasování ve formě časového razítka Sloupec Typ Nulový Výchozí Extra Indexy idhlasu int(10) ne auto_increment primární klíč idankety smallint(3) ne ip varchar(30) ne unikátní klíč cas int(12) ne 12
13 Tabulka sablony Tabulka sablony obsahuje základní informace o šablonách. Obsahuje jméno, popis a jméno adresáře, ve kterém je šablona uložena. idsablony obsahuje jednoznačný identifikátor dané šablony jmeno obsahuje slovní pojmenování šablony adresar obsahuje jméno adresáře, ve kterém je šablona uložena; povoleny jsou pouze písmena anglické abecedy a čísla Sloupec Typ Nulový Výchozí Extra Indexy idsablony smallint(2) ne auto_increment primární klíč jmeno varchar(50) ne adresar varchar(50) ne unikátní klíč popis varchar(255) ano nic 13
14 5.2.2 Rozdělení úkolů skriptům Nyní se stručně podíváme na funkce některých důležitých skriptů. config.php skript načítaný všemi ostatními skripty. Má na starost nastavení sessions, připojení k databázi a definici spousty základních funkcí (více o souboru config.php viz 6.1) index.php stará se o přihlašování anketa.php po přijetí parametru idankety vekreslí požadovanou anketu (více viz 6.2) hlasuj.php má na starost provedení vlastního hlasování (více viz 6.3) nova-anketa.php, upravit-anketu.php, smazat-anketu.php skripty starající se o vkládání, úpravu a smazání ankety nova-sablona.php, upravit-sablonu.php, smazat-sablonu.php skripty starající se o vkládání, úpravu a smazání šablony instalace.php jediný skript, který nenačítá config.php. Je naprosto nezávislý na ostatních skriptech a staré se o prvotní instalaci anketního modulu (vytvoří tabulky a config.php) Struktura administračního rozhraní Při vstupu do administračního rozhraní jste uvítání velmi jednoduchým přihlašovacím dialogem, který naznačuje jednoduchost celého rozhraní. Přihlášení je odesláno skriptu prihlas.php (u výkonných skriptů PHP používám imperativ 15 ). Pokud zadáte heslo správně, jste přesměrování na seznam anket. Pokud ho zadáte špatně, jste přesměrování na info.php a následně zpět na index.php. Aby se zabránilo opakovanému posílání dat (při obnovení stránky) je celá aplikace napsána metodou: Zobrazení rozhraní => výkonný skript PHP => přesměrování na info.php nebo na stránku, kam si uživatel přeje směřovat. 15 rozkazovací způsob 14
15 6 Praktická část Nyní se detailněji podíváme na některé důležité skripty. 6.1 Hlavní konfigurační soubor (config.php) První a také nejpoužívanější skript, na který se detailněji podíváme, je config.php. Jeho úkolem je spustit podporu sessions (řádek 2), připojit se k databázi (řádek 7 25) a definovat pár funkcí (řádek 27 90). Nastavení sessions je velmi jednoduché, takže ho není třeba dále vysvětlovat. Připojení k databázi už je věc podstatně složitější. Nejprve jsou všechny přihlašovací hodnoty uloženy do proměnných. Pokud je chceme změnit, není nic jednoduššího, než skript otevřít a hodnoty proměnných upravit. Za standardních podmínek by vše mělo proběhnout bez problému, ale je potřeba počítat i s možností náhlého výpadku databáze. V takovém případě je celý běh skriptu ukončen a vypsána informační hláška (Nemá smysl pokračovat, protože všechny skripty ke svému běhu databázi potřebují.). Pokud připojení k databázi proběhne bez problému, jsou nadefinována jména tabulek, která jsou využívány všemi skripty při práci s databází. Pokud by se pro názvy tabulek nepoužívaly proměnné (byly by nastaveny ve skriptech natvrdo), byla by pak jejich pozdější změna velmi náročná. Proto je vhodné používat pro názvy tabulek proměnné už od začátku. 001 <?php 002 session_start(); //Nastavení hesla pro přihlášení do administrace 005 define("heslo","6e017b5464f820a6c1bb5e9f6d711a667a80d8ea"); //Definice přihlašovacích proměných 008 $SQL_HOST = "localhost"; 009 $SQL_USERNAME = "root"; 010 $SQL_PASSWORD = ""; 011 $SQL_DBNAME = "anketa"; //Připojení k databázi = mysql_connect("$sql_host","$sql_username","$sql_password"); 015 if(!$spojeni) 016 die("nepodařilo se připojit k DB:<br />". mysql_error()); 017 if(!mysql_select_db("$sql_dbname",$spojeni)) 15
16 018 die("nepodařilo se zvolit DB:<br />". mysql_error()); 019 mysql_query("set NAMES utf8"); //kvůli problémům s kódováním //Definice tabulek 022 define("ankety","ankety"); 023 define("odpovedi","odpovedi"); 024 define("hlasy","hlasy"); 025 define("sablony","sablony"); Další velmi podstatnou věcí, o kterou se config.php stará, je definice často používaných funkcí. Pokud bychom je chtěli změnit, stačí nám provést změnu na jednom místě a tím se vše opět usnadní. Jednou z velmi často používaných funkcí (vyplývá z rozvržení architektury) je přesměrování. Podle specifikace, by se mělo přesměrovávat absolutním URL (funguje i relativní). V PHP naštěstí není problém si napsat funkci, která nám převede relativní URL na absolutní. 027 //Definice funkcí 028 function VratAbsolitniUrl($url) 029 { 030 //kontrola, jestli už url není absolutní 031 if(ereg("^( $url)) 032 return $url; //případné doplnění chybějícího úvodního lomítka 035 if(!ereg("^/", $url)) 036 $url = "/$url"; $cesta = substr($_server["script_name"], 0, strrpos($_server["script_n AME"],"/")). $url; 039 return " $_SERVER["SERVER_NAME"]. $cesta; 040 } function presmeruj($cil) 043 { 044 header("location: ". VratAbsolitniUrl($cil)); 045 exit(); 046 } 047 Velmi často je také potřeba informovat uživatele o průběhu akce. K tomuto účelu slouží následující dvě funkce a skript info.php. Můžete si také všimnout, že funkce se 16
17 využívají vzájemně i v tomto skriptu. Funkce ZobrazInfo používá funkci VratAbsolitniUrl a funkci presmeruj. 048 //Zobrazí text na aktuální stránce 049 function ZobrazZpravu($text, $color = false) 050 { 051 if($color) $style = " style=\"color: $color;\""; 052 else $style = NULL; echo " <div class=\"zprava\"$style>\n"; 055 echo " $text\n"; 056 echo " </div>\n"; 057 } //Zobrazí text za pomocí info.php 060 function ZobrazInfo($zprava, $reload_url = false, $reload_time = false, $b arva = false) 061 { 062 if($zprava) $_SESSION["zprava"] = $zprava; 063 if($reload_url) $_SESSION["reload_url"] = VratAbsolitniUrl($reload_url ); 064 if($reload_time) $_SESSION["reload_time"] = $reload_time; 065 if($barva) $_SESSION["barva"] = $barva; 066 presmeruj("/info.php"); 067 } Z hlediska bezpečnosti hrají velmi důležitou roli následující funkce, které kontrolují přihlášení uživatele. 069 function JePrihlasen() 070 { 071 return isset($_session["prihlasen"]); 072 } function VyzadovatPrihlaseni() 075 { 076 if(jeprihlasen()) return true; ZobrazInfo("Tato stránka vyžaduje přihlášení","/index.php"); 079 } 17
18 Poslední funkcí obsaženou v tomto skriptu je funkce ZkontrolujDotaz, která je pravděpodobně nejpoužívanější funkce vůbec, neboť je volána po každém SQL dotazu. 081 function ZkontrolujDotaz($dotaz) 082 { 083 global $cislo_dotazu, $chyba; 084 $cislo_dotazu = isset($cislo_dotazu)? $cislo_dotazu + 1 : 1; if($dotaz) return true; $chyba = "Došlo k chybě SQL dotazu #$cislo_dotazu"; 089 return false; 090 } 091?> 6.2 Výpis ankety (anketa.php) Všimněte si, že config.php je načítán pomocí funkce require_once. Ta se postará hned o dvě věci. Zaprvé - pokud by se config.php z nějakých důvodu nepodařilo načíst, běh skriptu se zastaví. Zadruhé pokud by se z nějakých nepochopitelných důvodů vyskytl tento řádek v kódu vícekrát, je načten pouze jednou, čímž se předejte chybě (function is already defined ). Skript anketa.php slouží k vykreslení ankety. Aby byl anketu schopen vykreslit, musí být volán s parametrem idankety (např. anketa.php?idankety=1). 001 <?php 002 require_once("config.php"); //kontrola dostupnosti ID ankety 005 if(isset($_get["idankety"])) 006 $idankety = $_GET["idankety"]; 007 Else 008 exit; //funkce nahodny vrací náhodně sestavený řetězec o daném počtu znaků 011 //zde je používána pro sestavení hlasovacích kódů 012 function nahodny($delka = 12) 013 { 014 $znaky = "abcdefghijklmnopqrstuvwxz "; //seznam znaků, ze kterýc h bude sestaven výsledný řetězec 015 $retezec = ""; //počáteční inicializace 016 $max = strlen($znaky) - 1; 017 for($i = 0; $i < $delka; $i++) 018 $retezec.= $znaky[rand(0, $max)]; 019 return $retezec; 18
19 020 } První potřebnou věcí je načíst z databáze informace o dané anketě. Poté stačí zkontrolovat, zda načtení proběhlo úspěšně a zda požadovaná anketa vůbec existuje. 022 do 023 { 024 //načtení ankety z databáze 025 $dotaz = mysql_query(" 026 SELECT a.otazka, a.datum, o.id, o.odpoved, o.hlasu, s.adresar 027 FROM `".ANKETY."` AS a 028 JOIN `".ODPOVEDI."` AS o 029 ON a.idankety = o.anketa 030 JOIN `".SABLONY."` as s 031 ON a.sablona = s.idsablony 032 WHERE idankety = $idankety 033 ORDER BY o.id",$spojeni); //kontrola správnosti průběhu dotazu 036 if(!zkontrolujdotaz($dotaz)) break; //kontrola existence ankety 039 if(mysql_num_rows($dotaz) < 1) 040 { 041 ZobrazZpravu("Anketa s id = $idankety neexistuje."); 042 break; 043 } Další krok je poměrně náročný. Je potřeba zpracovat data z databáze tak, aby byla dále zpracovatelná. Všechny odpovědi uložíme do pole odpovědi. Každá odpověď přitom bude tvořena dalším polem obsahujícím identifikátor odpovědi, vlastní odpověď a počet hlasů pro danou odpověď. Později ještě doplníme, jak bude mít daná odpověď dlouhý graf a jakým kódem bude možné pro ni hlasovat (více o hlasovacím kódu viz 6.3) 045 //převedení dat načtených z databáze do proměných a polí 046 while($anketa = mysql_fetch_assoc($dotaz)) 047 { 048 if(!isset($otazka)) $otazka = $anketa["otazka"]; 049 if(!isset($datum)) $datum = $anketa["datum"]; 050 if(!isset($sablona)) $sablona = $anketa["adresar"]; 051 $odpovedi[] = array( 052 "id" => $anketa["id"], 053 "odpoved" => $anketa["odpoved"], 054 "pocet_hlasu" => $anketa["hlasu"] 19
20 055 ); 056 } //zkusíme načíst individuální nastavení ankety (ze šablony) 059 if(file_exists("./sablony/$sablona/nastaveni.php")) //pokud nastavení exi stuje, //tak ho načteme 061 if(!isset($sirka_ankety)) $sirka_ankety = 150; //neproběhlali inicializace, tak načteme výchozí hodnoty 062 if(!isset($minimalni_pocet_pixelu)) $minimalni_pocet_pixelu = 1; //spočítáme celkový a nejvyšší počet hlasů 065 $celkem_hlasu = 0; 066 $nejvic_hlasu = 0; foreach($odpovedi as $odpoved) 069 { 070 $celkem_hlasu += $odpoved["pocet_hlasu"]; 071 if($odpoved["pocet_hlasu"] > $nejvic_hlasu) $nejvic_hlasu = $odpoved[ "pocet_hlasu"]; 072 } //ještě se nehlasovalo 075 if($celkem_hlasu < 1) 076 { 077 $_SESSION["kod"] = array(); 078 foreach($odpovedi as $klic => $odpoved) 079 { 080 $odpovedi[$klic]["procent"] = 0; 081 $odpovedi[$klic]["pixelu"] = $minimalni_pocet_pixelu; //sestavíme kontrolní kód 084 $kontrolni_kod = nahodny(); 085 $_SESSION["kod"][$kontrolni_kod] = $odpoved["id"]; //uložíme ho do session 086 $odpovedi[$klic]["kod"] = $kontrolni_kod; //a přidáme jako parame tr odpovědi 087 } 088 } 089 //už se hlasovalo 090 else 091 { 092 //spočítáme parametry grafu 093 foreach($odpovedi as $klic => $odpoved) 094 { 095 $procent = round($odpoved["pocet_hlasu"] / $celkem_hlasu * 100,2) ; 20
21 096 $pixelu = round($odpoved["pocet_hlasu"] / $nejvic_hlasu * $sirka_ ankety); 097 //alternativní algoritmus na výpočet počtu pixelů 098 //$pixelu = round($odpoved["pocet_hlasu"] / $nejvic_hlasu * ($sir ka_ankety - $minimalni_pocet_pixelu)) + $minimalni_pocet_pixelu; $odpovedi[$klic]["procent"] = $procent; 101 $odpovedi[$klic]["pixelu"] = $pixelu > $minimalni_pocet_pixelu? $pixelu : $minimalni_pocet_pixelu; 102 $kontrolni_kod = nahodny(); 103 $_SESSION["kod"][$kontrolni_kod] = $odpoved["id"]; 104 $odpovedi[$klic]["kod"] = $kontrolni_kod; 105 } 106 } //načteme šablonu, která se postará o vykreslení 109 include("./sablony/$sablona/$sablona.php"); 110 } 111 while(false); if(isset($chyba)) echo $chyba; 114?> 6.3 Hlasovací skript (hlasuj.php) Úkolem tohoto skriptu je přijmout hlasovací kód a identifikátor ankety. Pokud přijmutí proběhne v pořádku, pak se zkontroluje platnost hlasovacího kódu a jestli uživatel může hlasovat. Bezpečnost hlasování Aby výsledky hlasování měly nějakou vypovídací hodnotu, musí být zabráněno jejich manipulaci. Prvním základním bezpečnostním prvkem je zabránění opakovaného hlasování. To se v současné době řeší nejčastěji přes kontrolu IP adresy. Samotná ochrana proti opakovanému hlasování ale pro bezpečnost nestačí. Pokud se hlasování řešení pomocí metody GET, prvním nápadem může být hlasovací URL ve tvaru hlasuj.php?idankety=1&odpoved=2. Problémem tohoto řešení je, že hlasovací URL je statické. K manipulaci ankety pak stačí projít pár internetových fór s vysokou návštěvností a povoleným tagem img a vložit obrázek: <img src= > Každý návštěvník, kterému se zobrazí váš příspěvek, bude nevědomě hlasovat v anketě. Tento problém jsem vyřešil přidělením nestatického (náhodně generovaného) kontrolního kódu (každé odpovědi jeden). Výsledné hlasovací URL je ve tvaru: hlasuj.php?kod=f600wopagmlz&anketa=1, kde hlasovací kód je pro každé načtení ankety jiný. 001 <?php 002 require_once("config.php");
22 004 do 005 { 006 //situace, kdy při hlasování metodou post nevyberou žádnou možnost 007 if(isset($_post["anketa"]) &&!isset($_post["kod"])) 008 { 009 $id_ankety = $_POST["anketa"]; 010 break; 011 } //kontrola příjmu proměných 014 if(!isset($_request["kod"],$_request["anketa"])) 015 { 016 exit("neplatný požadavek"); 017 } 018 $id_ankety = $_REQUEST["anketa"]; 019 $hlasovaci_kod = $_REQUEST["kod"]; if(!isset($_session["kod"][$hlasovaci_kod])) 022 { 023 unset($_session["kod"]); 024 $chyba = "Neplatný hlasovací kód"; 025 break; 026 } 027 $id_odpovedi = $_SESSION["kod"][$hlasovaci_kod]; //Zjistíme jak dlouhou dobu je nastavena blokace hlasování 030 $dotaz = mysql_query("select ochrana from `".ANKETY."` WHERE idankety = $id_ankety LIMIT 1",$spojeni); 031 if(!zkontrolujdotaz($dotaz)) break; //kontrola existence ankety 034 if(mysql_num_rows($dotaz) < 1) 035 { 036 $chyba = "Anketa neexistuje"; 037 break; 038 } 039 $anketa = mysql_fetch_assoc($dotaz); 040 $blokovat_na = $anketa["ochrana"]; 041 $blokovat_do = time() + $anketa["ochrana"]; //Zkontrolujeme, jestli může uživatel hlasovat //1.test - kontrola cookies 046 if(isset($_cookie["anketa_$id_ankety"])) 047 { 048 if(($_cookie["anketa_$id_ankety"] + $blokovat_na) > time()) 049 { 22
23 050 $chyba = "Nemůžete hlasovat opakovaně."; 051 break; 052 } 053 } //2. test - kontrola ip adresy 056 $ip_adresa = $_SERVER["REMOTE_ADDR"]; $dotaz = mysql_query("select cas FROM `".HLASY."` WHERE idankety = $id_ ankety AND ip = '$ip_adresa' AND (cas + $blokovat_na) > ".time(), $spojeni) ; 059 if(!zkontrolujdotaz($dotaz)) break; if(mysql_num_rows($dotaz) > 0) 062 { 063 $chyba = "Nemůžete hlasovat opakovaně."; 064 break; 065 } //může hlasovat => vložíme hlas 068 $dotaz = mysql_query("update `".ODPOVEDI."` SET hlasu = (hlasu+1) WHERE id = $id_odpovedi AND anketa = $id_ankety LIMIT 1",$spojeni); 069 if(!zkontrolujdotaz($dotaz)) break; if(mysql_affected_rows() < 1) 072 { 073 $chyba = "Hlasování se nepodařilo."; 074 break; 075 } //nastavíme omezení před dalším hlasovaním //1. Cookie 080 setcookie("anketa_$id_ankety",time(),$blokovat_do); //2. vložení IP adresy do databáze 083 $dotaz = mysql_query("replace `".HLASY."` (idankety, ip, cas) values (' $id_ankety', '$ip_adresa', '".time()."')",$spojeni); 084 if(!zkontrolujdotaz($dotaz)) break; 085 } 086 while(false); if(isset($chyba)) 089 $_SESSION["chyba"] = $chyba; presmeruj("/anketa.php?idankety=$id_ankety"); 092?> 23
24 7 Ukázky použití 7.1 Tvorba ankety Tvorba ankety spočívá ve vyplnění jednoduchého formuláře. Jediná položka, která by se mohla jevit jako záhadná, je doba blokace. Ta určuje dobu v sekundách, po kterou nebude možná znovu hlasovat ze stejné IP adresy. 7.2 Tvorba vlastní šablony Jedna z nejpodstatnějších věcí, které modul umožňuje, je tvorba vlastní šablony. Nejprve vyplníme pár detailů, jako např. jméno šablony a složky, kde bude šablonu umístěna. Mnohem podstatnější ale je správné vyplnění textarey. Ta obsahuje vlastní PHP kód šablony. Automaticky je vložen kód výchozí šablony, který programátorovy naznačí, jak může asi vypadat. K dispozici je asociativní pole $odpovedi, $otazka, $sablona, $sirka_ankety a $_SESSION["chyba"]. Na základě vytvořené šablony může anketa nabýt zcela odlišného vzhledu. 24
25 7.3 Vložení vytvořené ankety do stránky V seznamu anket si otevřete náhled ankety. Zde klikněte na vygenerovat (X)HTML kód. Zkopírujte jej a vložte na požadované místo ve vašich stránkách. 25
26 8 Závěr Myslím si, že anketní modul, který se mi podařilo naprogramovat, postačuje účelu, pro který byl primárně určen, ale možnosti jeho rozšíření nejsou zdaleka vyčerpány. Jediným větším problémem zůstává použitelnost jen pro alespoň mírně pokročilé tvůrce webových stránek. Proto si myslím, že by bylo velmi zajímavé vytvořit jednoduchý generátor šablon s využitím GD knihovny 16, který by umožňoval použití celé aplikace i začínajícím tvůrcům webu. 16 PHP knihovna pro zpracovávání obrázků 26
27 9 Použité zdroje PHP: Hypertext Preprocessor URL: < [cit ]. MySQL manuál URL: < [cit ]. Jak ovlivnit libovolné hlasování na idnes.cz URL: [cit ]. W3Schools Online Web Tutorials URL: < [cit ]. IE Brouci Chyby / Bugy Internet Explorer URL: < [cit ]. Wikipedia URL: < [cit ]. 27
1 Webový server, instalace PHP a MySQL 13
Úvod 11 1 Webový server, instalace PHP a MySQL 13 Princip funkce webové aplikace 13 PHP 14 Principy tvorby a správy webového serveru a vývojářského počítače 14 Co je nezbytné k instalaci místního vývojářského
VíceIng. Přemysl Brada, MSc., Ph.D. Ing. Martin Dostal. Katedra informatiky a výpočetní techniky, FAV, ZČU v Plzni
Webové aplikace Ing. Přemysl Brada, MSc., Ph.D. Ing. Martin Dostal Katedra informatiky a výpočetní techniky, FAV, ZČU v Plzni Harmonogram Dopolední blok 9:00 12:30 Ing. Dostal Úvod, XHTML + CSS Ing. Brada,
VíceNávrh a tvorba WWW stránek 1/14. PHP a databáze
Návrh a tvorba WWW stránek 1/14 PHP a databáze nejčastěji MySQL součástí balíčků PHP navíc podporuje standard ODBC PHP nemá žádné šablony pro práci s databází princip práce s databází je stále stejný opakované
VíceSTŘEDNÍ ŠKOLA INFORMAČNÍCH TECHNOLOGIÍ A SOCIÁLNÍ PÉČE
STŘEDNÍ ŠKOLA INFORMAČNÍCH TECHNOLOGIÍ A SOCIÁLNÍ PÉČE WEBOWÉ STRÁNKY TŘÍD KAMIL POPELKA ZÁVĚREČNÁ MATURITNÍ PRÁCE BRNO 2011 Prohlášení Prohlašuji, že maturitní práce je mým původním autorským dílem, které
VíceSoučasný svět Projekt č. CZ.2.17/3.1.00/32038, podpořený Evropským sociálním fondem v rámci Operačního programu Praha adaptabilita
Aktivní webové stránky Úvod: - statické webové stránky: pevně vytvořený kód HTML uložený na serveru, ke kterému se přistupuje obvykle pomocí protokolu HTTP (HTTPS - zabezpečený). Je možno používat i různé
VícePHP PHP je skriptovací programovací jazyk dynamických internetových stránek PHP je nezávislý na platformě
PHP PHP původně znamenalo Personal Home Page a vzniklo v roce 1996, od té doby prošlo velkými změnami a nyní tato zkratka znamená Hypertext Preprocessor. PHP je skriptovací programovací jazyk, určený především
Více17. července 2005 15:51 z moravec@yahoo.com http://www.z-moravec.net/
17. července 2005 15:51 z moravec@yahoo.com http://www.z-moravec.net/ Úvod 1 Úvod Nedávno jsem zveřejnil návod na vytvoření návštěvní knihy bez nutnosti použít databázi. To je výhodné tehdy, kdy na serveru
VíceÚvodem 9. Zpětná vazba od čtenářů 10 Zdrojové kódy ke knize 10 Errata 10. Než začneme 11
Obsah Úvodem 9 Zpětná vazba od čtenářů 10 Zdrojové kódy ke knize 10 Errata 10 Kapitola 1 Než začneme 11 Dynamické vs. statické stránky 11 Co je a k čemu slouží PHP 12 Instalace potřebného softwarového
VíceMaturitní projekt do IVT Pavel Doleček
Maturitní projekt do IVT Pavel Doleček CO FILMBOOK JE Filmbook je uzavřená webová aplikace pro celkovou správu informací a dat souvisejících se sledováním filmů. Primárně je zaměřen na uchovávání a spravování
Více1. Webový server, instalace PHP a MySQL 13
Úvod 11 1. Webový server, instalace PHP a MySQL 13 Princip funkce webové aplikace 13 PHP 14 Principy tvorby a správy webového serveru a vývojářského počítače 14 Co je nezbytné k instalaci místního vývojářského
VíceDatabázové aplikace pro internetové prostředí. 01 - PHP úvod, základní princip, vkládání skriptu, komentáře, výpis na obrazovku
Databázové aplikace pro internetové prostředí 01 - PHP úvod, základní princip, vkládání skriptu, komentáře, výpis na obrazovku Projekt: Inovace výuky prostřednictvím ICT Registrační číslo: CZ.1.07/1.5.00/34.250
VíceÚvod do tvorby internetových aplikací
CVT6 01a Úvod do tvorby internetových aplikací Osnova předmětu (X)HTML a tvorba webu pomocí přímého zápisu kódu Tvorba web designu a skládání stránek z kousků Skriptovací jazyky na webu Návrh software
VíceTřídy a objekty. Třídy a objekty. Vytvoření instance třídy. Přístup k atributům a metodám objektu. $z = new Zlomek(3, 5);
Programovací jazyk PHP doc. Ing. Miroslav Beneš, Ph.D. katedra informatiky FEI VŠB-TUO A-1007 / 597 324 213 http://www.cs.vsb.cz/benes Miroslav.Benes@vsb.cz Obsah Třídy a objekty Výjimky Webové aplikace
VíceVyužití OOP v praxi -- Knihovna PHP -- Interval.cz
Page 1 of 6 Knihovna PHP Využití OOP v praxi Po dlouhé teorii přichází na řadu praxe. V následujícím textu si vysvětlíme možnosti přístupu k databázi pomocí různých vzorů objektově orientovaného programování
VíceObsah. Úvodem 9. Kapitola 1 Než začneme 11. Kapitola 2 Dynamické zobrazování obsahu 25. Zpětná vazba od čtenářů 10 Zdrojové kódy ke knize 10 Errata 10
Obsah Úvodem 9 Zpětná vazba od čtenářů 10 Zdrojové kódy ke knize 10 Errata 10 Kapitola 1 Než začneme 11 Dynamické vs. statické stránky 11 Co je a k čemu slouží PHP 12 Instalace potřebného softwarového
VíceAplikační vrstva. Úvod do Php. Ing. Martin Dostal
Aplikační vrstva Úvod do Php Ing. Martin Dostal Co to je PHP? php soubory se nekompilují, interpret je spouští přímo bez překladu php běží na serveru php soubor je.txt soubor obsahující php kód: Zkrácený
VíceÚvod do aplikací internetu a přehled možností při tvorbě webu
CVT6 01a Úvod do aplikací internetu a přehled možností při tvorbě webu Internet a www Internet? Služby www ftp e-mail telnet NetNews konference IM komunikace Chaty Remote Access P2P aplikace Online games
VíceWNC::WebNucleatCreator
Tomáš Dlouhý WNC::WebNucleatCreator Verze: 5.1 1 Obsah Obsah...2 Úvod...3 Novinky...3 Požadavky...4 Instalace...4 Přihlášení se do WNC...6 Moduly...7 Modul Blog...7 Modul Categories...8 Modul News...8
VíceMODERNÍ WEB SNADNO A RYCHLE
SNADNO A RYCHLE Marek Lučný Pavoučí síť přes celý svět Co prohlížeče (ne)skrývají Tajemný kód HTML Všechno má svůj styl Interaktivní je IN Na obrazovce i na mobilu Začni podle šablony Informace jsou základ
VíceINOVACE PŘEDMĚTŮ ICT. MODUL 11: PROGRAMOVÁNÍ WEBOVÝCH APLIKLACÍ Metodika
Vyšší odborná škola ekonomická a zdravotnická a Střední škola, Boskovice INOVACE PŘEDMĚTŮ ICT MODUL 11: PROGRAMOVÁNÍ WEBOVÝCH APLIKLACÍ Metodika Zpracoval: Jaroslav Kotlán srpen 2009s Úvod Modul Programování
VíceŠkola: Gymnázium, Brno, Slovanské náměstí 7 III/2 Inovace a zkvalitnění výuky prostřednictvím ICT Název projektu: Inovace výuky na GSN
Škola: Gymnázium, Brno, Slovanské náměstí 7 Šablona: III/2 Inovace a zkvalitnění výuky prostřednictvím ICT Název projektu: Inovace výuky na GSN prostřednictvím ICT Číslo projektu: CZ.1.07/1.5.00/34.0940
VíceJSON API pro zjišťování cen MtG karet
JSON API pro zjišťování cen MtG karet Autor: Ing. Jiří Bažant Verze: 1.0 Datum: 20.9.2014 Changelog Verze Datum Autor Poznámka 1.0 17.9.2014 Ing. Jiří Bažant 20.9.2014 Ing. Jiří Bažant Oprava příkladu
VíceIndividuální projekt z předmětu webových stránek 2012/2013 - Anketa
Individuální projekt z předmětu webových stránek 2012/2013 - Anketa Daniel Beznoskov, 2 IT A Skupina 1 Úvod Prohlášení o autorství Prohlašuji, že jsem individuální projekt z předmětu webových stránek na
VíceANOTACE vytvořených/inovovaných materiálů
ANOTACE vytvořených/inovovaných materiálů Číslo projektu Číslo a název šablony klíčové aktivity Tematická oblast Formát Druh učebního materiálu Druh interaktivity CZ.1.07/1.5.00/34.0722 III/2 Inovace a
VíceDELTA - STŘEDNÍ ŠKOLA INFORMATIKY A EKONOMIE, s.r.o. Obor informační technologie AJAX ESHOP. Maturitní projekt. Třída:
DELTA - STŘEDNÍ ŠKOLA INFORMATIKY A EKONOMIE, s.r.o. Obor informační technologie AJAX ESHOP Maturitní projekt Vypracoval: Denis Ptáček Třída: 4B Rok: 2014/2015 Obsah 1. Použité nástroje... 3 1.1 NetBeans
VíceProtokol HTTP 4IZ228 tvorba webových stránek a aplikací
4IZ228 tvorba webových stránek a aplikací Jirka Kosek Poslední modifikace: $Date: 2006/11/23 15:11:51 $ Obsah Úvod... 3 Co je to HTTP... 4 Základní model protokolu... 5 Struktura požadavku v HTTP 1.0 a
VíceINFORMAČNÍ SYSTÉMY NA WEBU
INFORMAČNÍ SYSTÉMY NA WEBU Webový informační systém je systém navržený pro provoz v podmínkách Internetu/intranetu, tzn. přístup na takový systém je realizován přes internetový prohlížeč. Použití internetového
VíceStručný manuál pro webový editor. Ukládáni základních informací, tvorba menu
Stručný manuál pro webový editor Ukládáni základních informací, tvorba menu Po přihlášení ( zadejte zaslané přihlašovací jméno a heslo ) se Vám zobrazí stránka, kde jsou následující údaje: 1. blok, který
VíceInternet 2 css, skriptování, dynamické prvky
Internet 2 css, skriptování, dynamické prvky Martin Hejtmánek hejtmmar@fjfi.cvut.cz http://kmlinux.fjfi.cvut.cz/ hejtmmar Počítačový kurs Univerzity třetího věku na FJFI ČVUT Znalci 26. března 2009 Dnešní
VícePrincipy fungování WWW serverů a browserů. Internetové publikování
Principy fungování WWW serverů a browserů Internetové publikování Historie WWW 50. léta Douglas Engelbert provázané dokumenty 1980 Ted Nelson projekt Xanadu 1989 CERN Ženeva - Tim Berners-Lee Program pro
VíceInstalace a konfigurace web serveru. WA1 Martin Klíma
Instalace a konfigurace web serveru WA1 Martin Klíma Instalace a konfigurace Apache 1. Instalace stáhnout z http://httpd.apache.org/ nebo nějaký balíček předkonfigurovaného apache, např. WinLamp http://sourceforge.net/projects/winlamp/
VíceVstupní požadavky, doporučení a metodické pokyny
Název modulu: Základy PHP Označení: C9 Stručná charakteristika modulu Modul je orientován na tvorbu dynamických stánek aktualizovaných podle kontextu volání. Jazyk PHP umožňuje velmi jednoduchým způsobem
VíceÚvod do PHP s přihlédnutím k MySQL
Root.cz - Úvod do PHP s přihlédnutím k MySQL Stránka č. 1 z 5 Úvod do PHP s přihlédnutím k MySQL 07.04.2000 Vhodná kombinace PHP a MySQL na dostatečně výkonném serveru poskytuje hodně možností. Hitem poslední
VíceRezervační systém Tvorba WWW stránek
2012 Rezervační systém Tvorba WWW stránek Vytvoření rezervačního systému pro rezervaci motokár,ubytování a atrakcí Marek Svoboda Motokáry Motobydlo 30.12.2012 Obsah 1.Základní charakteristika... 3 a) Téma
VíceDUM č. 11 v sadě. 36. Inf-12 Počítačové sítě
projekt GML Brno Docens DUM č. 11 v sadě 36. Inf-12 Počítačové sítě Autor: Lukáš Rýdlo Datum: 06.05.2014 Ročník: 3AV, 3AF Anotace DUMu: WWW, HTML, HTTP, HTTPS, webhosting Materiály jsou určeny pro bezplatné
VíceInstalace systému Docházka 3000 na operační systém ReactOS Zdarma dostupné kompatibilní alternativě k systému Windows
Instalace systému Docházka 3000 na operační systém ReactOS Zdarma dostupné kompatibilní alternativě k systému Windows Tento návod popisuje možnost provozovat Docházku 3000 pod zdarma dostupným operačním
VíceUž ivatelska dokumentace
Už ivatelska dokumentace Aplikace Portál úspěšných projektů je určena k publikování informací o projektech realizovaných za přispění některého z Operačních programů v gesci Ministerstva vnitra České republiky.
VíceRedakční systém Joomla. Prokop Zelený
Redakční systém Joomla Prokop Zelený 1 Co jsou to red. systémy? Redakční systémy (anglicky Content Management System - CMS) jsou webové aplikace používané pro snadnou správu obsahu stránek. Hlavním cílem
VíceInovace výuky prostřednictvím šablon pro SŠ
Název projektu Číslo projektu Název školy Autor Název šablony Název DUMu Stupeň a typ vzdělávání Vzdělávací oblast Vzdělávací obor Tematický okruh Inovace výuky prostřednictvím šablon pro SŠ CZ.1.07/1.5.00/34.0748
VíceStřední odborná škola a Střední odborné učiliště, Hořovice
Kód DUM : VY_32_INOVACE_DYN.1.07 Název materiálu: Anotace Autor Jazyk Očekávaný výstup 07 Vytvoření šablony webové stránky pro výuku PHP DUM dává žákům k dispozici jednotnou výukovou šablonu pro psaní
VícePHP tutoriál (základy PHP snadno a rychle)
PHP tutoriál (základy PHP snadno a rychle) Druhá, vylepšená offline verze. Připravil Štěpán Mátl, http://khamos.wz.cz Chceš se naučit základy PHP? V tom případě si prostuduj tento rychlý průvodce. Nejdříve
Více5. POČÍTAČOVÉ CVIČENÍ
5. POČÍTAČOVÉ CVIČENÍ Databáze Databázi si můžeme představit jako místo, kam se ukládají všechny potřebné údaje. Přístup k údajům uloženým v databázi obstarává program, kterému se říká Systém Řízení Báze
VícePříprava prostředí pro výuku PHP a MySQL
Příprava prostředí pro výuku PHP a MySQL Pro předmět PGA 2013/2014 Praha a EU Investujeme do vaší budoucnosti Obsah 1 Úvod... 2 2.1 Potřebné soubory... 2 2 Instalace... 2 2.1 Webový server Apache... 2
VíceInstalace. Produkt je odzkoušen pro MS SQL server 2008 a Windows XP a Windows 7. Pro jiné verze SQL server a Windows nebyl testován.
Instalace Produkt se neinstaluje. Stačí soubor uložit na libovolné místo na Vašem počítací (klikněte pravým tlačítkem a dejte 'uložit cíl jako ), pak jen spustit. Požadavky na software Produkt je odzkoušen
VíceStřední odborná škola a Střední odborné učiliště, Hořovice
Kód DUM : VY_32_INOVACE_DYN.1.05 Název materiálu: Anotace Autor Jazyk Očekávaný výstup 05 Zásady psaní v jazyce PHP DUM naučí základní kroky v psaní správné syntaxe PHP, žák napíše svůj první skript Ing.
VícePHP framework Nette. Kapitola 1. 1.1 Úvod. 1.2 Architektura Nette
Kapitola 1 PHP framework Nette 1.1 Úvod Zkratka PHP (z anglického PHP: Hypertext Preprocessor) označuje populární skriptovací jazyk primárně navržený pro vývoj webových aplikací. Jeho oblíbenost vyplývá
Více1. Úvod do Ajaxu 11. Jak Ajax funguje? 13
Obsah Úvodem 9 1. Úvod do Ajaxu 11 Jak Ajax funguje? 13 Popis 13 Ukázky 13 Jaké jsou možnosti tvorby interaktivních webových aplikací? 15 Co je třeba znát? 16 Jak fungují technologie Ajaxu 16 Jak funguje
VíceObsah přednášky. Představení webu ASP.NET frameworky Relační databáze Objektově-relační mapování Entity framework
Web Jaroslav Nečas Obsah přednášky Představení webu ASP.NET frameworky Relační databáze Objektově-relační mapování Entity framework Co to je web HTTP protokol bezstavový GET POST HEAD Cookies Session HTTPS
VíceHTML - Úvod. Zpracoval: Petr Lasák
HTML - Úvod Zpracoval: Petr Lasák Je značkovací jazyk, popisující obsah HTML stránek Je z rodiny SGML jazyků, jako např. XML, DOCX, XLSX Nejedná se o programovací ale značkovací jazyk Dynamičnost dodávají
VíceCZ.1.07/1.5.00/34.0527
Projekt: Příjemce: Digitální učební materiály ve škole, registrační číslo projektu CZ.1.07/1.5.00/34.0527 Střední zdravotnická škola a Vyšší odborná škola zdravotnická, Husova 3, 371 60 České Budějovice
VíceNÁVOD NA OBSLUHU INTERNETOVÉ PREZENTACE. Ataxo Czech s.r.o.
NÁVOD NA OBSLUHU INTERNETOVÉ PREZENTACE Ataxo Czech s.r.o. ÚVOD Internetové stránky vytvořené společností Ataxo v rámci produktu Mini web můžete jednoduše a rychle upravovat prostřednictvím on-line administrace.
VícePHP a Large Objecty v PostgreSQL
PHP a Large Objecty v PostgreSQL Pavel Janík ml. http://www.janik.cz PHP a Large Objecty v PostgreSQL 1 Jazyk PHP je velmi mocným jazykem pro vývoj webových aplikací. Má podporu snad všech velkých i menších
VíceBottle -- příklad. Databáze. Testovací data. id Jedinečný identifikátor řádku: Bude typu INT s AUTO_INCREMENT a nastavíme ho jako primární klíč
Bottle -- příklad V tomto příkladu se pokusíme vytvořit malou aplikaci umožňující psát jednoduché poznámky. Databáze Nejprve je třeba vytvořit v databázovém serveru uživatele (pokud už není vytvořen) a
VíceOlga Rudikova 2. ročník APIN
Olga Rudikova 2. ročník APIN Redakční (publikační) systém neboli CMS - content management system (systém pro správu obsahu) je software zajišťující správu dokumentů, nejčastěji webového obsahu. (webová
VíceStřední odborná škola a Střední odborné učiliště, Hořovice
Kód DUM : VY_32_INOVACE_DYN.1.19 Název materiálu: 19 PHP- Základy práce s databází PHP 2. část MySQL (Aplikace knihovna) Anotace Autor Jazyk Očekávaný výstup DUM je žákům průvodcem vytvoření databáze knih
VíceHTTP protokol. HTTP protokol - úvod. Zpracoval : Petr Novotný novotny0@students.zcu.cz
HTTP protokol Zpracoval : Petr Novotný novotny0@students.zcu.cz HTTP protokol - úvod zkratka z Hyper-Text Transfer Protocol možnost přenášet jakákoliv data (soubor, obrázek, výsledek dotazu) obvykle provozován
VíceHTTP protokol. Zpracoval : Petr Novotný
HTTP protokol Zpracoval : Petr Novotný novotny0@students.zcu.cz HTTP protokol - úvod zkratka z Hyper-Text Transfer Protocol možnost přenášet jakákoliv data (soubor, obrázek, výsledek dotazu) obvykle provozován
VíceWebová aplikace Znalostní testy online UŽIVATELSKÁ PŘÍRUČKA
Webová aplikace Znalostní testy online UŽIVATELSKÁ PŘÍRUČKA 2005 Lukáš Trombik OBSAH ÚVOD... 1 SPUŠTĚNÍ... 1 POPIS OVLÁDÁNÍ INFORMAČNÍHO SYSTÉMU... 1 POPIS KLIENTSKÉ ČÁSTI... 1 POPIS ADMINISTRÁTORSKÉ ČÁSTI...
VíceIndividuální projekt z předmětu webových stránek 2012 - Anketa Jan Livora
UŽIVATELSKÁ TECHNICKÁ DOKUMENTACE ANKETA : Individuální projekt z předmětu webových stránek 2012 - Anketa Jan Livora [2ITa] [sk1] 1 Obsah DŮLEŽITÉ UPOZORNĚNÍ!!!... 3 PROHLÁŠENÍ O AUTORSTVÍ:... 3 ANOTACE:...
VíceCERTIFIKOVANÉ TESTOVÁNÍ (CT) Výběrové šetření výsledků žáků 2014
(CT) Výběrové šetření výsledků žáků 2014 Průběh - uživatelská příručka Verze 1 Obsah 1 ÚVOD... 3 1.1 Kde hledat další informace... 3 1.2 Posloupnost kroků... 3 2 KROK 1 STAŽENÍ HESEL K TESTŮM... 4 2.1
VíceŠifrování Autentizace Bezpečnostní slabiny. Bezpečnost. Lenka Kosková Třísková, NTI TUL. 22. března 2013
Šifrování Autentizace ní slabiny 22. března 2013 Šifrování Autentizace ní slabiny Technologie Symetrické vs. asymetrické šifry (dnes kombinace) HTTPS Funguje nad HTTP Šifrování s pomocí SSL nebo TLS Šifrování
VíceInformační systém pro e-learning manuál
Informační systém pro e-learning manuál Verze 1.00 Úvod Tento dokument popisuje způsob práce s informačním systémem pro elektronické vzdělávání. Systém je určený pro vytvoření elektronického kurzu a jeho
Vícelanguage="javascript">... </script>.
WWW (World Wide Web) je dnes společně s elektronickou poštou nejvyužívanější službou internetu. URL (Uniform Resource Locator) slouží ke kompletní adresaci informace na internetu. Udává jak protokol, který
VíceInternetové služby isenzor
Internetové služby isenzor Aktuální snímek z webové kamery nebo aktuální teplota umístěná na vašich stránkách představují překvapivě účinný a neotřelý způsob, jak na vaše stránky přilákat nové a zejména
VíceCMSSS manuál k použití http://www.mezulanik.cz
CMSSS manuál k použití http://www.mezulanik.cz CMSSS je redakční systém napsaný v jazycích PHP a MySQL. Vše je navrženo tak, aby weby postavené na tomto systému mohli spravovat i nezkušení uživatelé. Největší
VíceKapitola 5 Dynamický obsah načítaný
Dynamický obsah načítaný z databáze Kapitola 5 Dynamický obsah načítaný z databáze 5 Když už víme, jak vytvořit novou databázi a jak v ní vytvořit tabulky pro ukládání informací, můžeme přistoupit k dalšímu
VícePřipravil: Ing. Jiří Lýsek, Ph.D. Verze: 12.2.2015 Webové aplikace
Připravil: Ing. Jiří Lýsek, Ph.D. Verze: 12.2.2015 Webové aplikace Úvod strana 2 Vyučující Ing. Jiří Lýsek, Ph.D. Ing. Oldřich Faldík https://akela.mendelu.cz/~lysek/ https://akela.mendelu.cz/~xfaldik/wa/
VícePROJEKT WEBOVÉ STRÁNKY Conor Anthony McGregor
PROJEKT WEBOVÉ STRÁNKY Conor Anthony McGregor Adam Lindovský IT3B, Brno 2016 Střední škola technická a ekonomická Brno příspěvková organizace Obsah Výběr tématu... 3 Návrh a grafický design... 4 Generátor...
VíceDOKUMENTACE REDAKČNÍHO SYSTÉMU PINYA
DOKUMENTACE REDAKČNÍHO SYSTÉMU PINYA Obsah Obsah... 4 Pinya CMS... 5 Přihlášení do systému... 6 Položky v menu administrace... 7 Uživatelé... 8 Správa uživatelů... 8 Nový uživatel... 9 Role... 10 Vytvoření
VícePrůvodce instalací modulu Offline VetShop verze 3.4
Průvodce instalací modulu Offline VetShop verze 3.4 Úvod k instalaci Tato instalační příručka je určena uživatelům objednávkového modulu Offline VetShop verze 3.4. Obsah 1. Instalace modulu Offline VetShop...
VíceKurz je rozdělen do čtyř bloků, které je možné absolvovat i samostatně. Podmínkou pro vstup do kurzu je znalost problematiky kurzů předešlých.
Soubor kurzů XHTML, CSS, PHP a MySQL Kurz je rozdělen do čtyř bloků, které je možné absolvovat i samostatně. Podmínkou pro vstup do kurzu je znalost problematiky kurzů předešlých. Jeden blok se skládá
VíceAPS Administrator.ST
APS Administrator.ST Rozšiřující webový modul pro APS Administrator Webové rozhraní sledování docházky studentů Instalační a uživatelská příručka 2004 2016,TECH FASS s.r.o., Věštínská 1611/19, Praha, www.techfass.cz,
VíceWWW a HTML. Základní pojmy. Ivo Peterka
WWW a HTML Základní pojmy WWW World Wide Web systém navzájem propojených stránek Stránky se mohou skládat z částí nacházejících se v různých částech světa. HTML HyperText Markup Language Slouží k psaní
VíceZobrazování bannerů podporují pouze nově vytvořené šablony motivů vzhledu.
Bannerový systém ProEshop od verze 1.13 umožňuje zobrazování bannerů na popředí e-shopu. Bannerový systém je přístupný v administraci e-shopu v nabídce Vzhled, texty Bannerový systém v případě, že aktivní
VíceVÝUKOVÝ MATERIÁL. Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632 Číslo projektu
VÝUKOVÝ MATERIÁL Identifikační údaje školy Vyšší odborná škola a Střední škola, Varnsdorf, příspěvková organizace Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632
VíceVývoj Internetových Aplikací
2 Vývoj Internetových Aplikací HTML a CSS Ing. Michal Radecký, Ph.D. www.cs.vsb.cz/radecky HTML a CSS - Tvorba webových stránek - Struktura - Obsah - Vzhled - Funkcionalita zdroj: http://www.99points.info
VíceFrilo Control Center správa projektů
Frilo Control Center správa projektů Programy Frilo používají odlišný způsob třídění a práce s vytvořenými projekty. Tento tutoriál má uživateli přiblížit, jak nejlépe vytvářet, mazat, exportovat, importovat,
VíceStřední odborná škola a Střední odborné učiliště, Hořovice
Kód DUM : VY_32_INOVACE_DYN.1.18 Název materiálu: Anotace Autor Jazyk Očekávaný výstup 18 PHP- Základy práce s databází PHP - MySQL DUM naučí žáky postupu při vytvoření, připojení databáze a vytvoření
VícePodpora šifrovaného spojení HTTPS
Podpora šifrovaného spojení HTTPS Pokud chcete zajistit šifrování přenosu dat po síti LAN mezi webovým prohlížečem klienta a docházkovým serverem, najdete níže potřebné kroky ke zprovoznění https protokolu.
VícePlatební systém XPAY [www.xpay.cz]
Platební systém XPAY [www.xpay.cz] implementace přenosu informace o doručení SMS verze 166 / 1.3.2012 1 Obsah 1 Implementace platebního systému 3 1.1 Nároky platebního systému na klienta 3 1.2 Komunikace
VíceInternet cvičení. ZS 2009/10, Cvičení 4.,15.12.2009 PHP. Tomáš Pop. DISTRIBUTED SYSTEMS RESEARCH GROUP http://dsrg.mff.cuni.cz
Internet cvičení ZS 2009/10, Cvičení 4.,15.12.2009 PHP Tomáš Pop DISTRIBUTED SYSTEMS RESEARCH GROUP http://dsrg.mff.cuni.cz CHARLES UNIVERSITY PRAGUE Faculty of Mathematics and Physics Generování tabulky
VíceUživatelský manuál.
Uživatelský manuál www.dpd.cz/objednavkaprepravy Obsah 1 Úvod 1 2 Přihlášení 1 2.1 Nový uživatel, zapomenuté heslo 1 3 Nastavení 2 3.1 Nastavení 2 3.2 Uživatelé 3 3.3 Bankovní účty 4 3.4 Adresář 5 3.4.1
VíceInovace výuky prostřednictvím šablon pro SŠ
Název projektu Číslo projektu Název školy Autor Název šablony Název DUMu Stupeň a typ vzdělávání Vzdělávací oblast Vzdělávací obor Tematický okruh Inovace výuky prostřednictvím šablon pro SŠ CZ.1.07/1.5.00/34.0748
VíceEPLAN Electric P8 2.7 s databázemi na SQL serveru
EPLAN Electric P8 2.7 s databázemi na SQL serveru EPLAN Electric P8 2.7 k dispozici pouze ve verzi 64bit. EPLAN Electric P8 využívá k ukládání některých dat databáze. Artikly, překladový slovník 1 ) a
VícePříručka pro editaci kontaktů na eagri
Obsah Úvod... 1 Uživatel a subjekt... 1 Kontakty... 1 Validace hodnoty kontaktu... 2 GPS souřadnice... 3 Datová schránka... 3 Adresy... 3 Speciální PSČ... 4 Adresy s P.O. Box... 4 Klíč pro WS... 4 Uživatelé...
VíceSystém elektronického rádce v životních situacích portálu www.senorady.cz
Systém elektronického rádce v životních situacích portálu www.senorady.cz Obec Senorady Miroslav Patočka 2006 Obsah: 1. Úvodní informace 1.1 Informace pro uživatele 1.1.1 Přístupnost HTML, PDA, WAP, XML
VíceGymnázium Vysoké Mýto nám. Vaňorného 163, 566 01 Vysoké Mýto
Gymnázium Vysoké Mýto nám. Vaňorného 163, 566 01 Vysoké Mýto Registrační číslo projektu Šablona Autor Název materiálu / Druh CZ.1.07/1.5.00/34.0951 III/2 INOVACE A ZKVALITNĚNÍ VÝUKY PROSTŘEDNICTVÍM ICT
VíceImplementace LMS MOODLE. na Windows 2003 Server a IIS 6.0
Implementace LMS MOODLE na Windows 2003 Server a IIS 6.0 Obsah 1 ÚVOD... 3 1.1 Instalace PHP... 3 1.1.1 Nastavení práv k adresáři PHP... 3 1.1.2 Úprava souboru php.ini... 4 1.1.3 Proměnné prostředí...
Vícerychlý vývoj webových aplikací nezávislých na platformě Jiří Kosek
rychlý vývoj webových aplikací nezávislých na platformě Jiří Kosek Co je to webová aplikace? příklady virtuální obchodní dům intranetový IS podniku vyhledávací služby aplikace jako každá jiná přístupná
VíceWEBOVÉ STRÁNKY www.krestanskevanoce.cz
WEBOVÉ STRÁNKY www.krestanskevanoce.cz Domovská stránka Křesťanských Vánoc je založena na databázi, která vedle běžných funkcí redakčního systému internetové prezentace umožňuje též uložit údaje o jednotlivých
VíceZáklady HTML, URL, HTTP, druhy skriptování, formuláře
Základy HTML, URL, HTTP, druhy skriptování, formuláře Skriptování na straně klienta a serveru Skriptování na straně klienta se provádí pomocí programovacího jazyka JavaScript, který je vkládán do HTML
VíceMaturitní otázky z předmětu PROGRAMOVÁNÍ
Wichterlovo gymnázium, Ostrava-Poruba, příspěvková organizace Maturitní otázky z předmětu PROGRAMOVÁNÍ 1. Algoritmus a jeho vlastnosti algoritmus a jeho vlastnosti, formy zápisu algoritmu ověřování správnosti
VícePostup obnovy a nastavení nového připojovacího certifikátu pro úložiště SÚKL
Postup obnovy a nastavení nového připojovacího certifikátu pro úložiště SÚKL I. Postup pro rychlou automatickou obnovu certifikátu pomocí formuláře v Medioxu SÚKL implementoval rozhraní pro automatickou
VíceModul Ankety verze 1.11 pro redakční systém Marwel 2.8 a 2.7
Modul Ankety verze 1.11 pro redakční systém Marwel 2.8 a 2.7 postupy a doporučení pro práci redaktorů Ivo Vrána, červen 2011 Podpora: e-mail: podpora@qcm.cz tel.: +420 538 702 705 Obsah Modul Ankety...3
VíceUživatelská příručka pro ředitele škol
Národní šetření výsledků žáků v počátečním vzdělávání Uživatelská příručka pro ředitele škol Název souboru: Modul IDM - Uživatelská příručka pro ředitele škol V2.doc Strana 1 Obsah 1 Úvod... 3 2 Přihlášení
VíceInstalace a první spuštění Programu Job Abacus Pro
Instalace a první spuštění Programu Job Abacus Pro Pro chod programu je nutné mít nainstalované databázové úložiště, které je připraveno v instalačním balíčku GAMP, který si stáhnete z našich webových
VíceFAKULTA INFORMAČNÍCH TECHNOLOGIÍ SPOLEČNOST DECADIC PROJEKT FRAMETRIX
FAKULTA INFORMAČNÍCH TECHNOLOGIÍ ÚSTAV INFORMAČNÍCH SYSTÉMŮ MANAGEMENT PROJEKTŮ SPOLEČNOST DECADIC PROJEKT FRAMETRIX SPECIFIKACE POŽADAVKŮ AUTOR DOKUMENTU JIŘÍ JANDA BRNO 15. března 2012 Obsah 1 Úvod........................................
VíceInternet 1 vývoj, html, css
Internet 1 vývoj, html, css Martin Hejtmánek hejtmmar@fjfi.cvut.cz http://kmlinux.fjfi.cvut.cz/ hejtmmar Počítačový kurs Univerzity třetího věku na FJFI ČVUT Znalci 19. března 2009 Dnešní přednáška 1 Historie
VíceTACHOTel manuál 2015 AURIS CZ
TACHOTel manuál 2 TACHOTel Obsah Foreword I Úvod 0 3 1 Popis systému... 3 2 Systémové... požadavky 4 3 Přihlášení... do aplikace 5 II Nastavení aplikace 6 1 Instalace... a konfigurace služby ATR 6 2 Vytvoření...
Více