WEB Technológiák Dr. Pance Miklós – Kolcza Gábor Miskolci Egyetem.

Slides:



Advertisements
Hasonló előadás
Tananyag: konzultáció
Advertisements

Programozás III STRING-XML.
DFAN-INF-524 és DFAL-INF-524 kurzus hallgatói számára
Kifejezések 2+3 Egy egyszerű kifejezés… © Pasztuhov Dániel, www.programozas-oktatas.hu.
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
Objective- C Bereczki Gréta Tamara
HTML űrlapok kezelése és feldolgozása PHP segítségével
JavaScript.
Bevezetés a Java programozásba
Bevezetés a Java programozásba
5. előadás (2005. március 22.) Függvények definíciója, deklarációja, hívása Enumerációs adattípus 1.
A CLIPS keretrendszer CLIPS "C" Language Integration Production System.
Mutatók, tömbök, függvények
WEB Technológiák Coldfusion ME Általános Informatikai Tsz. dr. Kovács László.
WEB Technológiák A HTML és a CGI ME Általános Informatikai Tsz. dr. Kovács László.
PHP Webprogramozás alapjai
Web-grafika (VRML) 10. gyakorlat Kereszty Gábor. Script típusok Elemi típusok: szám: egész vagy lebegőpontos – int / float – 1 / 1.1 string: ‘Hello World!’
C++ Alapok, első óra Elemi típusok Vezérlési szerkezetek
Szombathely Dinamikus WEB programozás: PHP és JSP.
Önleíró adatok: XML INFO ÉRA, Békéscsaba
Vizuális és web programozás II.
SOAP alapismeretek A SOAP egy egyszerű XML alapú protokoll, ami lehetővé teszi, hogy az alkalmazások információt cseréljenek a HTTP-én keresztül. Forrás:
WEB Technológiák ISAPI ME Általános Informatikai Tsz. dr. Kovács László.
WEB Technológiák WEB-DB és XML ME Általános Informatikai Tsz. dr. Kovács László.
Operációs rendszerek gyakorlat 4. Gyakorlat Vakulya Gergely.
PHP I. Alapok. Mi a PHP? PHP Hypertext Preprocessor Szkriptnyelv –Egyszerű, gyors fejlesztés –Nincs fordítás (csak értelmező) Alkalmazási lehetőségek:
PHP III. Fájlok, űrlapok.
A PHP (PHP: Hypertext Preprocessor) nyílt forráskódú, számítógépes szkriptnyelv, legfőbb felhasználási területe a dinamikus weboldalak készítése. Emiatt.
Programozási Nyelvek (C++) Gyakorlat Gyak 02.
Az ASP.NET programozási modell Ez az előadó neve beosztása vállalata.
Űrlapok és keretek.
Űrlapok.
PHP oktatási tapasztalatok
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
Hernyák Zoltán Programozási Nyelvek II.
1 Hernyák Zoltán Web: Magasszintű Programozási Nyelvek I. Eszterházy.
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
1 Hernyák Zoltán Web: Magasszintű Programozási Nyelvek I. Eszterházy.
1 Hernyák Zoltán Web: Magasszintű Programozási Nyelvek I. Eszterházy.
Készítette: Lipp Marcell
Javascript Microsoft által készített kiegészítése Statikus típusosság Nagy projektek Windows 8 fejlesztésénél WinRT egy részét ebben írták Nyílt forráskódú,
PHP nyelv Mari Dániel.
3. előadás.  Apache szerver tudnivalók  Az index.php .htaccess – web-szerverünk beállításai  Konfigurációs állományok  Adatbázis kapcsolódás beállítása.
Web Architecture. Development of Computing Architectures Monolithic mainframe programming Client Server Real Client Server Web Programming.
Visual Basic 2008 Express Edition
Java programozási nyelv Metódusok
Java programozási nyelv Adatbekérés konzolról
Web fejlesztés V. Illés Zoltán ELTE Informatikai Kar
Illés Zoltán ELTE Informatikai Kar
Objektum orientált programozás 3. Függvények Nagy Szilvia.
Objektum orientált programozás
Webprogramozó tanfolyam
V 1.0 ÓE-NIK-AII, Programozás I. Karaktersorozatok Feladatok.
Webprogramozó tanfolyam Űrlapok (form-ok). Űrlapok a HTML-ben Biztosan mindenki találkozott már vele – Űrlap példapélda Felhasználási lehetőségei – Regisztráció,
HTML ÉS PHP (Nagyon) rövid áttekintés. ADATBÁZISRENDSZEREK MŰKÖDÉSI SÉMÁJA Felh. interakció DB Connector MySQL ? A gyakorlaton:
Illés Zoltán ELTE Informatikai Kar
Java web programozás 7-8..
Violet nails Készítette: Csőke Vivien. Bevezetés Téma: Violet nails - műkörömkészítő weblapjának elkészítése A weboldal elérhető az alábbi címen: violetnails.atw.hu.
Függvények a C nyelvben 1 Függvényeket a következő esetekben szokás írni: Ha ugyanazt a tevékenységet többször is el kell végeznünk ugyanolyan típusú,
Java web programozás 2..
Illés Zoltán ELTE Informatikai Kar
Opencms modul fejlesztés Krizsán Zoltán. Modulok fajtái Nincs előírás, csak tipikus tennivalók: –Content type: új típus(oka)t vezet be. –Template: új.
Informatikai gyakorlatok 11. évfolyam
Programozási alapismeretek
Alkalmazott Informatikai Tanszék
Hernyák Zoltán Magasszintű Programozási Nyelvek I.
Alkalmazott Informatikai Tanszék
Konverziós operátorok
Web alapú humán lekérdező rendszer
Előadás másolata:

