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

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

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

S z á m í t ó g é p e s a l a p i s m e r e t e k

Informatika terméktervezőknek

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

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

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

A C# programozási nyelv alapjai

Web-technológia PHP-vel

Java II. I A Java programozási nyelv alapelemei

A JavaScript főbb tulajdonságai

A C programozási nyelv II. Utasítások. A függvény.

Apple Swift kurzus 3. gyakorlat

Szkriptnyelvek. 1. UNIX shell

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

Webprogramozás szakkör

Java II. I A Java programozási nyelv alapelemei

S z á m í t ó g é p e s a l a p i s m e r e t e k

Programozási nyelvek JAVA EA+GY 1. gyakolat

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

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

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

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

PHP. Adatbázisok gyakorlat

Imperatív programozás

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.

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?

Programozás BMEKOKAA146. Dr. Bécsi Tamás 3. előadás

Imperatív programozás

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

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

file./script.sh > Bourne-Again shell script text executable << tartalmat néz >>

és az instanceof operátor

Algoritmizálás és adatmodellezés tanítása 1. előadás

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

Programozás II. 4. Dr. Iványi Péter

Szoftvertechnológia alapjai Java előadások

Mechatronika és mikroszámítógépek 2017/2018 I. félév. Bevezetés a C nyelvbe

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

Programozás I. 3. gyakorlat. Szegedi Tudományegyetem Természettudományi és Informatikai Kar

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

Járműfedélzeti rendszerek II. 2. előadás Dr. Bécsi Tamás

OOP #14 (referencia-elv)

Programozás. (GKxB_INTM021) Dr. Hatwágner F. Miklós február 18. Széchenyi István Egyetem, Gy r

Programozás alapjai. 5. előadás

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

WEBFEJLESZTÉS 2. PHP NYELVI ALAPOK

1. Egyszerű (primitív) típusok. 2. Referencia típusok

JAVA PROGRAMOZÁS 2.ELŐADÁS

PYTHON. Avagy hosszú az út a BioPythonig

Imperatív programozás

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

Matlab alapok. Baran Ágnes. Baran Ágnes Matlab alapok Elágazások, függvények 1 / 15

C programozási nyelv

Programozás II. 2. Dr. Iványi Péter

3D-s technológiák a játékfejlesztésben UDK bevezetés

Java programozási nyelv

Alprogramok, paraméterátadás

Internet technológiák

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

Komputeralgebra Rendszerek

SZERVER OLDALI JAVASCRIPT. 3. hét Javascript nyelvi elemek

Operációs Rendszerek II. labor. 2. alkalom

Algoritmizálás + kódolás C++ nyelven és Pascalban

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

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

WEBFEJLESZTÉS 2. MUNKAMENET-KEZELÉS, HITELESÍTÉS

Programozási nyelvek Python

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

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

Bevezetés a programozásba II. 5. Előadás: Másoló konstruktor, túlterhelés, operátorok

MATLAB alapismeretek II.

Programozás. (GKxB_INTM021) Dr. Hatwágner F. Miklós március 3. Széchenyi István Egyetem, Gy r

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

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

MicroSigner Közvetítő Szerver fejlesztői dokumentáció

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

Pénzügyi algoritmusok

Operációs rendszerek gyak.

Programozás I. Első ZH segédlet

Programozás alapjai gyakorlat. 4. gyakorlat Konstansok, tömbök, stringek

C programozás. 1 óra Bevezetés

Függvények. Programozás alapjai C nyelv 7. gyakorlat. LNKO függvény. Függvények(2) LNKO függvény (2) LNKO függvény (3)

Programozás alapjai C nyelv 7. gyakorlat. Függvények. Függvények(2)

Osztályok. 4. gyakorlat

RIA Rich Internet Application

Biztonságos PHP a gyakorlatban

Programozás C- és Matlab nyelven C programozás kurzus BMEKOKAM603 Előfeldolgozó rendszer Tömbök. Dr. Bécsi Tamás 4. Előadás

Szkriptnyelvek II. Perl programok

Programozási nyelvek I. 5. előadás (Gregorics Tibor anyagának felhasználásával)

