Webové Aplikace (6. přednáška)



Podobné dokumenty
EVROPSKÝ SOCIÁLNÍ FOND. Úvod do PHP PRAHA & EU INVESTUJEME DO VAŠÍ BUDOUCNOSTI

Ing. Přemysl Brada, MSc., Ph.D. Ing. Martin Dostal. Katedra informatiky a výpočetní techniky, FAV, ZČU v Plzni

HTTP. Webový server. generátor HTML stránek (CGI, Perl, PHP, Python, Ruby, Java, ASP.NET) zpracování požadavku/ odeslání odpovědi.

Instalace a konfigurace web serveru. WA1 Martin Klíma

Souč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

Protokol HTTP 4IZ228 tvorba webových stránek a aplikací

Tří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);

PHP. Čtvrtek 8. září. Čtvrtek 15. září. Anonymní test znalostí

PHP tutoriál (základy PHP snadno a rychle)

Inovace bakalářského studijního oboru Aplikovaná chemie

Databázové aplikace pro internetové prostředí PHP úvod, základní princip, vkládání skriptu, komentáře, výpis na obrazovku

Vstupní požadavky, doporučení a metodické pokyny

Principy fungování WWW serverů a browserů. Internetové publikování

Formuláře. Internetové publikování. Formuláře - příklad

Návrh a tvorba WWW stránek 1/38 PHP

rychlý vývoj webových aplikací nezávislých na platformě Jiří Kosek

Skriptovací jazyky. Obsah

Programování v jazyce JavaScript

PHP - úvod. Kapitola seznamuje se základy jazyka PHP a jeho začleněním do HTML stránky.

1. Úvod do Ajaxu 11. Jak Ajax funguje? 13

Server-side technologie pro webové aplikace

Základy HTML, URL, HTTP, druhy skriptování, formuláře

První kapitola úvod do problematiky

Koláčky, sezení. Martin Klíma

Aplikační vrstva. Úvod do Php. Ing. Martin Dostal

INFORMAČNÍ SYSTÉMY NA WEBU

