Funkce a procedury  Funkce a procedury mají za úkol vykonávat určitou činnost, která se opakuje na několika místech skriptu. Obě se definují klíčovým.

Slides:



Advertisements
Podobné prezentace
Pro začátek něco lehčího
Advertisements

ŘÍDÍCÍ STRUKTURY - PODMÍNKY
Vlastní skript může být umístěn: v hlavičce stránky v těle stránky
Dynamické dokumenty na straně klienta Informatika pro ekonomy II.
IKT PHP PHP Tvorba formuláře - 10 Mgr. Josef Nožička
Tvorba webových stránek
Technologie pro publikování na webu 1 Ing. Jiří Štěpánek.
Vstupy a výstupy v JavaScriptu Vstup: použitím metody prompt objektu window čtením hodnot z položek formuláře Výstup : použitím metody alert objektu window.
Formuláře jsou důležitou součástí stránek, slouží:  k přihlašování k některým stránkám (eshopy, bakaláři, diskuze na webu apod.)  k odeslání údajů do.
Formuláře Formuláře lze nalézt téměř na každém webu. Formuláře lze nalézt téměř na každém webu. Použití formulářů: Použití formulářů: Blog Blog Uživatelské.
HYPERTEXT PREPROCESSOR. JAZYK PHP. Jazyk PHP (Hypertext PreProcessor) je intepretovaný jazyk určený pro web. Je celkem jednoduchý, snadno přenositelný.
PHP Souhrnné cvičení Mgr. Josef Nožička IKT PHP
Vytváření, použití dávkových souborů
VISUAL BASIC Práce se soubory.
PHP Zpracování formuláře v PHP - 11 Mgr. Josef Nožička IKT PHP
Návrh a tvorba WWW Cvičení 6
PHP – vkládání souborů a html 5
YMUSY1 Multimediální systémy 1 Cvičení 5 Formuláře a ovládací prvky.
Programování v Pascalu Přednáška 7
PHP a MySQL Připojení k databázi:
17.Tabulkový procesor (filtrování a řazení dat, formuláře, podmínky a podmíněné formátování, export a import dat) Barbora Skoumalová 4.A.
PHP – zasílání dat z formuláře
Tutoriál Vlastní složka My EBSCOhost
PHP – Základy programování
Návrh a tvorba WWW Přednáška 7 Pokročilá práce s PHP.
Funkce a procedury Funkce jsou v PHP nezbytným programovacím prostředkem. Funkce jsou v PHP nezbytným programovacím prostředkem. Procedura vykonává nějakou.
KIV/ZIS cvičení 6 Tomáš Potužák. Pokračování SQL Klauzule GROUP BY a dotazy nad více tabulkami Stáhnout soubor studenti_dotazy_sql.mdb.
Celní služby 2000 Radek Sedláček TranSoft a.s Radek Sedláček TranSoft a.s
Maturitní okruh 22: Úvod do HTML. Značkovací a klasické jazyky Klasické: převládá strukturovaný text (programovací kód), skripty jsou prováděny na straně.
Proměnné v PHP Každý programovací jazyk pracuje s nějakými hodnotami. To, do čeho se tyto hodnoty ukládají, se nazývá proměnné. Každý programovací jazyk.
JavaScript Podmínky, cykly a pole.
3. Příkazy  Příkazy dělíme na jednoduché a strukturované.  Jednoduché příkazy - žádnou jejich dílčí částí neni příkaz - přiřazovací, vstupu a výstupu,
Návrh a tvorba WWW Cvičení 4
Proměnná typu "pole" Mezi proměnné typu "pole" patří všechny superglobální proměnné. Mezi proměnné typu "pole" patří všechny superglobální proměnné. To.
Poznámkový blok a WWW Mgr. Lenka Švancarová. Poznámkový blok a WWW Spustíme si Poznámkový blok.  Soubor-Uložit jako Uložit jako typ – Všechny soubory.
Dílna Caché II. CSP pro pokročilé Tomáš Vaverka. Zdroje HTML Tag Reference v sekci Reference Material v dokumentaci Caché HTML Tag Reference v sekci Reference.
Návrh a tvorba WWW Přednáška 5 Úvod do jazyka PHP.
Příkaz "echo" Příkaz "echo" Příkaz "echo" se používá pro zobrazení daných informací na monitoru. Příkaz "echo" se používá pro zobrazení daných informací.
Internet.  Celosvětový systém propojených počítačů  Funkce  Sdílení dat  Elektronická pošta.
Dynamické dokumenty na straně serveru Informatika pro ekonomy II přednáška 8.
PROGRAMOVÁNÍ V PHP PERSONAL HOME PAGES SESSIONS. 2 COOKIES JEDNÁ SE O KRÁTKÉ TEXTOVÉ ŘETĚZCE, JEŽ SI MEZI SEBOU VYMĚŇUJÍ WEBOVÝ SERVER A WEBOVÝ KLIENT.
AJAX nejmodernější webová technologie… seminář pro učitele ZŠ a SŠ Mgr. Marek Osuchowski Ostravská univerzita © 2011.
Úvod do JavaScriptu JavaScript je p JavaScript je programovací jazyk, který se používá na webových stránkách. JavaScript je typu KLIENT - KLIENT To znamená,
Obchodní akademie, Ostrava-Poruba, příspěvková organizace Vzdělávací materiál/DUM VY_32_INOVACE_01B16 Autor Ing. Jiří Kalousek Období vytvoření březen.
PHP Souhrnné cvičení Mgr. Josef Nožička IKT PHP
7. Typ soubor Souborem dat běžně rozumíme uspořádanou množinu dat, uloženou mimo operační paměť počítače (na disku). Pascalský soubor je abstrakcí skutečného.
PHP Vytváření formuláře.
URL v HTML URL - Unique Resource Locator Příklad:
Základy syntaxe jazyka PHP PHP JE TECHNOLOGIE BĚŽÍCÍ NA SERVERU. PHP JE TECHNOLOGIE BĚŽÍCÍ NA SERVERU. Typický PHP skript obsahuje: Typický PHP skript.
2 Petr Žitný znalosti.vema.cz 3 Báze znalostí Nová služba zákazníkům ▸Báze naplněná informacemi, ke které mají uživatelé přímý přístup Základní cíl ▸Poskytovat.
Úvod do PHP IZI 228.
Formuláře Formuláře uzavíráme do elementů Formuláře uzavíráme do elementů a a Tyto elementy jsou součástí jazyka XHTML, to znamená, že při použití v PHP.
Obchodní akademie, Ostrava-Poruba, příspěvková organizace Vzdělávací materiál/DUM VY_32_INOVACE_01B10 Autor Ing. Jiří Kalousek Období vytvoření prosinec.
Soubory BI-PA1 Programování a algoritmizace 1, ZS Katedra teoretické informatiky © Miroslav Balík Fakulta informačních technologií České vysoké.
PHP Programy pro tvorbu WWW stránek - 01
Registrace uživatele na pro užívání webhostingu.
Podprogramy (subroutines) Pojmenované kousky programu, které –tvoří logicky ucelené části –se v programu opakují Jsou zapsány na jednom místě a v případě.
PROGRAMOVÁNÍ V PHP PERSONAL HOME PAGES FORMULÁŘE + PODMÍNKY + SWITCH.
JavaScript úvod. Jazyky webového vývojáře Dynamická stránka  aktivně mění svůj obsah v reakci na činnost uživatele  zpracování na straně serveru (PHP,
HYPERTEXT PREPROCESSOR. JAZYK PHP. VYUŽITÍ JAZYKA Programování dynamických internetových stránek a webových aplikací vytvoření šablony webu kniha návštěv.
Tvorba webu Zdeněk Malý.
Verze 22 systému Aleph školení klienta 1. Struktura systému Typy bází: Bibliografická – obsahuje bibliografické záznamy – KNA01 ostrá báze Administrativní.
Tvorba www stránek – (01) úvod Autor: Mgr. Josef Motl Datum: , ročník: 7. ročník ZŠ Vzdělávací oblast: Informační technologie Anotace: Prezentace.
Zabezpečení – CSRF, XSS Tomáš Hulák, Miroslav Kořínek.
HYPERTEXT PREPROCESSOR. JAZYK PHP. VYUŽITÍ JAZYKA Programování dynamických internetových stránek a webových aplikací vytvoření šablony webu kniha návštěv.
ZPRACOVÁNÍ VSTUPŮ POST a GET. METODY ZPRACOVÁNÍ VSTUPŮ 2.
CHOICE příkaz slouží k ovládání dávkového souboru, pomocí toho příkazu, můžete povolit provedeni jen určité části kódu dávkového souboru, ten to kód musí.
Název školy: Střední odborná škola stavební Karlovy Vary
Web Application Scanning
HASH.
Transkript prezentace:

Funkce a procedury  Funkce a procedury mají za úkol vykonávat určitou činnost, která se opakuje na několika místech skriptu. Obě se definují klíčovým slovem function.  Funkce vrací hodnotu, jsou tedy výrazem a lze jejich výsledek přiřadit např. proměnné. Kód funkce i procedury je uvozen do složených závorek.  Název funkce i procedury není citlivý na velká a malá písmena.

Funkce a procedury <?php function jméno (parametr1, parametr2,...) { sekvence příkazů; return návratová hodnota; }  Funkce obsahuje klíčové slovo return. Proměnná nebo výraz uvedená za return se vrátí jako výsledná hodnota a provádění funkce končí.  Parametry lze vynechat, pokud nepotřebujeme v těle funkce či procedury zpracovávat hodnoty předané z vnějšku.

Funkce a procedury function soucet () // Toto je funkce vracející hodnotu { $x = 1; $x = 1; $y = 2; $y = 2; return $x + $y; return $x + $y;} function vypis() // Toto je procedura { echo "Hello world"; echo "Hello world";}

Argumenty  Umožňují předat funkci nebo proceduře vstupní hodnoty. function dvojnasobek ($cislo) { return $cislo * 2; return $cislo * 2;} echo dvojnasobek(6); // volání funkce – vypíše 12  Funkce převezme hodnotu odpovídající parametru, kterou pak použije pro výpočet návratové hodnoty.

Argumenty předávané hodnotou  Proměnná parametru (např. $cislo) uvnitř funkce pracuje s kopií hodnoty, která je jí předána (např. $a). Změna parametru ($cislo), nezmění předanou hodnotu proměnné ($a). function dvakrat ($cislo) // argument – konstanta nebo proměnná { $cislo = $cislo * 2; return $cislo; return $cislo;} $a = 6; echo "proměnná \$a = ".$a; 6 echo " výsledek provádění funkce dvakrat() = ".dvakrat($a);12 echo “ proměnná \$a = ".$a; 6

Argumenty předávané hodnotou  Argumenty předávanými hodnotou mohou být: literáty (čísla, textové znaky, kombinace obojího) literáty (čísla, textové znaky, kombinace obojího) konstanty konstanty proměnné proměnné výsledky provádění jiné funkce výsledky provádění jiné funkce kombinace výše zmíněných kombinace výše zmíněných function jmeno_funkce (1) function jmeno_funkce (MAX) function jmeno_funkce ($x, $y) function jmeno_funkce (jina_funkce($a), “součet”)

Argumenty předávané odkazem  Proměnná parametru (např. $cislo) uvnitř funkce pracuje přímo s proměnnou, která je jí předána (např. $a). Změna parametru ($cislo), změní předanou hodnotu proměnné ($a). function dvakrat (&$cislo) // argument MUSÍ být proměnná!!! { $cislo = $cislo * 2; $cislo = $cislo * 2; return $cislo; return $cislo;} $a = 6; echo "proměnná \$a = ".$a; 6 echo " výsledek provádění funkce dvakrat() = ".dvakrat($a);12 echo “ proměnná \$a = ".$a;12

Platnost proměnné  Proměnné deklarované uvnitř funkce, nejsou platné vně funkce!!!! function zmena_A() { $a = 10; $a = 10;} $a = 20; zmena_A(); echo $a; // vypíše 20 Proměnné $a nejsou totožné!!! Proměnná $a uvnitř funkce neovlivní hodnotu proměnné použité v hlavním skriptu.

Příkazy „require“ a „include“  Liší se ve zpracování chyb, ale hlavně v tom, že require se například v příkazech cyklu provede jen jednou, zatímco include se může provádět opakovaně.  Umožňují načítat do skriptu z externího souboru: části jiných skriptů části jiných skriptů části stránek části stránek funkce definované uživatelem funkce definované uživatelemPrakticky: Vkládání uživatelských funkcí do více stránek Vkládání uživatelských funkcí do více stránek Vytvářet a uzavírat spojení s databází na více stránkách Vytvářet a uzavírat spojení s databází na více stránkách Vytvořit standardní hlavičku stránek … atd … Vytvořit standardní hlavičku stránek … atd …

Příkaz „require“ // vypis.php <?php echo "Toto je voláno z vypis.php "; echo "Toto je voláno z vypis.php ";?> // skript.php <?php require("vypis.php"); require("vypis.php"); echo "Další běh skriptu"; echo "Další běh skriptu";?> Chybějící soubor ve volání require vyvolá fatální chybu.

Příkaz „include“ // vypis.php <?php echo "Toto je voláno z vypis.php "; echo "Toto je voláno z vypis.php ";?> // skript.php <?php include("vypis.php"); include("vypis.php"); echo "Další běh skriptu"; echo "Další běh skriptu";?> Chybějící soubor ve volání include vyvolá varování, skript pokračuje dál.

Globální proměnné Globální proměnné – jejich hodnota je platná (viditelná) ve všech částech aktuálního skriptu (stránky), ve kterém je definovaná. “Superglobální” proměnné – jejich hodnotu lze přenášet mezi stránkami webového sídla. 1. Globální proměnné v rámci stránky – $GLOBALS 2. Zpracování dat z formuláře – metody odeslání dat GET a POST 3. Sdílení obsahu proměnné mezi stránkami – SESSION a COOKIE 4. Proměnné, které vytváří prostředí PHP a webový server

Globální proměnná $GLOBALS  Jedná se o globální proměnnou, která je viditelná ve všech částech skriptu (aktuální stránky), ve kterém je definovaná $GLOBALS["cislo"] = 2; function zmen() { $GLOBALS["cislo"] = $GLOBALS["cislo"] + 10; $GLOBALS["cislo"] = $GLOBALS["cislo"] + 10;}zmen(); echo $GLOBALS["cislo"]; // vypíše číslo 12

Metoda GET  Data jsou předána obsluhujícímu skriptu pomocí URL adresy. Lze využít jak u zpracování dat z formuláře, tak např. při navigaci v rámci stránky Zadejte Vaše jméno: Zadejte Vaše jméno: Jméno: Jméno: Příjmení: Příjmení: </form>

Metoda GET  Obsah skriptu vypis.php ”; ”; echo “Vaše příjmení: ”.$_GET[‘prijmeni']; ?> i=Skopec&tlacitko=Vypsat

Metoda GET  ? – odděluje URL stránky od přenášených dat proměnná = hodnota – název proměnné a její hodnota & – Oddělení jednotlivých proměnných + – nahrazuje mezeru Všechny ostatní speciální znaky a písmena s háčkem nebo čárkou jsou překódovány do hexadecimální podoby.

Metoda GET  Chcete-li přenášet v rámci URL adresy login a heslo, je dobré tyto hodnoty zakódovat pomocí funkcí definovaných v PHP: Pro zakódování dat v URL se používá funkce base64_encode – zakóduje data pomocí MIME base64 base64_decode – dekóduje data kódovaná pomocí MIME base64 Pro přenášení hesel a jejich ukládání do databáze se doporučuje používat např. funkci sha1, nemající zpětný ekvivalent !!! Popis těchto funkcí – viz. manuál k PHP

Metoda POST Data se neposílají v URL stránky, ale jsou součástí těla požadavku webovému serveru. Slouží k odesílání většího objemu dat, obrázků, atd Zadejte Vaše jméno: Zadejte Vaše jméno: Jméno: Jméno: Příjmení: Příjmení: </form>

Metoda POST Obsah skriptu vypis.php ”; ”; echo “Vaše příjmení: ”.$_POST[‘prijmeni']; ?>

Metoda POST  Odesílají-li se z formuláře metodou POST kromě textu také soubory (např. obrázky), je potřeba v definici formuláře nastavit atribut: enctype = “multipart/form-data” Atribut enctype udává způsob zakódování odesílaných dat.

Úkol  Vytvořte jednoducho kalkulačku využijte funkce eval(): eval ("\$vysledek =5 + 5;")

Řešení Zadej první číslo, operaci a druhé číslo + - * / $a= $_POST["A"]; $b= $_POST["B"]; $operace= $_POST["operace"]; eval("\$vysledek = $a $operace $b ;"); echo "$a $operace $b = "; echo $vysledek;

Řešení 2 $a= $_POST["A"]; $b= $_POST["B"]; $operace= $_POST["operace"]; if (empty($a) &&empty($b)&&empty($operace) ) { echo" Nic nebylo zadáno "; } else { eval("\$vysledek = $a $operace $b ;"); echo "$a $operace $b = "; echo $vysledek; } Zadej první číslo, oparaci a druhé číslo + - * / Lépe s kontrolou zadání

Úkol  Vytvořte přihlašovací obrazovku, po přihlášení: –Pokud se přihlásíte jako Alena (heslo Alena), spustí se příklad kalkulačka –Pokud se přihlásíte jako Pepa (heslo Pepa), spustí se příklad formuláře $name = $_POST ['name'];// $HTTP_POST_VARS $password = $_POST [' password']; if($name=="pepa"&&$password="pepa"){ header("Location: knihyv1.php");}  Header: přesměrování stránky  Funkci header použít dříve, než vypíšeme jakýkoli výstup!!

Řešení  Musí být ve dvou souborech! <?php $name = $_POST['name']; $password = $_POST['password']; if($name=="pepa"&&$password="pepa") {header("Location:formulare.php");} if($name=="alena"&&$password="alena ") {header("Location:kalkulacka.php");} echo "Sorry" ; ?> Lepší řešení použít fci md5() nebo sha1()

COOKIES  Jedná se o jednoduché textové řetězce ve formátu jméno=hodnota uložené na počítači klienta.  Cookies umožňují sdílet hodnoty mezi jednotlivými stránkami webového sídla.  Pozor!!! Pokud má internetový prohlížeč vypnutou podporu cookies, nelze s nimi pracovat, neboť je prohlížeč v případě požadavku neodesílá webovému serveru.  Mylný je názor, že cookies mohou poškodit počítač nebo odesílat citlivá data z počítače klienta!!!  Cookie proměnná je použitelná do doby, dokud nevyprší její platnost nebo dokud není smazána z disku počítače klienta.

Ukládání COOKIES  V PHP je pro ukládání cookies funkce: setcookie(“nazev”, “hodnota”, expire, “path”, secure); setcookie(“nazev_cookie”, “hodnota”);  jelikož cookies se posílají v hlavičce odpovědi webovému serveru, je potřeba funkci setcookie() volat před jakýmkoliv výstupem z vašeho skriptu včetně značek a ! setcookie(“nazev_cookie”, “hodnota”, time()+3600);  Třetí parametr je nepovinný a definuje dobu platnosti cookie, zde je nastavena doba platnost na 1 hodinu  time()+3600

Čtení COOKIES  Pro čtení cookie se v PHP používá “superglobální” proměnné:  $_COOKIE [“nazev_cookie”] <?php $zakaznik = “Jan Pavel”; $zakaznik = “Jan Pavel”; setcookie(“jmeno”, $zakaznik, time()+3600); setcookie(“jmeno”, $zakaznik, time()+3600); echo “Vaše jméno je ”.$_COOKIE[“jmeno”]; echo “Vaše jméno je ”.$_COOKIE[“jmeno”];?> Pozn.: Cookies bez udané doby platnosti jsou zapomenuty po ukončení práce s prohlížečem a většina prohlížečů je vůbec na disk neukládá.

výpis pole  Pro výpis obsahu pole print_r($_COOKIE) <?php $a = array ('a' => 'jablko', 'b' => 'ananas', 'c' => array ('x', 'y', 'z')); print_r ($a); ?>  Array ( [a] => jablko [b] => ananas [c] => Array ( [0] => x [1] => y [2] => z ) )

Mazání COOKIES  Při mazání cookie se musí zajistit, aby doba vypršení platnosti cookie byla v minulosti, čímž se v prohlížeči zapne mechanismus odstranění cookie. setcookie (“nazev_cookie", "", time() );  Pokud je přítomný pouze argument nazev, u klienta se smaže cookie tohoto jména  Kterýkoliv argument můžete také nahradit prázdným řetězcem (""), čímž tento argument přeskočíte. Argumenty expire a secure jsou celočíselné a nedají se přeskočit prázdným řetězcem. Místo toho použijte nulu (0).

COOKIES  Nevýhody použití cookies: 1.Použití cookies lze zakázat v prohlížeči 2.Uživatel může obsah cookie ručně změnit nebo smazat 3.Informace uložené v cookies jsou snadno čitelné (textový řetězec)

SESSION proměnné  Umožňují přenášet hodnoty mezi jednotlivými stránkami webového sídla.  Nelze je uživatelem zakázat v prohlížeči – spolehlivé sdílení hodnot !  Pokud chceme na stránce využívat session proměnné, zavoláme funkci session_start(). Poté bude prohlížeči přidělen unikátní identifikátor, tzv. Session ID. Pomocí tohoto Session ID se přenáší session proměnné mezi skripty. Vytvoření session proměnné: od PHP nelze: session_register("název_proměnné") od PHP nelze: session_register("název_proměnné") $_SESSION[“název_proměnné”]  Doporučuji používat ! $_SESSION[“název_proměnné”]  Doporučuji používat !

SESSION proměnné  Přehled vybraných funkcí pro práci se session proměnnými: session_start() - vytvoří session (ID). session_id() - zjistí aktuální session ID. session_regenerate_id() - změní aktuální session ID. unset ($_SESSION['varname']) - odstraní všechny session proměnnou. session_destroy() - odstraní aktuální session.

SESSION proměnné  Data spojená s probíhající session jsou umístěna většinou v souboru na serveru.  Příklad obsahu souboru reprezentující sessions: id|i:1;cas|i: ;stranek|i:8;  O veškerou režii spojenou s tímto souborem se stará PHP.  Session je platná: 1. Dokud ji nezrušíme pomocí funkcí pro práci se sessions 2. Dokud se nezavře okno prohlížeče

Proměnné web serveru a PHP  Jedná se o proměnné vytvářené webovým serverem: $_SERVER[‘nazev_promenne’]  a proměnné vytvářené prostředím PHP: $_ENV[‘nazev_promenne’]  Obsah těchto proměnných lze vypsat např. pomocí funkce phpinfo().  Proměnné a jejich obsah (hodnoty) lze ve skriptech běžně používat. Přehled těchto proměnných naleznete např. v manuálu PHP:

Výpis obsahu souboru <?php $soubor_jmeno = "files/dopis.txt"; if (file_exists($soubor_jmeno) && filesize($soubor_jmeno) > 0): $soubor = fopen($soubor_jmeno, "r"); $soubor = fopen($soubor_jmeno, "r"); $text = fread($soubor, filesize($soubor_jmeno)); $text = fread($soubor, filesize($soubor_jmeno)); echo $text; echo $text; fclose($soubor); fclose($soubor);else: echo " Žádná data k vypsání "; echo " Žádná data k vypsání ";endif;?>

Zápis do souboru <?php $soubor_jmeno = "files/dopis2.txt"; $soubor = fopen($soubor_jmeno, "w"); fwrite($soubor, "Sem se píše obsah"); fclose($soubor); ?>