C# gyorstalpaló. Készítette: Major Péter

Programozás C nyelven FELÜLNÉZETBŐL elhullatott MORZSÁK. Sapientia EMTE

Programozás alapjai C nyelv 4. gyakorlat. Mit tudunk már? Feltételes operátor (?:) Típus fogalma char, int, float, double

Smalltalk 2. Készítette: Szabó Éva

A C programozási nyelv I. Bevezetés

C++ programozási nyelv

Bevezetés a C++ programozási nyelvbe

Objektumok inicializálása

Szövegek C++ -ban, a string osztály

A C# PROGRAMOZÁSI NYELV

Átírás:

Web fejlesztés IV. Illés Zoltán ELTE TTK Informatika zoltan.illes@elte.hu

Ami eddig volt HTML interaktív elemek SSI, CGI jelentése,használata Kliens oldali nyelv Javascript Szerver oldali eszköz Shell script (SSI, CGI)

SSI, CGI programeszközei Tetszőleges programozási nyelv Shell script PHP (Programozható Hypertext Preprocesszor)

PHP http://www.php.net Ingyenes Aktuális verzió: 4.4.5 5.2.1 Linux disztribúciók része RISC OS, SGI, Netware Windows PHP dokumentáció (magyarul is )

PHP Installálás Apache: (httpd.conf bejegyzések) Addtype application/x-http-php.php LoadModule php4_module libexec/libphp4.so AddModule mod_php4.c Windows IIS Phpx-installer.exe IIS-Tulajdonságok-Home Dir. Fül-Configuration App. Mappings:.php c:\php4\php.exe %s %s

PHP használata Használati forma SSI előfeldolgozó CGI válasz generátor.php kiterjesztés Nem kötelező a cgi-bin könyvtárba tenni Nincs főprogram <?php // php számára írt sorok?>

PHP Jellemzői C stílusú utódnyelv Interpretált Kis-, nagybetű különböző Utasítás lezáró: ; (pontosvessző) Megjegyzés: // vagy /*.*/ Referencia használat Objektumorientált

Típusok PHP-ban Skalár Valós, egész, logikai, szöveg, objektum $ jel használata: $a=25; Logikai: $igaz=true; Minden nem 0, NULL, logikai igaz (mint C-ben) $hexa=0xffff; // hexadecimális formátum $s= HF\n ; // string és használat együtt: $i= I m a good boy

