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);



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

1 Webový server, instalace PHP a MySQL 13

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

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

Návrh a tvorba WWW stránek 1/14. PHP a databáze

Použití databází na Webu

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

Objektově orientované programování v PHP 5. Martin Klíma

Databázové a informační systémy

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

Principy objektově orientovaného programování

1. Webový server, instalace PHP a MySQL 13

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

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

Instalace a konfigurace web serveru. WA1 Martin Klíma

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

WWW technologie. HTTP protokol

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

Návrh a tvorba WWW stránek 1/8. Formuláře

Přehled kapitol 1. Základní kostra HTML dokumentu 2. Členění dokumentu 3. Kaskádové styly - CSS 4. Pozadí stránky 5.

2) Napište algoritmus pro vložení položky na konec dvousměrného seznamu. 3) Napište algoritmus pro vyhledání položky v binárním stromu.

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

Semestrální práce z DAS2 a WWW

VÝVOJ INTERNETOVÝCH APLIKACÍ - VIA

Rezervační systém Tvorba WWW stránek

KTE / ZPE Informační technologie

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

Tvorba informačních systémů

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

Základy jazyka C# Obsah přednášky. Architektura.NET Historie Vlastnosti jazyka C# Datové typy Příkazy Prostory jmen Třídy, rozhraní

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

Seznamy a iterátory. Kolekce obecně. Rozhraní kolekce. Procházení kolekcí

PHP a Large Objecty v PostgreSQL

Tvorba informačních systémů

Střední průmyslová škola elektrotechnická Praha 10, V Úžlabině 320 M A T U R I T N Í T É M A T A P Ř E D M Ě T U

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

Databázové systémy. Doc.Ing.Miloš Koch,CSc.

Vytváření a použití knihoven tříd

Univerzita Palackého v Olomouci Radek Janoštík (Univerzita Palackého v Olomouci) Základy programování 4 - C# 10.4.

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

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. Webový server. generátor HTML stránek (CGI, Perl, PHP, Python, Ruby, Java, ASP.NET) zpracování požadavku/ odeslání odpovědi.

Střední průmyslová škola elektrotechnická Praha 10, V Úžlabině 320

Objekty v PHP 5.x. This is an object-oriented system. If we change anything, the users object.

Jaku b Su ch ý 1

Abstraktní datové typy: zásobník

Webové služby a XML. Obsah přednášky. Co jsou to webové služby. Co jsou to webové služby. Webové služby a XML

HTTP protokol. Zpracoval : Petr Novotný

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

Formuláře. Aby nám mohli uživatelé něco hezného napsat třeba co si o nás myslí!

