Szerver oldali technológiák Szerver oldali script nyelvek PHP

Hasonló dokumentumok
Szerver oldali technológiák Szerver oldali script nyelvek PHP

Szerver oldali technológiák Szerver oldali script nyelvek PHP

PHP alapjai, bevezetés. Vincze Dávid Miskolci Egyetem, IIT

PHP II. WEB technológiák. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) PHP II / 19

WEBFEJLESZTÉS 2. ADATBÁZIS-KEZELÉS, OSZTÁLYOK

Web-technológia PHP-vel

WEB PROGRAMOZÁS 1.ELŐADAS. Dr. Pál László Sapientia EMTE, Csíkszereda, tanév, I. Félév

Osztályok. construct () destruct() $b=new Book(); $b=null; unset ($b); book.php: <?php class Book { private $isbn; public $title;

WWW Kliens-szerver Alapfogalmak Technológiák Terv. Web programozás 1 / 31

Dr. Pál László, Sapientia EMTE, Csíkszereda WEB PROGRAMOZÁS 2.ELŐADÁS. Objektumorientált programozás

Web programoz as

1. Mi a fejállományok szerepe C és C++ nyelvben és hogyan használjuk őket? 2. Milyen alapvető változókat használhatunk a C és C++ nyelvben?

PHP. Adatbázisok gyakorlat

Szkriptnyelvek. 1. UNIX shell

Internet programozása. 1. előadás

és az instanceof operátor

Java VIII. Az interfacei. és az instanceof operátor. Az interfészről általában. Interfészek JAVA-ban. Krizsán Zoltán

A PHP nyelv alapjai. Web-Sky Consulting Kft Tóth Imre 2009

A JavaScript főbb tulajdonságai

Forráskód formázási szabályok

A webhelyhez kötődő szoftverek architektúrája

Java Server Pages - JSP. Web Technológiák. Java Server Pages - JSP. JSP lapok életciklusa

AWK programozás, minták, vezérlési szerkezetek

A JavaServer Pages (JSP)

Dr. Pál László, Sapientia EMTE, Csíkszereda WEB PROGRAMOZÁS 6.ELŐADÁS. Fájlkezelés PHP-ben

JAVA webes alkalmazások

JAVA PROGRAMOZÁS 2.ELŐADÁS

Flash és PHP kommunikáció. Web Konferencia 2007 Ferencz Tamás Jasmin Media Group Kft

Java programozási nyelv 5. rész Osztályok III.

Osztályok. 4. gyakorlat

Helyes-e az alábbi kódrészlet? int i = 1; i = i * 3 + 1; int j; j = i + 1; Nem. Igen. Hányféleképpen lehet Javaban megjegyzést írni?

OBJEKTUM ORIENTÁLT PROGRAMOZÁS JAVA NYELVEN. vizsgatételek

Java programozási nyelv 4. rész Osztályok II.

RIA Rich Internet Application

PHP gyorstalpaló, avagy a Hello World-től az űrlapellenőrzésig

Tartalomjegyzék. I. rész Az elsõ lépések

C# Nyelvi Elemei. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) C# Nyelvi Elemei / 18

A JavaServer Pages (JSP)

BASH script programozás II. Vezérlési szerkezetek

Web-fejlesztés NGM_IN002_1

PHP5 Új generáció (2. rész)

Programozás II. 3. gyakorlat Objektum Orientáltság C++-ban

Pelda öröklődésre: import java.io.*; import java.text.*; import java.util.*; import extra.*;

Széchenyi István Egyetem. Programozás III. Varjasi Norbert

Programozás II. 2. gyakorlat Áttérés C-ről C++-ra

A JavaServer Pages (JSP)

PHP. Telepítése: Indítás/újraindítás/leállítás: Beállítások: A PHP nyelv

AWK programozás Bevezetés

Java és web programozás

Web fejlesztés IV. Illés Zoltán ELTE TTK Informatika I n f o r m a t i k a

OOP: Java 8.Gy: Abstract osztályok, interfészek

SZÁMÍTÓGÉPES ADATBÁZIS-KEZELÉS. A MySQL adatbáziskezelő A PHP programozási nyelv JDBC, ODBC

Osztály és objektum fogalma

Moodle -egy ingyenes, sokoldalú LMS rendszer használata a felsőoktatásban

AWK programozás, minták, vezérlési szerkezetek

Számítástechnika II. BMEKOKAA Előadás. Dr. Bécsi Tamás

Az iskolai rendszerű képzésben az összefüggő szakmai gyakorlat időtartama. 10. évfolyam Adatbázis- és szoftverfejlesztés gyakorlat 50 óra

WEB-PROGRAMOZÁS II. 1. Egészítse ki a következő PHP kódot a következők szerint: a,b,c,d: <?php. interface Kiir { public function kiir();

Miután létrehoztuk, szeretnénk neki beszédesebb nevet adni. A név változtatásához a következőt kell tenni:

OOP és UML Áttekintés

Adatbázis Rendszerek II. 1. SQL programozási felületek 39/1B IT MAN

A C# programozási nyelv alapjai

MVC Java EE Java EE Kliensek JavaBeanek Java EE komponensek Web-alkalmazások Fejlesztői környezet. Java Web technológiák

ADATBÁZIS-KEZELÉS - BEVEZETŐ - Tarcsi Ádám, ade@inf.elte.hu

WEB PROGRAMOZÁS 3.ELŐADÁS. Űrlapok

Programozási nyelvek II. JAVA EA+GY 1. gyakolat

SZÁMÍTÓGÉPES ADATBÁZIS-KEZELÉS. A MySQL adatbáziskezelő PHP folytatás JDBC, ODBC

PHP MySQL, Java JDBC MySQL. Adatbázisok az iskolában 2012 Dr. Balázs Péter Palatinus Endre és Erdőhelyi Balázs diái alapján

A J2EE fejlesztési si platform (application. model) 1.4 platform. Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem

Operációs rendszerek. 11. gyakorlat. AWK - szintaxis, vezérlési szerkezetek UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

Bevezetés Működési elv AJAX keretrendszerek AJAX

Programozási nyelvek JAVA EA+GY 1. gyakolat

Bevezető. Servlet alapgondolatok

Java II. I A Java programozási nyelv alapelemei

Operációs rendszerek. 9. gyakorlat. Reguláris kifejezések - alapok, BASH UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

OOP #14 (referencia-elv)

Programozási nyelvek Java

Informatika terméktervezőknek

Visual C++ osztály készítése, adattagok, és metódusok, láthatóság, konstruktor, destruktor. Objektum létrehozása, használata, öröklés.

Java I. A Java programozási nyelv

Interfészek. PPT 2007/2008 tavasz.

Model View Controller alapú alkalmazásfejlesztés

Symfony kurzus 2014/2015 I. félév. Controller, Routing

1. Jelölje meg az összes igaz állítást a következők közül!

Java servlet technológia 1 / 40

Az alábbi kód egy JSON objektumot definiál, amiből az adtokat JavaScript segítségével a weboldal tartalmába ágyazzuk.

PHP-MySQL. Adatbázisok gyakorlat

Web programozás I. 4. előadás

1.1. A forrásprogramok felépítése Nevek és kulcsszavak Alapvető típusok. C programozás 3

Web-fejlesztés NGM_IN002_1

Web programozás. Internet vs. web. Internet: Az Internet nyújtotta néhány alapszolgáltatás:

Operációs rendszerek. 9. gyakorlat. BASH recap, reguláris kifejezések UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

Hálózatok építése és üzemeltetése

API tervezése mobil környezetbe. gyakorlat

A függvény kód szekvenciáját kapcsos zárójelek közt definiáljuk, a { } -ek közti részt a Bash héj kód blokknak (code block) nevezi.

WEBFEJLESZTÉS 2. ADATTÁROLÁS, FÁJLOK

Tartalom DCOM. Történeti áttekintés. Történeti áttekintés. Történeti áttekintés. Történeti áttekintés

HTML. Ismerkedés a JavaScripttel. A JavaScript lehet ségei. A JavaScript kód helye. Önálló JavaScript fájlok

C++ programozási nyelv

Átírás:

Szerver oldali technológiák Szerver oldali script nyelvek PHP

Áttekintés Szerver oldali technológiák Szerver oldali script nyelvek PHP Általános jellemzők Formkezelés Állománykezelés Cookie (süti) Szessziókövetés MySQL adatbázishozzáférés

Szerver oldali technológiák CGI (Common Gateway Interface) ColdFusion HTML kiterjesztés, új tag-ekkel, melyek speciális műveletek elvégzését teszik lehetővé (pl. adatbázishozzáférés) Server Side Includes (SSI) szerver oldali scriptek lefuttatását teszi lehetővé a HTML-be ágyazott parancsok segítségével. Server-Side JavaScript (SSJS) JavaScript kiterjesztése újabb, szerver-oldalon működő objektumokkal

Szerver oldali technológiák PHP Servlet Sun által 1996-ban bevezetett technológia Java Server Pages (JSP) Servlet technológiára épül Active Server Pages (ASP) Microsoft által támogatott szerver-oldali script-nyelv főként Windows-os platformokra Active Server Pages.NET (ASP.NET) a Microsoft.NET keretrendszer része új elemeket hoz az ASP-hez képest (C# Java, CLR JVM)

Szerver oldali script nyelvek általános jellemzők a script végrehajtására a szerver gépen kerül sor a HTML-be beágyazott script-ről van szó egy script-értelmező motor dolgozza fel nincs szükség fordításra pl. PHP ASP (Microsoft)

Dinamikusan létrehozott HTML oldal Web-szerver gép www.pl.edu/lap.php HTML Web Szkript értelmező szerver HTML Böngésző megjelenítés kérés HTML old. motor filerendszer lap.php Internet Háttér szerverek (adatbázis, mail, stb.) Figure: HTTP kérés web-alkalmazás esetén

PHP általános jellemzők: PHP PHP: Hypertext Preprocessor (eredetileg: Personal Home Page Rasmus Lerdorf, 1994) jelenleg a legelterjedtebb szerver-oldali script nyelv nyílt forráskódú, ingyenes (http://www.php.net) beágyazható a HTML oldalba platformfüggetlen a legelterjedtebb op. rendszereket támogatja (Unix alapú op. rendszerek, Microsoft Windows, Mac OS X) leggyakrabban az Apache Web-szerverrel (más: Microsoft Internet Information Server, Personal Web Server, Xitami, stb.) PHP állományok kierjesztése:.php,.php[3 4 5],.phtml

PHP lehetőségek: dinamikus és interaktív web-oldalak készítése különböző adatbázisok támogatása (MySQL, Oracle, PostgreSQL, Generic ODBC, stb.) kommunikáció egyéb szolgáltatásokat nyújtó szerverekkel (pl. LDAP, IMAP, POP3, SMTP) használható szövegfeldolgozásra, illetve XML állományok feldolgozására (használható parancssorból, illetve kliens oldali alkalmazásként)

PHP Kellékek Web-szerver: Apache (http://www.scs.ubbcluj.ro/) PHP (Script-értelmező motor: Zend) (adatbázis-szerver: MySQL) otthoni használatra Apache (http://httpd.apache.org/) PHP (http://www.php.net/downloads.php) installálás CGI bináris állományként installálás Apache modulként MySQL (http://dev.mysql.com/downloads/) XAMPP (apache+php+mysql egyben): http://www.apachefriends.org/en/xampp-windows.html

PHP script beszúrása beágyazása a HTML oldalba (standard): <?php...?> nem standard: <script language="php"> </script>; <??>; <% %> include vagy require függvény segítségével a paraméterként megadott állomány tartalmát egyszerű szövegként szúrják be ha PHP kódot vagy kódrészletet szeretnénk beszúrni, azt <?php,?> tag-ek közé kell írni lásd: beszur.php, allatnev.inc

Szintaxis három helyről örökölt: C, shell script, Perl script általános jellemzők: engedékeny (hibákra való érzékenysége álĺıtható: error reporting(e ALL)) változónevek esetén számít a kis- vagy nagybetű, függvénynevek vagy kulcsszavak esetén nem

hasonlóságok a C szintaxissal: operátorok (=,+=, &&,,!, <,>,==, +,-,, %, stb.) kulcsszavak (if, while, for, switch, break, continue) számos függvénynév (pl. printf, string-, illetve filekezelő műveletek, stb.) kommentek (// vagy /*... */) a fehér karakterek száma nem számít ; -vel lezárt parancsok Hasonlóságok a shell illetve Perl script-el: lehet (Perl vagy) shell script-szerű megjegyzést is használni (#) változók neve $ jellel kezdődik (Perl) echo, (egy másik alternatíva: print("egyetlen argumentum")) idézőjelek: (a közé írt változók ki lesznek értékelve), (\\, \ kivételével betű szerint értelmezi a szöveget) reguláris kifejezések használata

változók: típusuk meghatározása dinamikusan történik, értékadáskor (egész: 21, valós: 3.14, karaktersor: szoveg, logikai: TRUE/FALSE, tömb, objektum) nem kell deklarálni nevük: $ karakterrel kezdődik csak betűt, számjegyet vagy karaktert tartalmazhat ($ után nem kezdődhet számjeggyel) kis- vagy nagybetű számít használható referencia: $valt1 = &$valt2;

változók: alapértelmezett kezdeti értékek: FALSE, 0, üres string, üres tömb (isset() segítségével megvizsgálható, hogy volt-e már érték adva egy változónak) függvényen belül minden változó alapértelmezés szerint lokális (globális változók elérése függvényen belül: global kulcsszóval, vagy $GLOBALS[<változónév >]) lásd: globalis.php statikus változók: lásd statikus valt.php változó változónevek: lásd valt valt.php automatikus típuskonverzió var dump(); print r() információt ad a megadott változóról

Tömbök PHP-ban a tömb gyakorlatilag egy sorszámozott asszociatív tömb (map) létrehozása: array( kulcs => ertek,...) ahol a kulcs lehet numerikus vagy string, az érték pedig bármilyen típusú lehet egyenkénti értékadással

Tömbök törlés unset() $arr = array(5 => 1, "szam" => 21); elem törlése: unset($arr["szam"]); tömb törlése: unset($arr); tömb elemeinek bejárása: for numerikus index esetén foreach: foreach (tomb as $ertek)... foreach (tomb as $kulcs => $ertek)... Pl. lasd: Tomb tomb.php

Függvények saját függvény definiálása: <?php function fgnev($arg 1, $arg 2,..., $arg n) {... return $retval; }?> feltételes függvények (csak a feltétel teljesülését követően érhető el) függvényen belül definiált függvény (csak a külső függvény meghívását követően válik elérhetővé) változófüggvények

Objektumok használata (PHP 5) osztálydefiníció (lásd. egyszerupl.php) <?php class MyClass { // adattag deklaráció public $var = alapertelmezett ertek ; // metódus deklaráció public function displayvar() { echo $this->var; } }?> Osztálypéldány létrehozása, hivatkozások <?php $obj = new MyClass(); echo $obj->var; $obj->displayvar();?>

Objektumok öröklődés öröklődés egyszeres öröklés extends kulcsszó az örökölt metódusok és adattagok felüĺırhatóak (kivétel: szülő osztályban final-al deklarált metódus) felüĺırt metódusra vagy adattagra hivatkozhatunk parent:: segítségével amennyiben a gyerek rendelkezik saját konstruktorral ( construct függvény) vagy destruktorral ( destruct függvény), akkor a szülő konstruktora/destruktora NEM lesz meghívva automatikusan Pl. lásd. oroklodes.php

Objektumok metódusok/adattagok láthatósága public, protected, private egyéb lehetőségek: absztrakt osztály definiálása (abstract kulcsszó) interfész (interface, implements kulcsszavak) statikus adattagok/metódusok lásd.: egyebek.php

PHP beépített globális változók (superglobals) PHP beépített globális változók (asszociatív tömbök): $GLOBALS az összes globális változót tartalmazó tömb $ SERVER a Web-szerver által beálĺıtott értékek, illetve az aktuális script-el kapcsolatos értékek ( PHP SELF, argv GET, query string, SERVER ADDR, REQUEST METHOD, DOCUMENT ROOT, stb.) $ GET a (GET metódussal küldött) kérés paraméterek $ POST (POST metódussal küldött) változók $ COOKIE HTTP-n küldött sütik $ FILES HTTP post metódussal feltöltött állományok $ ENV környezeti változók $ REQUEST GET, POST, és COOKIE változók $ SESSION az aktuális szesszióhoz tartozó változók

Formkezelés az elküldött kérés (submit) paraméterei automatikusan elérhetőek a PHP scriptből: $ POST, $ GET, vagy $ REQUEST tömbök segítségével Pl. lásd: Formpl form pl.php, form post.htm, form get.htm, file upload form.htm

Filekezelés gyakran használt függvények: fopen, fclose, fwrite, fread, fgets, filesize, feof, file exists, delete, rename, stb. pl. lásd: Filekezeles file modosit.php, fwrite.php

Süti (cookie) kisméretű szöveges információ, mely a kliens gépén van tárolva leggyakrabban a kliens azonosítására szolgál cookie létrehozás: setcookie(nev, ertek, lejar, ut, domenium); a <html> tag előtt kell megjelenjen elérhetősége a $ COOKIE változón keresztül süti törlés lejárási időpont álĺıtásával <?php setcookie("user", "", time()-3600);?> pl. lásd: Sutik cookie set.php, szamlalo.php

Szessziókövetés Szesszió (munkamenet, session): egy konkrét felhasználóra vonatkozó információkat a szesszióban tároljuk ideiglenesen az itt tárolt változók az egész web-alkalmazáson belül hozzáférhetőek egy egyedi azonosító lesz minden egyes felhasználóhoz hozzárendelve, ennek alapján történik a felhasználó beazonosítása az azonosító sütiben van tárolva, vagy az URL-en keresztül történik a közvetítése

Szessziókövetés szesszió indítás: <?php session start();?> a <html> tag ELŐTT kell szerepeljen változók lementése a $ SESSION tömb elemeként: $ SESSION[ nr ]=1; törlés: változó törlése: unset($ SESSION[ nr ]) a teljes szesszió törlése: session destroy(); Pl Szessziokovetes szessziotovabbitas.php, kov.php; bevasarol.php, adatok a szessziobol.php

MySQL adatbázishozzáférés gyakori függvények: csatlakozás az adatbázishoz: mysql connect(); adatbázis kiválasztása: mysql select db(); SQL parancs végrehajtása: mysql query(); egy bejegyzés lekérése a lekérdezés eredményéből: mysql fetch array(); kapcsolat bezárása: mysql close(); Pl. lásd: MySQL 1 lekerdez.php, 2 lekerdez.php, form adat bevitel.php, pl komplex.php