Tömbök PHP-ban I. Létrehozás Explicit: $a[0]= alma ; stb. array() elemmel: $b=array( fradi, UTE, MTK ); $c=array( alma => jonatán, szilva => ringló,...) Hozzáad végéhez: $b[]= ETO ; Index 0-tól indul Törlés: unset($b[1]); 1-es index definiálatlan, használata hibát ad If (array_key_exists(1,$a) print( van ); else print( nincs );

Tömbök PHP-ban II. Valójában minden tömb asszociatív(hash) Egy tömbelem bármilyen típusú lehet Többdimenziós, tömbök tömbje Teljes tömb kiírás: print_r($tomb); Elemszám: count($tomb) A string is tömb! $nev= fradi ; print(strlen($nev)); print($a[2]);

Tömbök PHP-ban III. array_push($vektor, alma, körte ); A v tömb végére illeszti az elemeket. $e=array_pop($vektor); A végéről levesz egy elemet Többdimenziós tömbök Mint JavaScriptben, tömbök tömbje Tömboperátorok $a + $b; //tömb egyesítés, mintegy unió!! $a == $b;//egyenlő ha kulcs/értékek azonosak $a === $b // mint előző, de még a sorrend is azonos!=,!== nem egyenlő, nem azonos

Szöveg függvények $a= almafa ; // sok str fv. van print strlen($a);// 6 Is_string($a); // true Chr(65); ord( a ); //A, 97 print substr($a,2,3); //maf split( m, $a); Strtoupper, strtolower,trim Stb

Változók hatásköre Globális, ha függvényen kívül definiált Ez függvényen belül nem látszik automatikusan global $a; // ekkor a $a külső látszik Lokális változó, függvényen belül Statikus változó, függvényen belül static $a=0; // első híváskor inicializálás

Konstansok define(k, Ez konstans ) print(k); TRUE, FALSE, NULL Konstans létezés: if (defined(k)) print( van ); PHP_VERSION, PHP_OS FILE, LINE

Kifejezések, operátorok Mint C-ben, ~ minden kifejezés and, or, xor (megmaradt && és ) Parancs helyettesítés operátor `` $adat=`ls al`; // mint shell scriptben.,.= string operátorok $a= alma. fa ; //összefűzés Ha szükséges, automatikus konverzió $b= 25 alma + 4; // 29 lesz $b <<< heredoc operátor, és nem <<

Heredoc (<<<) operátor print <<<END <p align=center><font size=5>jelentkezési lap rendszergazda továbbképzésre</font></p> <form>.itt van a tartalom </form> <p>kérem adja meg a jelentkezéshez szükséges adatait!</p> END;

Elágazások if (kif) ut; else ut; //mint C-ben elseif endif // else utáni if // nem kötelező switch, többirányú elágazás case érték: // érték szöveg is lehet! break, default cimke endswitch // ez is jó Nem kötelező a break! <?php if ($a > $b) { echo "a nagyobb, mint b"; } else { echo "a NEM nagyobb, mint b"; }?> <?php switch ($i) { case "alma": echo "i most: alma"; break; case körte": echo "i most: körte"; break; case barack": echo "i most: barack"; }?> break;

Ciklusok while (kifejezés) utasítás; do {.} while(feltétel); //amíg igaz for(kif1;kif2;kif3) utasítás; foreach(vektornév as értéknév) utasítás; foreach(vnév as kulcs=>érték) utasítás; Végiglépked egy vektoron

Függvények PHP-ban function osszead($a, $b) { return ($a+$b); } Meghívás: print(osszead(5,6)); Referencia szerinti paraméter function novel(&$a) { $a++;} Lehet paraméternek kezdőértéket adni Változószámú paraméter használható $db=func_num_args(); $i=func_get_arg(0-tól-db-ig) Összetett (több adat) visszaadás: return array($a,$b,$c)

Osztályok Class kulcsszó Egyszeres öröklés, extends kulcsszó Adattag definíció: var $nev; Konstruktor név azonos az osztály nevével Példány definiálás: $elem= new valami(); Függvényhívás: $elem->fv(); Ösfüggvény hívás: Ős::fv(); parent::fv();

Kliens-Szerver kapcsolat HTTP környezeti változók megjelenése $HTTP_SERVER_VARS vagy $_SERVER asszociatív tömb Példa: alma.php, alma.php?a=almafa $_SERVER['PHP_SELF'] megadja a fájlunk nevét, gyakran szerepel a form action paraméterében

Formok kezelése Form változó név php-s skalárként jelenik meg Ha a php.ini-ben register_globals=on-ra van állítva Action paraméter: action HTTP_GET_VARS, HTTP_POST_VARS Asszociatív tömb,a fentiekkel azonos a $_POST, $_GET Irx-en mindkettő él. Példa: masodfok.php <select name=elemek[] size=6 multiple> A $elemek tömbben jelennek meg a kiválasztott listaboxelemek. Több textmezőhöz is rendelhető azonos vektor formájú név

File feltöltés I. $thefile átmeneti változó, a file tartalma $thefile_name a file eredeti neve a küldő gépen $thefile_size a file mérete $thefile_type a file MIME típusa $thefile-t a script végén letörli!!! copy($thefile, file_név_a_szerveren); Ezek a globális változók az IRX-en nincsenek

File feltöltés II. $_FILES tömb, két indexes $_FILES[ nev1 ][ name ], file név $_FILES[ nev1 ][ tmp_name ], ideiglenes file $_FILES[ nev1 ][ type ], állomány típus, application/octet-stream $_FILES[ nev1 ][ size ], méret $_FILES[ nev1 ][ error ], hibakód Másolás: copy($_files["nev1"]["tmp_name"], "./sql/fradi.ka"); Példa: feltolt.php

Köszönöm a figyelmet! Illés Zoltán Budapest, Pázmány Péter sétány 1/c Zoltan.Illes@elte.hu