WEB Technológiák Dr. Pance Miklós – Kolcza Gábor Miskolci Egyetem

CGI (Common Gateway Interface) Általános, platform független interface a WEB server és az általa indított külső programok között különböző programozási nyelven meg lehet valósítani Alapvetően két csoportba lehet ezeket sorolni: – Fordított (compiled) nyelvek; bináris, futtatható; például Pascal és C (MFC –nél Consol Application – ként kell fordítani, kiterjesztése.cgi) – Interpretált nyelvek (a program futási időben dolgozódik fel) Például Perl, PHP

Paraméterátadási módszerek Mielőtt a web-szerver elküldi az adatokat, URL kódolást hajt végre rajtuk és szabványos formátumra alakítja. A form method paraméterénél lehet meghatározni az átadási módszert. Az alapértelmezett a GET módszer GET: ebben az esetben az átadásra kerülő szöveges adat a QUERY_STRING-be kerül. Ez a string a cím mezőben is megjelenik, hozzáfűzve az URL-hez. Hátránya, hogy az átadott paraméterek láthatók lesznek. POST: A web-szerver ebben az esetben is URL kódolást hajt végre az adatokon. Ebben az esetben a http-szerver nem állítja elő vagy üresen hagyja a QUERY_STRING környezeti változót. Az adatokat ebben a CGI program szabványos bemeneti csatornájára küldi. Az eredeti URL tehát nemmódosul.

Környezeti változók REQUEST_METHOD: a kommunikáció során használ adatátviteli módot adja meg. ( POST, GET) QUERY_STRING: GET metódusnál a CGI számára átadott paraméterlista URL-kódolt formában. CONTENT_LENGTH: a szabványos input csatornán átadott adatmennyiség bájtokban. Post metódus esetén az átadott paraméterlista hossza. REMOTE_ADDR: a kérést küldő kliens gép IP címe.

Paraméterek kódolása Mivel a QUERY_STRING nem tartalmazhat szóköz karaktert, az alábbi karaktereknek kitüntetett szerepük van: &, %, = A speciális jeleket, pedig egy hexadacimális szám reprezentálja A paraméterek név=érték alakban kerülnek felsorolásra, „&” jel választja el őket egymástól Szóköz helyett „+” jel; link