for (i = 0, j = 5; i < 10; i++) { // tělo cyklu }

Od CGI k FastCGI. Uvedené dílo podléhá licenci Creative Commons Uved te autora 3.0 Česko.


K práci budeme využívat souborového manažeru Unreal Commander alespoň si ho procvičíme

Jaku b Su ch ý 1

1 Webový server, instalace PHP a MySQL 13

language="javascript">... </script>.

PHP PHP je skriptovací programovací jazyk dynamických internetových stránek PHP je nezávislý na platformě

Testování webových aplikací Seznam.cz

Tvorba WWW stránek. přehled technologií používaných na webu principy jednotlivých technologií a možnosti jejich vzájemného kombinování

HTTP protokol. HTTP protokol - úvod. Zpracoval : Petr Novotný novotny0@students.zcu.cz

1. Webový server, instalace PHP a MySQL 13

PHP a Large Objecty v PostgreSQL

WWW technologie. HTTP protokol

BI-AWD. Administrace Webového a Databázového serveru Virtualizace HTTP serveru

JSON API pro zjišťování cen MtG karet

13. Skriptovací jazyk PHP

DUM č. 11 v sadě. 36. Inf-12 Počítačové sítě

Základy PHP. Úvod do jazyka PHP a principů skriptování na straně serveru

Obsah přednášky. Představení webu ASP.NET frameworky Relační databáze Objektově-relační mapování Entity framework

Serverové skriptovací technologie

Internet cvičení. ZS 2009/10, Cvičení 4., PHP. Tomáš Pop. DISTRIBUTED SYSTEMS RESEARCH GROUP

5 Přehled operátorů, příkazy, přetypování

Tvorba webových stránek

Operátory, výrazy. Tomáš Pitner, upravil Marek Šabo

Algoritmizace a programování

Základy algoritmizace a programování

Využití OOP v praxi -- Knihovna PHP -- Interval.cz

Střední odborná škola a Střední odborné učiliště, Hořovice

Úvodem 9. Zpětná vazba od čtenářů 10 Zdrojové kódy ke knize 10 Errata 10. Než začneme 11

DUM 14 téma: Interakce s uživatelem

WSH Windows Script Hosting. OSY 2 Přednáška číslo 2 opravená verze z

INOVACE PŘEDMĚTŮ ICT. MODUL 11: PROGRAMOVÁNÍ WEBOVÝCH APLIKLACÍ Metodika

Web Services na SOAP

Výrazy a operátory. Operátory Unární - unární a unární + Např.: a +b

Úvod do programovacích jazyků (Java)

Funkce, podmíněný příkaz if-else, příkaz cyklu for

Klíčová slova: dynamické internetové stránky, HTML, CSS, PHP, SQL, MySQL,

Střední odborná škola a Střední odborné učiliště, Hořovice

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007

Počítačové sítě II. 18. World Wide Web, HTTP Miroslav Spousta,

IB111 Programování a algoritmizace. Programovací jazyky

Hitparáda webhackingu nestárnoucí hity. Roman Kümmel

Připravil: Ing. Jiří Lýsek, Ph.D. Verze: Webové aplikace

Střední odborná škola a Střední odborné učiliště, Hořovice

Úvod do Matlabu. Praha & EU: Investujeme do vaší budoucnosti. 1 / 24 Úvod do Matlabu

Strana 1 (celkem 14) Radek Vokoun - 1 -

Přednáška 7. Celočíselná aritmetika. Návratový kód. Příkazy pro větvení výpočtu. Cykly. Předčasné ukončení cyklu.

Střední odborná škola a Střední odborné učiliště, Hořovice

8. lekce Úvod do jazyka C 3. část Základní příkazy jazyka C Miroslav Jílek

Technologie Java Enterprise Edition. Přemek Brada, KIV ZČU

Úvod do tvorby internetových aplikací

Schéma e-pošty. UA (User Agent) rozhraní pro uživatele MTA (Message Transfer Agent) zajišťuje dopravu dopisů. disk. odesilatel. fronta dopisů SMTP

HTTP protokol. Zpracoval : Petr Novotný

Šifrování Autentizace Bezpečnostní slabiny. Bezpečnost. Lenka Kosková Třísková, NTI TUL. 22. března 2013

Střední odborná škola a Střední odborné učiliště, Hořovice

Internet 2 css, skriptování, dynamické prvky

Zápis programu v jazyce C#

Hypertext Transfer Protocol (HTTP/1.1 RFC 2616) Počítačové sítě Pavel Šinták

Střední odborná škola a Střední odborné učiliště, Hořovice

Artlingua Translation API

Střední odborná škola a Střední odborné učiliště, Hořovice

SYLABUS IT V. Jiří Kubica. Ostrava 2011

Střední odborná škola a Střední odborné učiliště, Hořovice

Ukázka knihy z internetového knihkupectví

Základy programování. Úloha: Eratosthenovo síto. Autor: Josef Hrabal Číslo: HRA0031 Datum: Předmět: ZAP

Algoritmy a datové struktury

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:

VÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu

Počítačové sítě II 17. WWW, HTTP. Miroslav Spousta, 2005

PHP. nejen pro začátečníky. $c; echo { Martin Pokorný. Vzdìlávání, které baví Nakladatelství a vydavatelství.

Úvod do aplikací internetu a přehled možností při tvorbě webu

Jazyk C# a platforma.net

XSLT pomocí JavaScriptu v Mozille (... Opeře a Safari)

Transkript:

Webové Aplikace (6. přednáška)

Co je to Webová Aplikace

Co je to Webová Aplikace Klient/Server model uživatelské rozhraní běží na straně klienta (prohlížeč) "logika" programu běží na serveru klient (prohlížeč) posílá serveru uživatelské akce (vyhledej stránky s klíčovým slovem php, pošli e-mail,...) server posílá výsledky akcí (seznam stránek s klíčovým slovem php,...)

Výhody/Nevýhody webových vs desktopových aplikací Výhody data jsou na serveru, k dispozici všude nulová údržba z hlediska uživatele, automatický upgrade možnost spolupráce mezi uživateli... Nevýhody data jsou na serveru, administrátor aplikace k nim má přístup (soukromí,...) aplikace je nepřístupná, pokud jsme offline (nebo pokud jsou servery aplikace offline) v závislosti na typu aplikace může být pomalejší těžkopádný přístup k lokálním datům...

Komunikace mezi klientem a serverm HTTP protokol Požadavek GET /~verner HTTP/1.1 Host: www.ktiml.mff.cuni.cz User-Agent: Mozilla/4.75 [en] (WinNT; U) Cookie: CLIENT=Rich; SESSION=kq8794asdkjlkjasdUOIU31KLAJD; Odpověď HTTP/1.1 200 OK Date: Mon, 05 Feb 2001 03:26:18 GMT Server: Apache/1.2.5 Last-Modified: Mon, 05 Feb 2001 03:25:36 GMT Content-Length: 2255 Content-Type: text/html...

Jak funguje webový server přijme HTTP požadavek určí cíl požadavku na základě následujících informací relativní adresy hlavičky host konfigurace pokud je cílem statický soubor, vrátí ho zabalený do HTTP odpovědi pokud je cílem skript provede skript a vrátí výstup skriptu zabalený do HTTP odpovědi

Webové servery Apache (61%) IIS (14%) Nginx (11%) GWS (3%) Lighttpd Node.js...

Jak naprogramovat "logiku" aplikace Java (JSP, Tomcat,...) PHP Python C #, ASP.NET,... Perl, C++, JavaScript, Prolog (!),...

Jazyk PHP: Trocha Historie 94 Rasmus Lerdorf, Personal Home Page Tools (PHP Tools), sledoval návštěvnost svých stránek 95 uvolněno k veřejnému použití, přejmenováno na FI (Forms Interpreter) kompletně přepsán a přejmenováno na Personal Home Page Construction Kit 96 opět přejmenováno, tentokrát na PHP/FI 97 Andi Gutmans, Zeev Suraski z Tel Avivu, začali s kompletním přepisem 98 instalován na cca 60000 doménách (1% domén), stále více-méně one-man-job PHP v 3.0, přejmenováno na PHP: Hypertext Processor 99 jádro opět kompletně přepsáno (Zend engine ZEev andi) první kniha o PHP (J. Kosek: PHP - tvorba interaktivních internetových aplikací )

Jazyk PHP: Trocha Historie II. 00 PHP v4 04 PHP v5 12 75% serverů, u kterých je známo co používají Používají PHP Wikipedie, Facebook, Moodle,...

PHP Template processor PHP interpret funguje jako filtr načte soubor (typicky html) ve kterém jsou vložené kousky kódu tyto kousky kódu provede a v původním textu je nahradí jejich výstupem vypíše vzniklý text Příklad <html > <title > Ukazka </ title > <body > <? php echo " Hello <b > world </b >!";?> </body > </html > <html> <title> Ukazka </title> <body> Hello <b>world</b>! </body> </html>

Datové typy, proměnné Názvy proměnných začínají dolarem ($), pak následuje podtržítko/písmeno a posloupnost písmen, podtržítek a číslic Typ proměnné se nedeklaruje Datové typy: Celá čísla (integers) Desetinná čísla (floating point numbers) Booleans (true/false) Řetězce (strings) Pole (arrays) <? php $smysl_ zivota = 42; $prvocisla = array (2,3,5,7,11) ; $mesta = array ( "UK" => " London ", "CZ" => " Praha ", "SK" => " Bratislava " );?> "U$" => " Washington, DC"

Operátory Aritmetické ++x, -x prefixové přičítání/odečítání jedničky x++,x - postfixové přičítání/odečítání jedničky % zbytek po dělení +=, /=,... akumulované sčítání, dělení,... Logické &&,,! logické AND, OR a NOT cond? v_if_true : v_if_false ternární operátor vrátí v_if_true pokud má výraz cond hodnotu true, jinak vrátí v_if_false ==,!= rovnost/nerovnost hodnot ===,!== rovnost hodnoty a typu / nerovnost hodnoty nebo typu Bitové &,, ˆ, bitwise AND, OR, XOR a NOT a «b, a» b bitový posun o b bitů doleva, resp. doprava S Řetězci. konkatenace

If, else, for,... If/Else if ( conditiona ) {... } elseif ( conditionb ) {... } else {... } For for ($i =0; $i <10; $i ++) {... } foreach ( $pole as $val ) {... } foreach ( $pole as $key => $val ) {... }

Switch <? php switch ($i) { case 0: echo "i equals 0"; break ; case 1: echo "i equals 1"; break ; case 2: echo "i equals 2"; break ; default : echo "$i" }? >

Funkce Default values <? php function factorial ( $n = 10) { if ($n <= 1) { return 1; } else { return $n* factorial ($n -1) ; } }?> Předávání parametrů odkazem <? php function plusone (& $n) { $n ++; }?> Proměnlivý počet parametrů func_num_args(), func_get_arg(), a func_get_args()

Práce se soubory // Nacte soubor jako pole radku $lines_array = file ( soubor. txt ); // Kazdou radku vypise foreach ( $f as $line ) { echo $line ; } // Nacte soubor do promenne $soubor $soubor = file_get_contents ( soubor. txt ); // Totez $fh = open ( soubor. txt ); $soubor = fread ($fh, filesize ( soubor. txt )); fclose ( $fh ); // Vytvori novy soubor soubor. txt a zapise do nej // novy obsah $fh = fopen ( soubor. txt, w ); fwrite ($fh," Novy obsah souboru "); fclose ( $fh );

Require, Include Funkce require vloží místo sebe zadaný php skript; pokud skript nenajde, program okamžitě skončí chybou Funkce require_once provede totéž, pokud už daný skript nebyl dříve načten. Funkce include jako require, ale pokud skript nenajde pokračuje dál

Komunikace s klientem Formuláře <form action= skript.php method= POST > <input type= hidden value= 42 name= test ></input> <table> <tr><td>jmeno:</td><td> <input type= text value= Petr name= jmeno ></input> </td></tr> <tr><td>komentar:</td><td> <textarea name= komentar >Tady zadejte komentar</textarea> </td></tr> <tr><td></td><td> <input type= submit value= Odesli formular /> </td></tr></table> </form>

Komunikace s klientem Formuláře v PHP Odeslané hodnoty jsou k dispozici v následujících polích $_GET $_POST $_COOKIES $_REQUEST $_FILES

Komunikace s klientem AJAX

Udržování stavu Cookies & Sessions

Dokumentace http://php.net/manual/en/