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

Web programoz as

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

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

PHP. Adatbázisok gyakorlat

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

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

Szkriptnyelvek. 1. UNIX shell

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

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?

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

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

és az instanceof operátor

JAVA webes alkalmazások

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

Web-fejlesztés NGM_IN002_1

A JavaScript főbb tulajdonságai

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

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

A JavaServer Pages (JSP)

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

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

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

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

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

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

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

Osztályok. 4. gyakorlat

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

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

Java és web programozás

JAVA PROGRAMOZÁS 2.ELŐADÁS

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

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

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

A JavaServer Pages (JSP)

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

RIA Rich Internet Application

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

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

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

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

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

OOP és UML Áttekintés

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

A C# programozási nyelv alapjai

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

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

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

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

AWK programozás Bevezetés

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

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

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

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

OOP #14 (referencia-elv)

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

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

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

Osztály és objektum fogalma

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

PHP-MySQL. Adatbázisok gyakorlat

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

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

Model View Controller alapú alkalmazásfejlesztés

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

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

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

Informatika terméktervezőknek

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

Bevezető. Servlet alapgondolatok

Programozási nyelvek JAVA EA+GY 1. gyakolat

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

WEBFEJLESZTÉS 2. PHP NYELVI ALAPOK

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

Programozási nyelvek Java

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

Interfészek. PPT 2007/2008 tavasz.

API tervezése mobil környezetbe. gyakorlat

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

C++ programozási nyelv

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

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

Debreceni Egyetem Informatika Kar

Adatbázisok gyakorlat

Java II. I A Java programozási nyelv alapelemei

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.

COMET webalkalmazás fejlesztés. Tóth Ádám Jasmin Media Group

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

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

Java I. A Java programozási nyelv

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

Átírás:

Szerver oldali technológiák Szerver oldali script nyelvek

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

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

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

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

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

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

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

Áttekintés Szerver oldali technológiák Szerver oldali script nyelvek 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 osztályokkal, melyek szerver-oldalon működnek

Szerver oldali technológiák 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. 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

általános jellemzők: : 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.) állományok kierjesztése:.php,.php3,.phtml

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)

Kellékek Web-szerver: Apache (http://www.scs.ubbcluj.ro/) (Script-értelmező motor: Zend) (adatbázis-szerver: MySQL) otthoni használatra Apache http://httpd.apache.org/ 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

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 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 -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: Pl. for numerikus index esetén foreach: foreach (tomb as $ertek)... foreach (tomb as $kulcs => $ertek)... 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é)

Objektumok használata ( 5) osztálydefiníció (lásd. egyszerupl.php) <?php class MyClass { // adattag deklaráció public $var = a default value ; // 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

beépített globális változók (superglobals) 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 ( 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 Formkezelés az elküldött kérés (submit) paraméterei automatikusan elérhetőek a scriptből: $ POST, $ GET, vagy $ REQUEST tömbök segítségével Pl. lásd: Formpl form pl.php, form post.php, form get.php

Állománykezelés 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

Cookie 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ókövetés Szesszió (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ó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 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égrahajtá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