CGI programozás C-ben Előnyös ha: Fontos a biztonság Nagy a terhelés több példányban fut a program, mivel ekkor is stabil, Root jogosultságot igénylő szerver erőforrásokhoz kell hozzáférni Fontos a sebesség Linux alatt: gcc –o proba.cgi proba.c Apache/cgi-bin/*.cgi Content-type vezérlőszó Mivel a böngésző különböző típusú fájlok megjelenítésére képes, ezért meg kell adni, hogy az adat, amit kap milyen formátumú. printf(”Content-type: text/html\n\n”);

Példa 2: HTML fájl Form Név: C program #include "stdafx.h" #include main() { printf("Content-type: text/html\n\n"); printf(" Megadott név: \n"); printf(" "); printf ("%s",getenv("QUERY_STRING")); return 0; }

PHP Interpretált nyelv (a program futási időben dolgozódik fel) Perl, PHP Szerver oldali script nyelv Interpretált nyelv (a program futási időben dolgozódik fel).php kiterjesztésű fájl legyen a PHP kódot a –

PHP példa 1 <? print ("Hello világ!"); ?>

PHP példa 2 <? print " \n"; print "Hello világ!\n"; print " "; ?>

phpinfo() PHP-vel és Apache-csal kapcsolatos információk: – Verziószámok – konfigurációs beállításokat – átadott környezeti változót) <? phpinfo(); ?>

PHP változók I Kommentek – „#”, „//” egysoros megjegyzés – „/*megjegyzés*/” többsoros megjegyzés Változók – a változók kezelése nagyon rugalmas (a skalár változók többféle típust tartalmazhatnak, ezeket a program használatuk során automatikusan a megfelelő alakra konvertálja) – a változókat a „$” jel vezeti be és utána következik az azonosító név – adattípusok: integer, double, string, boolean, object, array – adattípus lekérdező függvények:gettype(változó) print(gettype($tomb)); – settype(változó, típus)

PHP változók II Stringek ” vagy ’ jel között adhatjuk meg őket ” idézőjelek között a változó kiértékelése megtörténik ’ idézőjelek között a változó kiértékelése nem történik meg mint shell scriptben a sztringeket a „.”-tal lehet egymáshoz fűzni

PHP változók III Idézőjelek: – ” $a ” – ’ $a ’ print ‘ ‘;

Tömbök I a tömbelemekre is érvényes a típuskonverzió, tehát különböző típusú elemeket tartalmazhat; értékadás többféleképpen történhet: $tomb[0]=”fgah”; $tomb[1]=”zwzjk”; $tomb[2]=”uzrw”; $tomb[]=”fgah”; $tomb[]=”zwzjk”; $tomb[]=”uzrw”;

Tömb példa <? $tomb1 = array("alma","körte","citrom","narancs");//tömb feltöltése $tomb2 = array(1,2,3,4,5); print $tomb1[2]; print " "; print "A tomb1 hossza: "; print (count($tomb1));//tömb elemeinek száma print " "; $tomb=array_merge($tomb1,$tomb2);//két tömb egyesítése print " Az összefűzött tömb elemei: "; foreach ($tomb as $ertek) { print "$ertek "; }

Rendszer által definiált változók phpinfo() $QUERY_STRING : a GET metódusnál megismert környezeti változó $HTTP_GET_VARS[] : a GET metódussal átadott paramétereket tartalmazó asszociatív tömb $HTTP_POST_VARS[] : a POST metódussal átadott paramétereket tartalmazó asszociatív tömb $GLOBALS[] : asszociatív tömb, segítségével bármelyik globális változót elérhetjük $PHP_AUTH_USER : jelszavas védelem esetén a felhasználó által begépelt felhasználónév $PHP_AUTH_PW : jelszavas védelem esetén a felhasználó által begépelt jelszó $REMOTE_ADDR : a kliens gép IP címe