Platební systém XPAY [

Inovace a zkvalitnění výuky prostřednictvím ICT Tvorba webových stránek. Ing. Zelinka Pavel Číslo: VY_32_INOVACE_35 17 Anotace:

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

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

Enterprise Java (BI-EJA) Technologie programování v jazyku Java (X36TJV)

17. července :51 z moravec@yahoo.com

Úvod do tvorby internetových aplikací

DUM 14 téma: Interakce s uživatelem

Komponenty v.net. Obsah přednášky

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

RMI Remote Method Invocation

IRAE 07/08 Přednáška č. 2. atr1 atr2. atr1 atr2 -33

Skriptovací jazyky. Obsah

Generické programování

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.

Zabezpečení webové vrstvy a EJB projektu Část nastavení specifická pro Glassfish, část dána Java EE

Technologie JavaBeans

TŘÍDY POKRAČOVÁNÍ. Události pokračování. Příklad. public delegate void ZmenaSouradnicEventHandler (object sender, EventArgs e);

Ukázka knihy z internetového knihkupectví

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

Tvorba informačních systémů

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

Obchodní akademie a Jazyková škola s právem státní jazykové zkoušky Jihlava

Projekty pro výuku programování v jazyce Java

Databázové systémy II. KIV/DB2 LS 2007/2008. Zadání semestrální práce

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

Dokumentaci k semestrální úloze z předmětu Internet a WWW (X36WWW)

Bezpečnost a bezpečné programování

Postup. Úvodem. Hlavní myšlenka frameworku. application. system. assets. uploads

Class loader. každá třída (java.lang.class) obsahuje referenci na svůj class loader. Implementace class loaderu

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

Zranitelnosti webových aplikací. Vlastimil Pečínka, Seznam.cz Roman Kümmel, Soom.cz

Bezpečnost webových aplikací

Formuláře. Internetové publikování

Obsah přednášky. 12. Dokumentace zdrojového kódu Tvorba elektronické dokumentace UML. Co je diagram tříd. Ing. Ondřej Guth

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

Plánování a vývoj základního frameworku

Bottle -- 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íč

Vyšší odborná škola a Střední škola,varnsdorf, příspěvková organizace. Šablona 4 VY 32 INOVACE

Obsah přednášky 9. Skrývání informací. Skrývání informací. Zapouzdření. Skrývání informací. Základy programování (IZAPR, IZKPR) Přednáška 9

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

Maturitní témata Školní rok: 2015/2016

PHP a bezpečnost. nejen veřejná

Sada 1 - PHP. 09. Formuláře

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

PREPROCESOR POKRAČOVÁNÍ

Jakub Čermák Microsoft Student Partner

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

Obsah přednášky 7. Základy programování (IZAPR) Přednáška 7. Parametry metod. Parametry, argumenty. Parametry metod.

Transkript:

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 propojení s PHP PHP a databáze MySQL Použití session proměnných Poznámky k bezpečnosti PTE - Jazyk PHP 2 1

Třídy a objekty // PHP4 class Zlomek { var $cit, $jm; function Zlomek($c,$j) { $this->cit = $c; $this->jm = $j; function soucin($z) { $this->cit *= $z->cit; $this->jm *= $z->jm; // PHP5 class Zlomek { public $cit, $jm; function construct($c,$j) { $this->cit = $c; $this->jm = $j; PTE - Jazyk PHP 3 Třídy a objekty Vytvoření instance třídy $z = new Zlomek(3, 5); Přístup k atributům a metodám objektu $z->soucin(new Zlomek(2,3)); echo "$z->cit/$z->jm"; PTE - Jazyk PHP 4 2

Dědičnost class LepsiZlomek extends Zlomek { function LepsiZlomek($c=1, $j=1) { // konstruktor předka se nevolá automaticky! Zlomek::Zlomek($c, $j); PTE - Jazyk PHP 5 Novinky v PHP5 Konstruktory a destruktory construct() destruct() Viditelnost atributů a metod public, protected, private Statické atributy a metody public static $x = abcd ; Trida::$x Abstraktní třídy a metody, rozhraní Reflexe PTE - Jazyk PHP 6 3

Výjimky (PHP5) try { $error = 'Always throw this error'; throw new Exception($error); echo 'Never executed'; catch (Exception $e) { echo 'Caught exception: ', $e->getmessage(), "\n"; PTE - Jazyk PHP 7 Webové aplikace WWW prohlížeč HTTP WWW server HTML, GIF, CGI Aplikace PHP Apache SQL MySQL DB Server PTE - Jazyk PHP 8 4

Webové aplikace Klient WWW prohlížeč (IE, Mozilla, Opera, ) Protokol HTTP Požadavek typu GET GET /app/predmet.php?kod=456-513/1&arg=1 Požadavek typu POST předávání parametrů v těle požadavku formuláře Server WWW server (Apache, IIS, ) Zpracuje požadavek a vrací odpověď MIME typ text/html, image/gif, PTE - Jazyk PHP 9 Propojení WWW serveru a PHP Vstupní data Adresa požadavku Parametry z formuláře Cookies Další informace (prohlížeč, server, ) Odpověď Nastavení formátu odpovědi Funkce pro generování PDF, obrázků, PTE - Jazyk PHP 10 5

Parametry z požadavku /app/predmet.php?kod=456-513/1&arg=1 $_REQUEST[ kod ] = 456-513/1 $_REQUEST[ arg ] = 1 <a href="go.php?action=del">odstranit</a> Speciální proměnné $_REQUEST, $_GET, $_POST, $_FILES $_COOKIE $_SESSION $_SERVER, $_ENV PTE - Jazyk PHP 11 Parametry z formuláře <form name= frm method= post > <input type= text name= x value= 10 > <input type= password name= pass > <input type= hidden name= y value= a > <input type= submit value= Uložit > </form> $_POST[ x ] $_POST[ pass ] $_POST[ y ] PTE - Jazyk PHP 12 6

Příklad login.html <form action="login.php" method="post"> Jméno: <input type="text" name="jmeno"><br> Heslo: <input type="password" name="heslo"><br> <input type="submit" value="ok"> </form> <? $jmeno = $_POST[ jmeno ] ; $heslo = $_POST[ heslo ]; if( $jmeno!="ja" && $heslo!= "s6gqe3" ) { die "Neoprávněný přístup!"?> login.php PTE - Jazyk PHP 13 PHP a databáze MySQL // připojení k serveru a výběr databáze mysql_connect("localhost","uzivatel","heslo"); mysql_select_db("databaze"); // dotaz $h = mysql_query("select * FROM uzivatele WHERE jmeno='$jmeno'"); // vytvoření objektu z výsledného řádku $uz = mysql_fetch_object($h); if(!$uz ) die "Uživatel neexistuje"; if( $uz->heslo!= $heslo ) die "Špatné heslo"; PTE - Jazyk PHP 14 7

Vkládání a aktualizace dat mysql_query( "INSERT INTO uzivatele(jmeno,heslo) VALUES('ja', 's6gqe3')"); mysql_query( "UPDATE uzivatele SET heslo='h6g3er' WHERE jmeno='ja'"); mysql_query( "DELETE FROM uzivatele WHERE jmeno='ja'"); PTE - Jazyk PHP 15 Použití session proměnných <? session_start(); session_register("uzivatel"); $uzivatel = "aaa000";?> <? session_start(); echo "Ja jsem $uzivatel";?> PTE - Jazyk PHP 16 8

Poznámky k bezpečnosti Přístup k parametrům pouze přes speciální proměnné (_$SESSION, ) V php.ini parametr register_globals=off Možnost podstrčení proměnné uživatelem Kontrola typu a formátu parametrů Code injection vložení textu do SQL dotazu Nevěřit ničemu, co dodá klient! PTE - Jazyk PHP 17 Poznámky k bezpečnosti Zabezpečení heslem Zabezpečený přenos mezi klientem a serverem pomocí SSL (https://...) Ukládání šifrovaného hesla do databáze UPDATE uzivatel SET heslo=md5( $heslo ) Přihlašování přes POST parametry GET se ukládají v historii Data o aktuálním uživateli Ukládat do session proměnných, ne do cookies PTE - Jazyk PHP 18 9

Další zdroje informací http://www.php.net domovské stránky PHP http://www.mysql.com domovské stránky MySQL http://www.kosek.cz spousta informací v češtině http://www.linuxsoft.cz/php/ seriál článků o PHP PTE - Jazyk PHP 19 10