Vezérlési szerkezetek I if - then $x=5; $y=7; if ($x $y) print $x." nagyobb, mint ".$y; elseprint "A két szám egyenlő";

Vezérlési szerkezetek II break, continue a következő ciklusszervező utasításoknál használhatjuk a break és continue vezérlőket break – megszakítja az aktuális blokkot és kilép belőle continue – a ciklus hátralévő részét átugorja és a következő iterációt indítja

Vezérlési szerkezetek III while "; $i++; } ?>

Vezérlési szerkezetek IV dowhile "; $i++; } while ($i

Vezérlési szerkezetek V for "; } ?>

Vezérlési szerkezetek VI $value) { print "$key : $value "; } ?>

Vezérlési szerkezetek VII

Függvények I A függvények a forrásállományban bárhol elhelyezkedhetnek Létrehozás: function függvénynév($p1, $p2, …) { törzs; return kifejezés; } Meghívás függvénynév(kif1, kif2, …); A függvény nevét dinamikusan is meg lehet adni: $v=”függvénynév”; $v(2);

Függvények II "; kiir("hello");//kiírja azt a szöveget, amit paraméterként átadunk print(novel(5)); $n="novel"; print($n(4)); ?>

PHP változók hatóköre a függvényben használt változók alapesetben lokálisak; a normál php kódban (nem fgv-en belül) létrehozott változók alapesetben nem láthatók a függvényeken belül; global kulcsszó hatására elérhetővé válik a függvényen kívül, a függvényen belüli változó; static kulcsszó hatására megőrződik az érték a függvényből való kilépés után

Állományok használata I állományok létrehozása:touch(”állománynév”); állomány törlése: unlink (”állománynév”); állomány nyitása írásra(w), olvasásra(r), hozzáfűzésre(a) $f=fopen(”állománynév”, ”mód”); állomány zárása:fclose($f); állomány zárolása: flock($f, mód); Módok: – 1 – megosztott – 2 – kizárás – 3 – felszabadítás

Állományok használata II állomány olvasása – fgets($f, méret); – fread( $f, méret); állomány írása – fputs($f, ”szöveg”);//hozzáfűzésnél – fwrite($f, ”szöveg”);

Állományok használata III Untitled "; } fclose($f); ?>

Állományok tulajdonságainak lekérdezése I fájl vagy jegyzék if ( is_file(”lista.txt”) ) print(”A lista.txt egy állomány.”); if ( is_dir(”/bin”) ) print(”A /bin egy jegyzék.”); jogosultságlekérdezés if ( is_readable(”lista.txt”) ) print(”A lista.txt olvasható.”); if ( is_writeable(”lista.txt”) ) print(”A lista.txt írható.”); if ( is_executable(”lista.txt”) ) print(”A lista.txt végrehajtható.”);

Állományok tulajdonságainak lekérdezése II állományméret print ”A lista.txt mérete:”; print filesize(”lista.txt”); utolsó megnyitás fileatime() //visszatérési értéke 1970 óta eltelt másodpercek száma $t = fileatime(”lista.txt”); print ”A lista.txt állomány utolsó megnyitásának dátuma:”; print date(”Y.m.d. H:i”, $t);

Regisztrációs űrlap Regisztsációs oldal Név: Cím: Telefonszám: Kor: cím:

Regisztrációs űrlap feldolgozása Regisztsációs oldal feldolgozása <? print " Köszönjük, hogy regisztrálta magát "; $f = fopen("modosit.txt", "a"); flock($f,2); fputs($f,"\nNév:$nev"); fputs($f,"\nCím:$cim"); fputs($f,"\nTelefonszám:$telefon"); fputs($f,"\nKor:$kor"); fputs($f,"\n $ \n\n"); flock($f,3); fclose($f); ?>

Köszönöm a figyelmet!