WEBFEJLESZTÉS 2. PHP NYELVI ALAPOK, HTML KIMENET, PHP BEMENET, ŰRLAPOK

Méret: px
Mutatás kezdődik a ... oldaltól:

Download "WEBFEJLESZTÉS 2. PHP NYELVI ALAPOK, HTML KIMENET, PHP BEMENET, ŰRLAPOK"

Átírás

1 WEBFEJLESZTÉS 2. PHP NYELVI ALAPOK, HTML KIMENET, PHP BEMENET, ŰRLAPOK Horváth Győző Egyetemi adjunktus 1117 Budapest, Pázmány Péter sétány 1/C, Tel: (1) /1816

2 2 Ismétlés

3 Kliensoldali webprogramozás 3 Kliens-szerver architektúra Statikus kliens Dinamikus kliens Nem érdekes a szerver, csak az onnan érkező tartalom Nem is kell szerver, dolgozhatunk lokálisan Programozás a böngészőben JavaScript, DOM, stb. Szerver Kliens

4 4 Szerveroldali dinamizmus

5 Kliens-szerver architektúra 5 Érdekes a szerver is, sőt most vele foglalkozunk Két komponens: szerver és kliens mindkettőre figyelni kell térben és időben elválhatnak Csatorna: hálózat Kommunikáció: HTTP Szerver Kliens

6 Statikus állományok 6 Kérés pillanatában a szerveren megtalálható az a tartalom, amely leküldésre kerül a válaszban Fájlkiszolgálás Kiterjesztés alapján.html.jpg,.png,.gif.css.js Szerver Kliens

7 7 Szerveroldali webprogramozás

8 Szerveroldali webprogramozás 8 Az állományok nem egyszerűen visszaküldésre kerülnek Szerver egy programnak adja át a vezérlést A leküldendő tartalmat egy program állítja elő. A program kimenetét a szerver elküldi a kliensnek. Szerver Kliens Program

9 Hogyan indul el a program? 9 Common Gateway Interface Protokoll: egy webszerver hogyan indíthat el egy programot és milyen módon kommunikál vele. Mi alapján dönti el a webszerver? útvonal: cgi-bin könyvtár futtatható állományok csak ezen belül kiterjesztés.cgi.php

10 Milyen program lehet? 10 Bármilyen program lehet Bináris C++ Freepascal Szkript Shell szkript Perl PHP Python

11 Szerveroldali webprogramozás 11 Program célja, kimenete HTML generálás (általában) HTTP protokoll betartásával Program helyességét a generált tartalom, a megkapott oldal forrása alapján ellenőrizhetjük.

12 Példa C++ 12 #include <iostream> using namespace std; int main() { cout << "Content-Type: text/html" << endl; cout << endl; cout << "<!doctype html>" << endl; cout << "<html>" << endl; cout << " <head>" << endl; cout << " <meta charset=\"utf-8\">" << endl; cout << " <title></title>" << endl; cout << " </head>" << endl; cout << " <body>" << endl; cout << " <p>hello vilag!</p>" << endl; cout << " </body>" << endl; cout << "</html>" << endl; } return 0;

13 Példa C++ 13 Egyszerűen futtatva Content-Type: text/html <!doctype html> <html> <head> <meta charset="utf-8"> <title></title> </head> <body> <p>hello vilag!</p> </body> </html>

14 Példa C++ 14 Böngészőből futtatva

15 Példa C++ 15 int main() { cout << "Content-Type: text/html" << endl; cout << endl; cout << "<!doctype html>" << endl; cout << "<html>" << endl; cout << " <head>" << endl; cout << " <meta charset=\"utf-8\">" << endl; cout << " <title></title>" << endl; cout << " </head>" << endl; cout << " <body>" << endl; for (int i = 1; i<=10; i++) { cout << " <p>hello vilag!</p>" << endl; } } cout << " </body>" << endl; cout << "</html>" << endl; return 0;

16 Példa C++ 16 Content-Type: text/html <!doctype html> <html> <head> <meta charset="utf-8"> <title></title> </head> <body> <p>hello vilag!</p> <p>hello vilag!</p> <p>hello vilag!</p> <p>hello vilag!</p> <p>hello vilag!</p> <p>hello vilag!</p> <p>hello vilag!</p> <p>hello vilag!</p> <p>hello vilag!</p> <p>hello vilag!</p> </body> </html>

17 Példa C++ 17 cout << " ifstream f("lista.txt"); while (!f.eof()) { string sor; getline(f, sor); cout << " } f.close(); cout << " <ul>" << endl; <ul>" << endl; <li>" << sor << "</li>" << endl; alma korte szilva

18 18 PHP Mi a PHP? Nyelvi alapok

19 PHP 19 PHP Personal Home Page PHP: Hypertext Preprocesszor Jellemzői nyílt forráskódú általános célú szkriptnyelv HTML-be ágyazható

20 PHP hivatkozások 20 Főoldal Referencia függvényreferencia nyelvi referencia kódolási tanácsok telepítés

21 PHP használata 21 Általános célú szkriptnyelv, nincsen a webhez kötve Szerveroldali dinamikus webprogramozás CGI: cgi-bin mappában Szerver modul: tetszőleges helyen CLI Command Line Interfész PHP szkriptek parancssori futtatása PHP-GTK Grafikus asztali programok írása

22 PHP a webprogramozásban 22.php kiterjesztésű állomány kérése esetén webszerver kikeresi az állományt Átadja a PHP értelmezőnek A program kimenetét a böngésző a kliens felé továbbítja Szerver PHP Kliens

23 PHP mint programozási nyelv 23 Gyengén típusos változók típusa a benne tárolt értéktől függ automatikus típuskonverziók Értelmezett PHP értelmező Szkriptnyelv Sok minden igaz, amit JavaScriptnél tanultunk szintaxis vezérlési szerkezetek, operátorok viselkedés

24 További jellemzők 24 Kis- és nagybetű érzékeny Utasításokat pontosvessző zárja le Objektumorientált nyelv (OOP) C alapú szintaxis (ismerős lesz) Nincs főprogram

25 Típusok 25 Négy elemi típus logikai egész lebegőpontos szöveg Két összetett típus tömb osztály Speciális típusok erőforrás NULL callbacks

26 Változók 26 $valtozo Hatókör globális változók függvényen belül lokális változók Szuperglobális változók (ld. függvények) Változó változók $a = 'hello'; $$a = 12; //$hello === 12

27 Literálok 27 //Logikai true false TRUE FALSE //Például $l = true; $i = -23; $d = 23.65; //Egész 12 //decimális //oktális 0x0F //hexadecimális 0b0101 //bináris //Lebegőpontos e12-7E-2

28 Szövegliterál 28 aposztróf macskaköröm heredoc nowdoc Változók behelyettesítése $a = 12; $s1 = 'alma\t{$a} alma'; //alma\t{$a} alma $s1 = 'Több sor is lehet benne'; $s2 = "alma\t{$a} alma"; //alma 12 alma $s2 = "Ez egy több soros szöveg"; $s3 = <<<EOT //behelyettesít Több soros {$a} szöveg EOT; $s4 = <<<'EOT' //nem helyettesít be Ez is lehet {$a} több soros. EOT;

29 Típusokkal kapcsolatos fontos 29 függvények Kiírás echo var_dump() print_r() Típusbeállítás cast (int)$a settype() Típuslekérdezés gettype() is_integer() is_float() is_numeric() is_string() is_bool()

30 Kiírások, típusműveletek 30 $l = true; $i = -23; $d = 23.65; $s = 'alma'; echo $l; //1 echo $i; //-23 echo $d; //23.65 echo $s; //alma var_dump($l); //bool(true) var_dump($i); //int(-23) var_dump($d); //float(23.65) var_dump($s); //string(4) "alma" //Típuslekérdezés echo gettype($l); //'boolean' echo gettype($i); //'integer' echo gettype($d); //'double' echo gettype($s); //'string' //Típusbeállítás $sd1 = (string)$d; $sd2 = $d; settype($sd2, 'string'); echo gettype($sd1); //'string' echo gettype($sd2); //'string' print_r($l); //1 print_r($i); //-23 print_r($d); //23.65 print_r($s); //alma

31 Típusokkal kapcsolatos fontos 31 függvények Speciális függvények isset() is_null() empty() Automatikus konverziók Típusok összehasonlítása

32 Összehasonlítás 32 Expression gettype() empty() is_null() isset() boolean : if($x) $x = ""; string TRUE FALSE TRUE FALSE $x = null NULL TRUE TRUE FALSE FALSE var $x; NULL TRUE TRUE FALSE FALSE $x is undefined NULL TRUE TRUE FALSE FALSE $x = array(); array TRUE FALSE TRUE FALSE $x = false; boolean TRUE FALSE TRUE FALSE $x = true; boolean FALSE FALSE TRUE TRUE $x = 1; integer FALSE FALSE TRUE TRUE $x = 42; integer FALSE FALSE TRUE TRUE $x = 0; integer TRUE FALSE TRUE FALSE $x = -1; integer FALSE FALSE TRUE TRUE $x = "1"; string FALSE FALSE TRUE TRUE $x = "0"; string TRUE FALSE TRUE FALSE $x = "-1"; string FALSE FALSE TRUE TRUE $x = "php"; string FALSE FALSE TRUE TRUE $x = "true"; string FALSE FALSE TRUE TRUE $x = "false"; string FALSE FALSE TRUE TRUE

33 Összehasonlítás 33 TRUE FALSE "1" "0" "-1" NULL array() "php" "" TRUE TRUE FALSE TRUE FALSE TRUE TRUE FALSE TRUE FALSE FALSE TRUE FALSE FALSE FALSE TRUE FALSE TRUE FALSE FALSE TRUE FALSE TRUE TRUE FALSE TRUE 1 TRUE FALSE TRUE FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE 0 FALSE TRUE FALSE TRUE FALSE FALSE TRUE FALSE TRUE FALSE TRUE TRUE -1 TRUE FALSE FALSE FALSE TRUE FALSE FALSE TRUE FALSE FALSE FALSE FALSE "1" TRUE FALSE TRUE FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE "0" FALSE TRUE FALSE TRUE FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE "-1" TRUE FALSE FALSE FALSE TRUE FALSE FALSE TRUE FALSE FALSE FALSE FALSE NULL FALSE TRUE FALSE TRUE FALSE FALSE FALSE FALSE TRUE TRUE FALSE TRUE array() FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE TRUE TRUE FALSE FALSE "php" TRUE FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE TRUE FALSE "" FALSE TRUE FALSE TRUE FALSE FALSE FALSE FALSE TRUE FALSE FALSE TRUE

34 Operátorok 34 Ugyanaz, mint JavaScriptben Különbség + kizárólag összeadás szövegösszefűzés:. "piros"."alma"

35 Tömb 35 Gyűjtemények általános objektuma Összetett adatszerkezet megvalósítása rekord indexelt tömb asszociatív tömb többdimenziós tömb fa, sor, verem, stb. Asszociatív tömb: kulcs-érték párokból áll kulcs: integer vagy string érték: bármilyen típusú lehet

36 Tömb 36 //Üres tömb $urestomb = array(); //Indexelt tömb $indtomb = array('alma', 'korte', 'szilva'); echo $indtomb[0]; //'alma' print_r($indtomb); /* Array ( [0] => alma [1] => korte [2] => szilva ) */ //Indexelt tömb vegyes értékekkel $indtombvegyes = array('alma', 12, true, ); print_r($indtombvegyes); /* Array ( [0] => alma [1] => 12 [2] => 1 [3] => ) */

37 Tömb 37 //Indexelt tömb egyesével hozzáadva $indtombkezi = array(); $indtombkezi[0] = 'alma'; $indtombkezi[1] = 'korte'; $indtombkezi[2] = 'szilva'; print_r($indtombkezi); /* Array ( [0] => alma [1] => korte [2] => szilva ) */ //Indexelt tömb egyesével hozzáadva $indtombkezi2 = array(); $indtombkezi2[] = 'alma'; $indtombkezi2[] = 'korte'; $indtombkezi2[] = 'szilva'; print_r($indtombkezi2); /* Array ( [0] => alma [1] => korte [2] => szilva ) */

38 Asszociatív tömb 38 //Asszociatív tömb $assztomb = array( 'alma' => 'piros', 'korte' => 'sarga', 'szilva' => 'kek', ); echo $assztomb['alma']; //piros print_r($assztomb); /* Array ( [alma] => piros [korte] => sarga [szilva] => kek ) */ //Asszociatív tömb kézzel $assztombkezi = array(); $assztombkezi['alma'] = 'piros'; $assztombkezi['korte'] = 'sarga'; $assztombkezi['szilva'] = 'kek'; print_r($assztombkezi); /* Array ( [alma] => piros [korte] => sarga [szilva] => kek ) */

39 Mátrix 39 Tömbök tömbje Lehet vegyesen használni indexeltben indexelt indexeltben asszociatív //Mátrix $matrix = array( array(1, 2, 3), array(4, 5, 6), array(7, 8, 9), );

40 Tömbök bejárása 40 foreach reset(), next(), prev(), current(), key(), each() foreach ($t as $key => $value) { echo $key.$value; } foreach ($t as $value) { echo $value; } $fruit = array('a' => 'apple', 'b' => 'banana', 'c' => 'cranberry'); reset($fruit); while (list($key, $val) = each($fruit)) { echo "$key => $val\n"; }

41 Vezérlési szerkezetek 41 Ugyanaz, mint C++-ban vagy JavaScriptben Elágazások if if-else switch Ciklusok for foreach (ld. tömbök) while do-while

42 Függvények 42 Szintaxisban hasonlít a JavaScriptes függvényekre Változók láthatósága más A globális változók nem látszódnak a függvényeken belül $GLOBALS[] tömb global kulcsszó szuperglobális változók (mindenhol látszódnak) Érték és referencia szerinti paraméterátadás mint C++-ban

43 Függvények 43 $a = 12; function fv($par1 = 'korte', &$par2) { echo $par1; echo $a; //Hiba echo $GLOBALS['a']; $par2 += 10; return $par1; } $b = 10; echo fv('alma', $b); //alma echo $b; //20

44 45 PHP futtatása Parancssor, HTML-be ágyazva

45 PHP kód elhelyezése 46.php kiterjesztésű fájl <?php és?> tagek közötti részt futtatja a PHP értelmező <?php //PHP kód?> Ezeken kívüli rész automatikusan kiírásra kerül Több PHP blokk is lehet

46 Példa 47 Sima szöveg <?php echo "PHP generálta szöveg";?> Megint sima szöveg <?php echo "Még egy blokk"; if (true) {?> Csak ha igaz, akkor íródik ki. <?php }?> Vége

47 Parancssori futtatás 48 Lehetőség van egy PHP szkriptet parancssorban futtatni php pelda1.php

48 Böngészőből meghívva 49 Célja általában: HTML generálása De lehet programmal előállítani: képek css js Kiíró utasítás: echo

49 Példa 50 echo '<!doctype html>'; echo '<html>'; echo ' <head>'; echo ' <meta charset="utf-8">'; echo ' <title></title>'; echo ' </head>'; echo ' <body>'; echo ' <p>hello vilag!</p>'; echo ' </body>'; echo '</html>';

50 Példa 51 echo <<<VEGE <!doctype html> <html> <head> <meta charset="utf-8"> <title></title> </head> <body> </html> VEGE; </body>

51 Példa 52 <!doctype html> <html> <head> <meta charset="utf-8"> <title></title> </head> <body> </html> </body>

52 Példa 53 <!doctype html> <html> <head> <meta charset="utf-8"> <title></title> </head> <body> <?php for ($i = 1; $i <=10; $i++) { echo "<p>hello vilag!</p>"; }?> </body> </html>

53 Megoldási lépések 54 Adatszerkezetek megadása Elvárt HTML leírása (statikus) Az adatszerkezet alapján PHP-val az elvárt HTML-t generálni.

54 Összefoglalás 55 Dinamikus szerveroldali webprogramozás: program állítja elő a tartalmat (HTML) Bármilyen nyelv PHP nyelv Szerver PHP Kliens

55 56 HTTP protokoll

56 HTTP protokoll 57 Kérés-válasz alapú protokoll a kliens és szerver között Mindig a kliens kezdeményez Kliens: kérés kérést küld a 80-as TCP portra jellemzően böngésző (hivatkozások, formok) Szerver: válasz TCP/IP réteg feletti protokoll

57 HTTP protokoll 58 W3C szabvány RFC-k 0.9 verzió (1991) 1.0 verzió (1996) RFC verzió (1999) RFC 2086, RFC ml

58 HTTP kérés 59 Első sora METÓDUS ERŐFORRÁS VERZIÓ Ezt követik a fejlécsorok tetszőleges számban FEJLÉC: ÉRTÉK Üres sor Opcionális üzenettest

59 HTTP kérés példa 60 GET /index.html HTTP/1.1 Host: webprogramozas.inf.elte.hu GET / HTTP/1.1 Host: webprogramozas.inf.elte.hu User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:19.0) Gecko/ Firefox/19.0 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: hu-hu,hu;q=0.8,en-us;q=0.5,en;q=0.3 Accept-Encoding: gzip, deflate Cookie: utma= ; utma= ; utmz= utmcsr=google utmccn=(organic) utmcmd=organic utmctr=(not%20provided) Connection: keep-alive

60 HTTP kérés metódusok 61 GET Megadott erőforrás letöltése POST Feldolgozandó adat felküldése HEAD Ld. GET, de csak a válasz fejléceket kéri le PUT Feltölt a megadott erőforrást DELETE Törli a megadott erőforrást

61 HTTP kérés metódusok 62 TRACE Visszaküldi a kapott kérést OPTIONS A szerver által támogatott HTTP metódusok listája CONNECT Kérést transzparens tunnellé alakítja (SSL-hez kell)

62 HTTP válasz 64 Első sora: státuszsor VERZIÓ STÁTUSZKÓD INDOKLÁS Fejlécsorok tetszőleges számban FEJLÉC: ÉRTÉK Üres sor Opcionális üzenettest

63 HTTP válasz státuszsor 65 Státuszkód 1xx: Informatív (kérés megkapva) 2xx: Siker (kérés megérkezett, elfogadva) 200 OK 3xx: Átirányítás (további műveletre van szükség) 4xx: Kliens hiba (kérés hibás, nem teljesíthető) 404 Not found 404 Nem található 5xx: Szerver hiba (nem tudja teljesíteni a kérést) 500 Internal Server Error

64 HTTP válasz példa 66 HTTP/ OK Date: Wed, 03 Apr :11:56 GMT Server: Apache/ (Linux/SUSE) Last-Modified: Wed, 20 Feb :39:44 GMT ETag: "fe8438-6d6-4d623e65e9400" Accept-Ranges: bytes Content-Length: 1750 Content-Type: text/html <!DOCTYPE html> <html>... </html>

65 HTTP eszközök 67 telnet TCP alapú, kétirányú, általánosan elérhető, nyolcbites byte-alapú kommunikációs protokoll Kérést tudunk vele küldeni tetszőleges TCP portra Böngésző kiegészítők Live HTTP headers HTTPFox > telnet webprogramozas.inf.elte.hu 80 HTTP kérés sorai (beírva, bemásolva) HTTP válasz sorai

66 68 HTTP eszközök példa

67 69 HTTP eszközök példa

68 70 Szerveroldali input Szerveroldali input és output, Common Gateway Interface

69 Input? 71 Hogyan kapnak a programok (PHP) bemeneti adatokat? kliens webszerver programozási nyelv (PHP)

70 Common Gateway Interface (CGI) 72 Azt határozza meg, hogy egy webszerver hogyan indíthat el egy programot és milyen módon kommunikál vele. Környezeti változók Kérés adatai Standard input és output Kéréshez kapcsolat adat Szerver Kliens PHP

71 Környezeti változók 73 AUTH_TYPE CONTENT_LENGTH CONTENT_TYPE GATEWAY_INTERFACE HTTP_* PATH_INFO PATH_TRANSLATED QUERY_STRING REMOTE_ADDR REMOTE_HOST REMOTE_IDENT REMOTE_USER REQUEST_METHOD SCRIPT_NAME SERVER_NAME SERVER_PORT SERVER_PROTOCOL SERVER_SOFTWARE

72 Környezeti változók példa 74 [HTTP_HOST] => webprogramozas.inf.elte.hu [HTTP_USER_AGENT] => Mozilla/5.0 (Windows NT 6.1; WOW64; rv:19.0) Gecko/ Firefox/19.0 [HTTP_ACCEPT] => text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 [HTTP_ACCEPT_LANGUAGE] => hu-hu,hu;q=0.8,en-us;q=0.5,en;q=0.3 [HTTP_ACCEPT_ENCODING] => gzip, deflate [HTTP_REFERER] => [HTTP_COOKIE] => WACID= A ; utma= ; utmz= utmcsr=google utmccn=(organic) utmcmd=organic utmctr=(not%20provided) [HTTP_CONNECTION] => keep-alive [PATH] => /usr/sbin:/bin:/usr/bin:/sbin [SERVER_SIGNATURE] => <address>apache/ (Linux/SUSE) Server at webprogramozas.inf.elte.hu Port 80</address> [SERVER_SOFTWARE] => Apache/ (Linux/SUSE) [SERVER_NAME] => webprogramozas.inf.elte.hu [SERVER_ADDR] => [SERVER_PORT] => 80 [REMOTE_ADDR] => [DOCUMENT_ROOT] => /srv/www/webprog [SERVER_ADMIN] => [SCRIPT_FILENAME] => /home/gyozke/public_html/wf2/temp/getpost.php [REMOTE_PORT] => [GATEWAY_INTERFACE] => CGI/1.1 [SERVER_PROTOCOL] => HTTP/1.1 [REQUEST_METHOD] => GET [QUERY_STRING] => [REQUEST_URI] => /~gyozke/wf2/temp/getpost.php [SCRIPT_NAME] => /~gyozke/wf2/temp/getpost.php [PHP_SELF] => /~gyozke/wf2/temp/getpost.php [REQUEST_TIME] =>

73 HTTP kérésből környezeti változó 75 Kérés URL-je <scheme>://<host>:<port>/<path>?<query>#<fragment> Ezek leképezése környezeti változókra <scheme> SERVER_PROTOCOL <host> SERVER_NAME <port> SERVER_PORT <path> SCRIPT_NAME (PATH_INFO) <query> QUERY_STRING

74 Kéréshez tartozó adat 76 Ha a HTTP kérés törzsében további adat érkezik (pl. POST esetén) Program standard bemenetén jelenik meg CONTENT_LENGTH byte hosszúságban

75 A program eredménye 77 A program eredményének a standard outputon kell megjelennie Ezt továbbítja a webszerver a kliens felé Szerver PHP Kliens

76 CGI összefoglalás 78 HTTP kérés részei kerülnek átadásra a programnak URL környezeti változók Üzenettörzs standard bemenet Egyéb adatok környezeti változók Információ hol érkezhet QUERY_STRING HTTP üzenettörzs Többi a kérés körülményeit írja le!

77 79 Kliensoldali input Hogyan küldünk adatot a szerverre?

78 CGI 80 CGI URL csatolt adatok Kliens milyen egy URL? hogyan csatolunk adatot? kik indíthatnak kérést?

79 URL 81 Általános formája Például <scheme>://<host>:<port>/<path>?<query>#<fragment>

80 Kérésindítási lehetőségek 82 Cím beírása (GET) Linkre kattintás (GET) Űrlap elküldése (GET, POST) JavaScript (GET, POST) oldal újratöltés űrlap elküldés AJAX (bármilyen HTTP metódus)

81 Navigálás 83 Cím beírása, linkek A megadott URL kerül elküldésre <a href="

82 Űrlapok 84 <form> elem beállításai Interaktív űrlapelemek Elküldés módja

83 <form> elem 85 Attribútumok action: szerveroldali erőforrás megjelölése method: HTTP metódus enctype: a formadatok kódolása a küldés során Enctype application/x-www-form-urlencoded (alapértelmezett) multipart/form-data (fájlfeltöltés, csak POST esetén) text/plain (levélküldés)

84 Űrlap elküldése 86 Elküldés submit gomb megnyomása JavaScript: form.submit() meghívása Elküldhető elemek kiválasztása name attribútum (nagyon fontos) nem disabled bejelölt checkbox bejelölt radio kiválasztott select

85 Űrlap elküldése (folytatás) 87 Kérési adatok összeállítása Elküldhető formelemekből név=érték párokat készít ezeket & jellel fűzi össze Kérési adatok kódolása ld. enctype attribútum Query String

86 Űrlap elküldése (folytatás) 88 A kódolt kérési adatok elküldése GET az action-ben megadott URL mögé fűzi egy?-lel A Query String az URL adatokat tárolására szolgáló <query> részben jelenik meg limitált méret az URL mérete miatt (2 kb) POST a HTTP kérés üzenettörzsében utazik a Query String sok adat küldhető

87 Űrlap elküldése példa 89 Űrlap: <form action=" method="post"> <input type="text" name="alma" value="piros"> <input type="password" value="kek"> <input type="hidden" name="jelszo" value="titkos"> <input type="checkbox" name="check1" value="ertek1" checked> <input type="checkbox" name="check2" checked> <input type="submit"> </form> Query string alma=piros&jelszo=titkos&check1=ertek1&check2=on

88 Űrlapelemek 90 Szöveges elemek <input> type: text, password, hidden <textarea> mindig elküldésre kerülnek akár üres szöveggel is textareánál vigyázni kell: minden elküldésre kerül, ami a <textarea></textarea> elem között van

89 Űrlapelemek 91 checkbox, radio csak bejelölve kerül elküldésre ha nincs value on érték select csak bejelölve kerül elküldésre ha nincs value option szövege az érték size>1 esetén ha nincs kiválasztva nem küldi el multiple esetén ugyanazon névvel több név=érték pár (pl. sel=alma&sel=szilva)

90 Űrlapelemek 92 submit ha van neve elküldésre kerül az értékével (felirat) file enctype="multipart/form-data method="post"

91 Összefoglalás 93 GET beírás, link: megfelelő URL kézi előállítása form: automatikusan állnak elő a név=érték párok POST method="get", action=" form: automatikusan állnak elő a név=érték párok a Query String az üzenettörzsben utazik

92 95 CGI programok

93 CGI 96 CGI kommunikációja környezeti változók standard bemenet és kimenet Programoknak tudnia kell környezeti változók értékeit lekérdezni olvasni a standard bemenetről írni a standard kimenetre

94 Adatok tipikus beolvasása 97 REQUEST_METHOD GET vagy POST GET QUERY_STRING POST CONTENT_LENGTH hosszan standard inputról olvasni QUERY_STRING is töltve lehet (URL függő)

95 Példa C++ program 98 Környezeti változó olvasása getenv(str) Standard bemenetről olvasás karakterenként fgetc(stdin) Szövegműveletek

96 Példa C++ program 99 request_method = getenv("request_method"); content_length_str = getenv("content_length"); content_length = atoi(content_length_str); query_string_get = getenv("query_string"); string query_string_post = ""; if (strcmp(request_method, "POST") == 0) { int db = 0; char c; while (db < content_length && EOF!= (c = fgetc(stdin))) { query_string_post += c; db++; } }

97 100 PHP inputolása

98 Szuperglobális tömbök 101 $_GET: QUERY_STRINGben érkező név=érték pároknak megfelelő tömb, ahol a név az a kulcs. $_POST: a standard inputon érkező név=érték pároknak megfelelő tömb, ahol a név az a kulcs. $_SERVER: az összes környezeti változót tartalmazza $_FILES: a feltöltött fájlok helyét tartalmazza $_COOKIES: a kliensről érkező sütik jelennek meg benne

99 Gyakorlatilag 102 Kliensen egy link $_GET['alma'] == 'piros' Kliens űrlapbeli elemek $_GET $_POST Ha inputot várunk, mindig írassuk ki a $_GET és $_POST függvényt!

100 $_GET és $_POST példa 103 <form action="kiir.php?korte=sarga" method="post"> <input type="text" name="alma" value="piros"> <input type="text" name="szilva" value="kek"> <input type="submit"> </form> <?php print_r($_get); print_r($_post); Array ( [korte] => sarga ) Array ( [alma] => piros [szilva] => kek )

101 Példa 104 Kör kerületének kiszámítása Input: sugár Kötelező Output: kerület Valid oldalon jelenjen meg

102 1. megoldás 105 Az URL-ben adjuk át paraméterként <?php print_r($_get); print_r($_post); //beolvasás $sugar = $_GET['sugar']; //feldolgozás $pi = pi(); $ker = 2 * $sugar * $pi; //kiiras echo "<p>sugár = {$sugar}</p>"; echo "<p>kerulet = {$ker}</p>";

103 megoldás Valid oldal, megfelelő karakterkódolás <?php print_r($_get); print_r($_post);?> <!doctype html> <html> <head> <meta charset="utf-8"> <title>kerulet</title> </head> <body> <?php //beolvasás $sugar = $_GET['sugar']; //feldolgozás $pi = pi(); $ker = 2 * $sugar * $pi; //kiiras echo "<p>sugár = {$sugar}</p>"; echo "<p>kerulet = {$ker}</p>";?> </body> </html>

104 megoldás Feldolgozás kivétele a kiírásból <?php print_r($_get); print_r($_post); //beolvasás $sugar = $_GET['sugar']; //feldolgozás $pi = pi(); $ker = 2 * $sugar * $pi; //kiiras?> <!doctype html> <html> <head> <meta charset="utf-8"> <title>kerulet</title> </head> <body> <?php echo "<p>sugár = {$sugar}</p>"; echo "<p>kerulet = {$ker}</p>";?> </body> </html>

105 megoldás Kiírás csiszolása Csak a valóban dinamikus tartalom legyen PHP-ban <?php print_r($_get); print_r($_post); //beolvasás $sugar = $_GET['sugar']; //feldolgozás $pi = pi(); $ker = 2 * $sugar * $pi; //kiiras?> <!doctype html> <html> <head> <meta charset="utf-8"> <title>kerulet</title> </head> <body> <p>sugár = <?php echo $sugar;?></p> <p>kerület = <?php echo $ker;?></p> </body> </html>

106 Input hiánya t.php Kezelni kell az input hiányát Alapértelmezett érték Hibaüzenet

107 5. megoldás 110 Alapértelmezett érték //beolvasás $sugar = 0; if (isset($_get['sugar'])) { $sugar = $_GET['sugar']; } //beolvasás $sugar = (isset($_get['sugar'])? $_GET['sugar'] : 0);

108 6. megoldás 111 Hibaüzenet Kimenet <!doctype html> <html> <head> <meta charset="utf-8"> <title>kerulet</title> </head> <body> <?php if ($hiba) {?> <p><?php echo $hiba;?></p> <?php } else {?> <p>sugár = <?php echo $sugar;?></p> <p>kerület = <?php echo $ker;?></p> <?php }?> </body> </html>

109 megoldás Hibaüzenet Beolvasás Ellenőrzés megadták? kitöltötték? szám? Több input esetén hibalista (PHP tömb) hibalista (HTML ul) //beolvasás $sugar = null; if (isset($_get['sugar'])) { $sugar = $_GET['sugar']; } //előfeltétel ellenőrzése $hiba = ''; if (is_null($sugar)) { $hiba = 'Sugár hiányzik!'; } else if ($sugar == '') { $hiba = 'Sugár üres!'; } else if (!is_numeric($sugar)) { $hiba = 'Sugár nem szám!'; } if (!$hiba) { //feldolgozás $pi = pi(); $ker = 2 * $sugar * $pi; }

110 114 Űrlapok

111 Űrlapok 115 Előző megoldás nem felhasználóbarát böngésző címsora URL Input megadás a felhasználó részéről általában űrlapokon keresztül történik

112 Tervezés 116 kerulet.html kerulet.php Hiba Űrlap Megoldás

113 Űrlap 117 kerulet.html statikus oldal <!doctype html> <html> <head> <meta charset="utf-8"> <title>kerulet</title> </head> <body> <form action="kerulet.php" method="get"> Sugár: <input type="text" name="sugar"> <input type="submit"> </form> </body> </html>

114 Feldolgozó szkript 118 kerulet.php (ld. korábban) <?php print_r($_get); print_r($_post); //beolvasás $sugar = $_GET['sugar']; //előfeltétel ellenőrzése $hiba = ''; if (is_null($sugar)) { $hiba = 'Sugár hiányzik!'; } else if ($sugar == '') { $hiba = 'Sugár üres!'; } else if (!is_numeric($sugar)) { $hiba = 'Sugár nem szám!'; } if (!$hiba) { //feldolgozás $pi = pi(); $ker = 2 * $sugar * $pi; } //kiiras?> <!doctype html> <html> <head> <meta charset="utf-8"> <title>kerulet</title> </head> <body> <?php if ($hiba) {?> <p><?php echo $hiba;?></p> <?php } else {?> <p>sugár = <?php echo $sugar;?></p> <p>kerület = <?php echo $ker;?></p> <?php }?> <a href="kerulet.html">vissza az űrlapra</a> </body> </html>

115 Ergonómiai megfontolások 119 Az alkalmazás funkcionálisan teljesíti az elvárásokat De nem ergonomikus a használata Felhasználó nem tudja, mit írt be Külön kattintásra (vissza) tud javítani újra számolni Jó lenne ott jelezni a hibát, ahol az űrlap van Jó lenne az űrlapon jelezni a megoldást is

116 Tervezés oldalak 120 Hiba 1 Űrlap* Űrlap 2 3, 4, Űrlap* Megoldás

117 Tervezés állomány szint 121 PHP kód 1: nincs input kiírás (űrlap) 1 kerulet.php PHP kód 2, 3, 4, : 2, 3, 4, beolvasás ellenőrzés feldolgozás kiírás (űrlap) Eldöntés Van-e POST adat REQUEST_METHOD Hiba (opc) Űrlap* Megoldás (opc)

118 HTML rész 122 POST-ra átírva! <body> <?php if ($hiba) {?> <p><?php echo $hiba;?></p> <?php }?> <form action="kerulet.php" method="post"> Sugár: <input type="text" name="sugar"> <input type="submit"> </form> <?php if (isset($ker)) {?> <p>sugár = <?php echo $sugar;?></p> <p>kerület = <?php echo $ker;?></p> <?php }?> </body>

119 Feldolgozó rész 123 Lényeg: if ($_POST) { } $hiba kiemelve az elágazás elé $hiba = ''; if ($_POST) { //beolvasás //... //előfeltétel ellenőrzése //... if (!$hiba) { //feldolgozás //... } }

120 124 Képernyőképek

121 Űrlap állapottartása 125 Írjuk vissza a kitöltött adatokat, legalább hiba esetén! <form action="kerulet.php" method="post"> Sugár: <input type="text" name="sugar" value="<?php echo $sugar;?>"> <input type="submit"> </form> $hiba = ''; $sugar = ''; if ($_POST) { //beolvasás $sugar = $_POST['sugar']; //... }

122 Feldolgozó rész kiemelése 126 Függvénybe zárjuk a lényegi részt Elkülönítjük az adatok beolvasásától és kiírásától function kerulet($sugar) { $pi = pi(); $ker = 2 * $sugar * $pi; return $ker; } //... if ($_POST) { //... if (!$hiba) { //feldolgozás $ker = kerulet($sugar); } }

123 Szkript szerkezete 127 Három nagy részből áll Adatszerkezetek és ezeket feldolgozó függvények A kérés fogadásáért, beolvasásért, ellenőrzésért és kiírásért felelős rész Megjelenítendő HTML sablonja <?php //Adatok és függvények // //Beolvasás //Ellenőrzés //Feldolgozás meghívása // ?> <!doctype html> <html> <!-- HTML kód --> <html>

124 Összefoglalás 128 Adatok átadása URL? utáni része $_GET tömbbe kerül formok, name attribútum az elemeknél $_GET, $_POST tömbökbe, ahol a name attribútum a kulcs Űrlapok feldolgozása Önmaguknak küldik if ($_POST) megkülönböztetni az első hívást a többitől Minden szkript három részből áll: adat, beolv, HTML

125 131 PHP nyelv

126 Adatszerkezetek 132 //Rekord $rekord = array( 'mezo1' => 'ertek1', 'mezo2' => 'ertek2', 'mezo3' => 'ertek3', ); //Tömb $indtomb = array( 'ertek1', 'ertek2', 'ertek3', ); //Rekordok tömbje $rektomb = array( array( 'mezo1' => 'ertek1', 'mezo2' => 'ertek2', ), array( 'mezo1' => 'ertek1', 'mezo2' => 'ertek2', ), array( 'mezo1' => 'ertek1', 'mezo2' => 'ertek2', ), );

127 Tömb műveletek foreach ciklus in_array(mit, miben) sort, shuffle array_keys, array_values, array_key_exists

128 Szövegműveletek szöveg: karakterek tömbje explode, implode substr trim, ltrim, rtrim strstr, strpos, strrpos preg_match

129 Dátum és idő date time, localtime strtotime getdate date_*

130 136 Fejlesztői környezet

131 Fejlesztői környezet részei 137 Szerver oldalon webszerver PHP Kliens oldalon böngésző Fejlesztői környezet Szerkesztő program (HTML, PHP, CSS) SFTP, SCP kliens az állományok webszerverre töltéséhez

132 Szerver oldal 138 webprogramozas.inf.elte.hu Felhasználónév: NEPTUNKOD Jelszó: almafa1 SSH klienssel bejelentkezve passwd paranccsal változtatható meg

133 Webszerver 139 Apache 2 Dokumentumok gyökérkönyvtára: Ez a szerveren a következő mappa: ~/public_html/

134 PHP 140 Modulként telepítve nem processként, hanem threadként fut phpinfo()

135 Böngésző 141 Bármelyik kurrens böngésző választható Kényelmesen és gyorsan lehessen fejlesztésre használni Kiegészítő modulok: http figyelése, validátorok Fejlesztőeszközök Forrás színezése Keresés a forrásban is Sütik, képek kezelése Funkciók letiltása Gyorsítótár ürítése

136 IDE 142 Kényelmi funkciók PHP, HTML és CSS szerkesztése szintaxis alapján színezés kódkiegészítés blokkok jelölése, össszecsukása behúzások intelligens kezelése nyomkövetés támogatása utasítások szignatúrája, leírása projektek kezelése állományok szerverre feltöltése verziókövető rendszerek integrálása kódrészletek definiálása pluginek kezelése Notepad++ Netbeans IDE Eclipse Aptana

137 Otthoni fejlesztéshez 143 XAMPP telepítőcsomag Multiplatform XAMPP tartalmazza Apache (IPv6 enabled) + OpenSSL 0.9.8l MySQL PBXT engine PHP phpmyadmin Perl FileZilla FTP Server Mercury Mail Transport System 4.72

138 144 XAMPP telepítés

139 145 XAMPP kezdőlap (

140 XAMPP Biztonsági figyelmeztetés 146 A feltelepült rendszerben A MYSQL adminisztrátornak nincs jelszó beállítva MYSQL démon a hálózaton elérhető phpmyadmin elérhető a hálózaton A XAMPP kezdőlap elérhető a hálózaton A Mercury és FileZilla alkalmazások alapértelmezett felhasználói adatai ismertek Ha nyilvános webszervert készítünk, akkor biztonságossá kell tenni

141 147 XAMPP biztonsági beállítások (Security)

142 148 XAMPP biztonsági beállítások (Security)

143 XAMPP portable 149 Nem kell telepíteni, pendrive-ról is működik Lépések Mappa létrehozása XAMPP ZIP változatának letöltése, kitömörítése a mappába setup_xampp.bat elindítása xampp-control.exe elindítása és a vezérlőpulton elindítható a kívánt szolgáltatás

WEBFEJLESZTÉS 2. PHP NYELVI ALAPOK

WEBFEJLESZTÉS 2. PHP NYELVI ALAPOK WEBFEJLESZTÉS 2. PHP NYELVI ALAPOK Horváth Győző Egyetemi adjunktus 1117 Budapest, Pázmány Péter sétány 1/C, 2.420 Tel: (1) 372-2500/1816 2 Szerveroldali dinamizmus Kliensoldali webprogramozás 3 Kliens-szerver

Részletesebben

WEBFEJLESZTÉS 2. BEMENET, ŰRLAPOK

WEBFEJLESZTÉS 2. BEMENET, ŰRLAPOK WEBFEJLESZTÉS 2. BEMENET, ŰRLAPOK Horváth Győző Egyetemi adjunktus 1117 Budapest, Pázmány Péter sétány 1/C, 2.420 Tel: (1) 372-2500/1816 2 Ismétlés Ismétlés 3 Dinamikus szerveroldali webprogramozás: program

Részletesebben

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

A webhelyhez kötődő szoftverek architektúrája A webhelyhez kötődő szoftverek architektúrája A webhelyhez kötődő szoftverek architektúrája...1 A kliens-szerver funkcionalitások megoszlása...1 A böngésző mint web kliens...1 Web szerver (kiszolgáló)

Részletesebben

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

PHP alapjai, bevezetés. Vincze Dávid Miskolci Egyetem, IIT alapjai, bevezetés Vincze Dávid Miskolci Egyetem, IIT vincze.david@iit.uni-miskolc.hu PHP Personal Home Page (Tools) Script nyelv -> interpretált Elsősorban weboldal (dinamikus) tartalmak előállítására

Részletesebben

A Http és a PHP kapcsolata. Web-Sky Consulting Kft Tóth Imre 2009

A Http és a PHP kapcsolata. Web-Sky Consulting Kft Tóth Imre 2009 A Http és a PHP kapcsolata Web-Sky Consulting Kft Tóth Imre 2009 Előadások címei 1. PHP nyelv alapjai 2. Objektumorientáltság a PHP-ben 3. A Http és a PHP kapcsolata 4. Adatbázis kezelés a PHP-ben 5. MVC

Részletesebben

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

WEBFEJLESZTÉS 2. MUNKAMENET-KEZELÉS, HITELESÍTÉS WEBFEJLESZTÉS 2. MUNKAMENET-KEZELÉS, HITELESÍTÉS Horváth Győző Egyetemi adjunktus 1117 Budapest, Pázmány Péter sétány 1/C, 2.420 Tel: (1) 372-2500/1816 PHP beadandó 2 Honlapról elérhető Labirintus-játék

Részletesebben

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

WEBFEJLESZTÉS 2. ADATBÁZIS-KEZELÉS, OSZTÁLYOK WEBFEJLESZTÉS 2. ADATBÁZIS-KEZELÉS, OSZTÁLYOK Horváth Győző Egyetemi adjunktus 1117 Budapest, Pázmány Péter sétány 1/C, 2.420 Tel: (1) 372-2500/1816 2 Ismétlés Ismétlés 3 Fájl/Adatbázis 3 4 Szerver 2 CGI

Részletesebben

PHP. Adatbázisok gyakorlat

PHP. Adatbázisok gyakorlat PHP Adatbázisok gyakorlat Mi a PHP? A PHP (PHP: Hypertext Preprocessor) egy 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. A PHP-kódunk általában

Részletesebben

WEBES ALKALMAZÁSFEJLESZTÉS 1.

WEBES ALKALMAZÁSFEJLESZTÉS 1. WEBES ALKALMAZÁSFEJLESZTÉS 1. Horváth Győző Egyetemi adjunktus 1117 Budapest, Pázmány Péter sétány 1/C, 2.420 Tel: (1) 372-2500/1816 Tartalom 2 Adatbázis-biztonság Model-View-Controller minta MVC keretrendszerek

Részletesebben

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

WEB PROGRAMOZÁS 3.ELŐADÁS. Űrlapok WEB PROGRAMOZÁS 3.ELŐADÁS Űrlapok 2 Globális és környezeti változók Globális és környezeti változók 3 A globális változók azok a változók, amelyeket a program legfelső szintjén, azaz a függvényeken kívül

Részletesebben

Környezeti változók, űrlapok kezelése

Környezeti változók, űrlapok kezelése Környezeti változók, űrlapok kezelése Környezeti változók, űrlapok kezelése...1 Az állapot nélküli (stateless) hálózati alkalmazások jellegzetességei...1 Környezeti változók...2 A PHP előre definiált változói...2

Részletesebben

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

WEB PROGRAMOZÁS 1.ELŐADAS. Dr. Pál László Sapientia EMTE, Csíkszereda, tanév, I. Félév WEB PROGRAMOZÁS 1.ELŐADAS Dr. Pál László Sapientia EMTE, Csíkszereda, 2015-2016 tanév, I. Félév Előadás tematika 1.Előadás: PHP alapok (adattípusok, operátorok, vezérlési szerkezetek, tömbök, függvények)

Részletesebben

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

A PHP nyelv alapjai. Web-Sky Consulting Kft Tóth Imre 2009 A PHP nyelv alapjai Web-Sky Consulting Kft Tóth Imre 2009 Előadások címei 1. PHP nyelv alapjai 2. Objektumorientáltság a PHP-ben 3. A Http és a PHP kapcsolata 4. Adatbázis kezelés a PHP-ben 5. MVC alapjai

Részletesebben

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

PHP. Telepítése: Indítás/újraindítás/leállítás: Beállítások: A PHP nyelv PHP A PHP rövidítés jelentése hivatalosan: PHP Hypertext Preprocessor. Ez egy kiszolgáló-oldali parancsnyelv, amit jellemzően HTML oldalakon használnak. A különbség a két nyelv között az, hogy a kiszolgáló

Részletesebben

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

WEBFEJLESZTÉS 2. ADATTÁROLÁS, FÁJLOK WEBFEJLESZTÉS 2. ADATTÁROLÁS, FÁJLOK Horváth Győző Egyetemi adjunktus 1117 Budapest, Pázmány Péter sétány 1/C, 2.420 Tel: (1) 372-2500/1816 2 Ismétlés Ismétlés 3 Dinamikus szerveroldali webprogramozás:

Részletesebben

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

Programozás II. 2. Dr. Iványi Péter Programozás II. 2. Dr. Iványi Péter 1 C++ Bjarne Stroustrup, Bell Laboratórium Első implementáció, 1983 Kezdetben csak precompiler volt C++ konstrukciót C-re fordította A kiterjesztés alapján ismerte fel:.cpp.cc.c

Részletesebben

Rétegezett architektúra HTTP. A hálózatfejlesztés motorját a hálózati alkalmazások képezik. TCP/IP protokoll készlet

Rétegezett architektúra HTTP. A hálózatfejlesztés motorját a hálózati alkalmazások képezik. TCP/IP protokoll készlet HTTP Hálózat Rétegezett architektúra felhasználók Alkalmazási Web, e-mail, file transfer,... Szállítási Internet Hálózat-elérési Végponttól végpontig terjedő átvitel, Megbízható átvitel, sorrendbe állítás,

Részletesebben

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

Web programozás I. 4. előadás Web programozás I. 4. előadás CSS Pozícionálás http://www.brainjar.com/css/positioning/def ault.asp Design kialakívása http://www.albinoblacksheep.com/livedesign/ http://www.dynamicdrive.com/style/ http://www.opendesigns.org/

Részletesebben

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

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

Részletesebben

Készítette: Gál Tamás. A tananyag programozott változata itt érhető el: Webfejlesztés

Készítette: Gál Tamás. A tananyag programozott változata itt érhető el: Webfejlesztés HLTML 5 formok gyorstalpaló Készítette: Gál Tamás A tananyag programozott változata itt érhető el: Webfejlesztés (http://webfejlesztes.gtportal.eu/) Creative Commons Nevezd meg!-ne add el!-így add tovább!

Részletesebben

Hálózati architektúrák és Protokollok GI Kocsis Gergely

Hálózati architektúrák és Protokollok GI Kocsis Gergely Hálózati architektúrák és Protokollok GI - 10 Kocsis Gergely 2015.11.30. FTP File Transfer Protocol Legegyszerűbb FTP parancsok: USER name PASS jelszo CD, RETRIEVE, STORE, MKDIR, RMDIR, HELP, BYE Feladat:

Részletesebben

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

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 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 Mi a PHP? A PHP (PHP: Hypertext Preprocessor) egy nyílt forráskódú, számítógépes

Részletesebben

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

WWW Kliens-szerver Alapfogalmak Technológiák Terv. Web programozás 1 / 31 Web programozás 2011 2012 1 / 31 Áttekintés Mi a web? / A web rövid története Kliens szerver architektúra Néhány alapfogalom Kliens- illetve szerver oldali technológiák áttekintése Miről lesz szó... (kurzus/labor/vizsga)

Részletesebben

A HTTP protokoll. A standard egy URI (Unified Resource Identifier = egységes forrás azonosító) megnevezésű címet definiál, amely lehet:

A HTTP protokoll. A standard egy URI (Unified Resource Identifier = egységes forrás azonosító) megnevezésű címet definiál, amely lehet: Tartalom A HTTP protokoll 1. A HTTP protokoll...1 1.1. Címzés a weben...1 1.1.1. Az URL kódolás (URL encoding)...2 1.2. A MIME típusok...3 1.3. A TCP/IP protokoll szerepe a HTTP alatt...4 1.4. A HTTP protokoll

Részletesebben

Internet technológiák

Internet technológiák Szabadkai Műszaki Szakfőiskola Internet technológiák dr Zlatko Čović chole@vts.su.ac.rs 1 XHTML űrlapok 2 XHTML űrlapok Minden űrlap jelölőelem a: form{action, enctype, method} Űrlaptartalom /form jelölőelem

Részletesebben

Hálózati architektúrák és Protokollok GI Kocsis Gergely

Hálózati architektúrák és Protokollok GI Kocsis Gergely Hálózati architektúrák és Protokollok GI - 10 Kocsis Gergely 2016.12.05. netcat Feladat (szerver): indítsunk saját szervert, ami az 5555 porton várja a kliens jelentkezését $ nc -l port_száma Feladat (kliens):

Részletesebben

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

Internet programozása. 1. előadás Internet programozása 1. előadás Áttekintés 1. Mi a PHP? 2. A PHP fejlődése 3. A PHP 4 újdonságai 4. Miért pont PHP? 5. A programfejlesztés eszközei 1. Mi a PHP? Egy makrókészlet volt, amely személyes

Részletesebben

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

Flash és PHP kommunikáció. Web Konferencia 2007 Ferencz Tamás Jasmin Media Group Kft Flash és PHP kommunikáció Web Konferencia 2007 Ferencz Tamás Jasmin Media Group Kft A lehetőségek FlashVars External Interface Loadvars XML SOAP Socket AMF AMFphp PHPObject Flash Vars Flash verziótól függetlenül

Részletesebben

Informatika terméktervezőknek

Informatika terméktervezőknek Informatika terméktervezőknek C# alapok Névterület (namespace) using Osztály (class) és Obejtumok Metódus (function, procedure, method) main() static void string[] arg Szintaxis // /* */ \n \t Névadások

Részletesebben

PHP-MySQL. Adatbázisok gyakorlat

PHP-MySQL. Adatbázisok gyakorlat PHP-MySQL Adatbázisok gyakorlat Weboldalak és adatbázisok Az eddigiek során megismertük, hogyan lehet a PHP segítségével dinamikus weblapokat készíteni. A dinamikus weboldalak az esetek többségében valamilyen

Részletesebben

Web programozás I. tantárgyi információk

Web programozás I. tantárgyi információk Web programozás I. tantárgyi információk Nagy Gusztáv honlap: http://nagygusztav.hu jegyzet e-mail: nagy.gusztav@gamf.kefo.hu tantárgy honlapja: http://webprog.hu/ tantárgyi hírek (nem ETR kurzusfórum!)

Részletesebben

Web programoz as 2009 2010

Web programoz as 2009 2010 Web programozás 2009 2010 Áttekintés A web rövid története Kliens szerver architektúra Néhány alapfogalom Kliens- illetve szerver oldali technológiák áttekintése Áttekintés: miről lesz szó (kurzus/labor/vizsga)

Részletesebben

Egészítsük ki a Drupal-t. Drupal modul fejlesztés

Egészítsük ki a Drupal-t. Drupal modul fejlesztés Egészítsük ki a Drupal-t Drupal modul fejlesztés Drupal 6.0 2008. február 13. Miért írjunk Drupal modult? Nincs az igényeinknek megfelelő modul Valamilyen közösségi igény kielégítése Valami nem úgy működik

Részletesebben

WEB-FEJLESZTÉS I. KURZUS 2. GYAKORLAT

WEB-FEJLESZTÉS I. KURZUS 2. GYAKORLAT WEB-FEJLESZTÉS I. KURZUS 2. GYAKORLAT Fontos szabványok 1 HTTP protokoll Protokoll = szabályrendszer HTTP HyperText Transfer Protocol (Hiperszöveg Átviteli Protokoll) a webböngésző (kliens) adatokat kérhet

Részletesebben

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

Bevezetés Működési elv AJAX keretrendszerek AJAX AJAX Áttekintés Bevezetés Működési elv AJAX-ot támogató keretrendszerek Áttekintés Bevezetés Működési elv AJAX-ot támogató keretrendszerek Áttekintés Bevezetés Működési elv AJAX-ot támogató keretrendszerek

Részletesebben

Web-technológia PHP-vel

Web-technológia PHP-vel Web-technológia PHP-vel A PHP programnyelv 2, futtatókörnyezet beálĺıtások Erős Bence February 26, 2013 Erős Bence () Web-technológia PHP-vel February 26, 2013 1 / 19 Szuperglobális változók $ GET : request

Részletesebben

1. Alapok. Programozás II

1. Alapok. Programozás II 1. Alapok Programozás II Elérhetőség Név: Smidla József Elérhetőség: smidla dcs.uni-pannon.hu Szoba: I916 2 Irodalom Bjarne Stroustrup: A C++ programozási nyelv 3 Irodalom Erich Gamma, Richard Helm, Ralph

Részletesebben

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

Az iskolai rendszerű képzésben az összefüggő szakmai gyakorlat időtartama. 10. évfolyam Adatbázis- és szoftverfejlesztés gyakorlat 50 óra Az iskolai rendszerű képzésben az összefüggő szakmai gyakorlat időtartama 10. évfolyam: 105 óra 11. évfolyam: 140 óra 10. évfolyam Adatbázis- és szoftverfejlesztés gyakorlat 50 óra 36 óra OOP 14 óra Programozási

Részletesebben

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

Szerver oldali technológiák Szerver oldali script nyelvek PHP 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

Részletesebben

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

BASH script programozás II. Vezérlési szerkezetek 06 BASH script programozás II. Vezérlési szerkezetek Emlékeztető Jelölésbeli különbség van parancs végrehajtása és a parancs kimenetére való hivatkozás között PARANCS $(PARANCS) Jelölésbeli különbség van

Részletesebben

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.

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. Függvények 1.Függvények...1 1.1.A függvény deníció szintaxisa... 1..Függvények érték visszatérítése...3 1.3.Környezettel kapcsolatos kérdések...4 1.4.Lokális változók használata...4 1.5.Rekurzív hívások...5.kód

Részletesebben

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

Dr. Pál László, Sapientia EMTE, Csíkszereda WEB PROGRAMOZÁS 6.ELŐADÁS. Fájlkezelés PHP-ben Dr. Pál László, Sapientia EMTE, Csíkszereda WEB PROGRAMOZÁS 6.ELŐADÁS 2015-2016 Fájlkezelés PHP-ben Fájlok és könyvtárak kezelése 2 A PHP a Javascript-hez hasonlóan, nem képes a felhasználó merevlemezén

Részletesebben

A C# programozási nyelv alapjai

A C# programozási nyelv alapjai A C# programozási nyelv alapjai Tisztán objektum-orientált Kis- és nagybetűket megkülönbözteti Ötvözi a C++, Delphi, Java programozási nyelvek pozitívumait.net futtatókörnyezet Visual Studio fejlesztőkörnyezet

Részletesebben

Szkriptnyelvek. 1. UNIX shell

Szkriptnyelvek. 1. UNIX shell Szkriptnyelvek 1. UNIX shell Szkriptek futtatása Parancsértelmez ő shell script neve paraméterek shell script neve paraméterek Ebben az esetben a szkript tartalmazza a parancsértelmezőt: #!/bin/bash Szkriptek

Részletesebben

Szilipet programok telepítése Hálózatos (kliens/szerver) telepítés Windows 7 operációs rendszer alatt

Szilipet programok telepítése Hálózatos (kliens/szerver) telepítés Windows 7 operációs rendszer alatt Szilipet programok telepítése Hálózatos (kliens/szerver) telepítés Windows 7 operációs rendszer alatt segédlet A Szilipet programok az adatok tárolásához Firebird adatbázis szervert használnak. Hálózatos

Részletesebben

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

Operációs Rendszerek II. labor. 2. alkalom Operációs Rendszerek II. labor 2. alkalom Mai témák (e)grep Shell programozás (részletesebben, példákon keresztül) grep Alapvető működés: mintákat keres a bemeneti csatorna (STDIN vagy fájl) soraiban,

Részletesebben

A JavaScript főbb tulajdonságai

A JavaScript főbb tulajdonságai JavaScript alapok A JavaScript főbb tulajdonságai Script nyelv azaz futás közben értelmezett, interpretált nyelv Legfőbb alkalmazási területe: a HTML dokumentumok dinamikussá, interaktívvá tétele Gyengén

Részletesebben

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

S z á m í t ó g é p e s a l a p i s m e r e t e k S z á m í t ó g é p e s a l a p i s m e r e t e k 7. előadás Ami eddig volt Számítógépek architektúrája Alapvető alkotóelemek Hardver elemek Szoftver Gépi kódtól az operációs rendszerig Unix alapok Ami

Részletesebben

Hálózati architektúrák és Protokollok GI Kocsis Gergely

Hálózati architektúrák és Protokollok GI Kocsis Gergely Hálózati architektúrák és Protokollok GI - 11 Kocsis Gergely 2015.12.06. FTP File Transfer Protocol Legegyszerűbb FTP parancsok: USER name PASS jelszo CD, RETRIEVE, STORE, MKDIR, RMDIR, HELP, BYE Feladat:

Részletesebben

Webes alkalmazások fejlesztése

Webes alkalmazások fejlesztése Webes alkalmazások fejlesztése 3. gyakorlat Authentikáció, adatok feltöltése Szabó Tamás (sztrabi@inf.elte.hu) - sztrabi.web.elte.hu Authentikáció Manapság már elvárás, hogy a felhasználó regisztrálni

Részletesebben

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

Az alábbi kód egy JSON objektumot definiál, amiből az adtokat JavaScript segítségével a weboldal tartalmába ágyazzuk. JSON tutorial Készítette: Cyber Zero Web: www.cyberzero.tk E-mail: cyberzero@freemail.hu Msn: cyberzero@mailpont.hu Skype: cyberzero_cz Fb: https://www.facebook.com/cyberzero.cz BEVEZETÉS: A JSON (JavaScript

Részletesebben

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

Programozási nyelvek I. 5. előadás (Gregorics Tibor anyagának felhasználásával) Programozási nyelvek I. 5. előadás (Gregorics Tibor anyagának felhasználásával) I. A nyelv története C++ C (ős: B???) 1972 Ritchie AT&T Bell laboratórium UNIX 1978 Kernighan & Ritchie az első tankönyv,

Részletesebben

Java Challenge második forduló játékszabályai v1.2

Java Challenge második forduló játékszabályai v1.2 Java Challenge második forduló játékszabályai v1.2 Változások a v1.1-hez képest: elírás javítása az űrhajó sebességénél Változások a v1.0-hoz képest: sebességek megadása beadandó projekt követelményeinek

Részletesebben

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

Web fejlesztés IV. Illés Zoltán ELTE TTK Informatika I n f o r m a t i k a 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

Részletesebben

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

Operációs rendszerek. 9. gyakorlat. Reguláris kifejezések - alapok, BASH UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED Reguláris kifejezések - alapok, BASH Operációs rendszerek 9. gyakorlat Szegedi Tudományegyetem Természettudományi és Informatikai Kar Csuvik Viktor

Részletesebben

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

Tartalomjegyzék. I. rész Az elsõ lépések Tartalomjegyzék Bevezetõ I. rész Az elsõ lépések 1. óra PHP: személyes honlaptól a portálig..... 3 Mi a PHP?............................................ 4 A PHP fejlõdése.......................................

Részletesebben

Hálózati architektúrák és Protokollok GI - 9. Kocsis Gergely

Hálózati architektúrák és Protokollok GI - 9. Kocsis Gergely Hálózati architektúrák és Protokollok GI - 9 Kocsis Gergely 2015.11.20. Az alkalmazási réteg protokolljai Milyen alkalmazási rétegbeli protokollokat ismerünk? File átvitel: FTP TFTP Névfeloldás DNS IRC

Részletesebben

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

MicroSigner Közvetítő Szerver fejlesztői dokumentáció MICROSEC ZRT. MicroSigner Közvetítő Szerver fejlesztői dokumentáció verzió: 1.0 Ivicsics Sándor, Máté Norbert, Vanczák Gergely 2016.06.09. Tartalom Általános információk... 2 ESign munkamenet létrehozása...

Részletesebben

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

1. Egyszerű (primitív) típusok. 2. Referencia típusok II. A Java nyelv eszközei 1. Milyen eszközöket nyújt a Java a programozóknak Korábban már említettük, hogy a Java a C nyelvből alakult ki, ezért a C, C++ nyelvben járatos programozóknak nem fog nehézséget

Részletesebben

Web programozás. 3. előadás

Web programozás. 3. előadás Web programozás 3. előadás Űrlapok form label for input type select, option value szöveges mező: text textarea jelszó: password rádiógomb: radio jelölőnégyzet: checkbox küldés gomb: submit Web programozás

Részletesebben

1. Bevezetés szeptember 9. BME Fizika Intézet. Szám. szim. labor ea. Tőke Csaba. Tudnivalók. feladat. Tematika. Moodle Házi feladatok

1. Bevezetés szeptember 9. BME Fizika Intézet. Szám. szim. labor ea. Tőke Csaba. Tudnivalók. feladat. Tematika. Moodle Házi feladatok Számítógépes szimulációk 1. Bevezetés BME Fizika Intézet 2015. szeptember 9. Bevezetés A félév menete C-ismétlés, 1. rész Oktatók: Nagyfalusi Balázs: nagyfalusi@phy.bme.hu, F3 211. : tcsaba@eik.bme.hu,

Részletesebben

Bevezetés a programozásba I.

Bevezetés a programozásba I. Bevezetés a programozásba I. 6. gyakorlat C++ alapok, szövegkezelés Surányi Márton PPKE-ITK 2010.10.12. Forrásfájlok: *.cpp fájlok Fordítás: a folyamat, amikor a forrásfájlból futtatható állományt állítunk

Részletesebben

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

SZÁMÍTÓGÉPES ADATBÁZIS-KEZELÉS. A MySQL adatbáziskezelő A PHP programozási nyelv JDBC, ODBC SZÁMÍTÓGÉPES ADATBÁZIS-KEZELÉS A MySQL adatbáziskezelő A PHP programozási nyelv JDBC, ODBC ADATBÁZISOK Adatbázis = adott formátum és rendszer szerint tárolt adatok összessége. DBMS feladatai: adatstruktúra

Részletesebben

Programozás és adatbázis kezelés PHP ben

Programozás és adatbázis kezelés PHP ben Programozás és adatbázis kezelés PHP ben Készítette: Pető László I. A programozási környezet A PHP platformfüggetlen programozási nyelv. A szkriptek futtatása szerveroldalon történik. Ezt a szerepet leggyakrabban

Részletesebben

Bevezetés a programozásba I 10. gyakorlat. C++: alprogramok deklarációja és paraméterátadása

Bevezetés a programozásba I 10. gyakorlat. C++: alprogramok deklarációja és paraméterátadása Pázmány Péter Katolikus Egyetem Információs Technológiai Kar Bevezetés a programozásba I 10. gyakorlat C++: alprogramok deklarációja és paraméterátadása 2011.11.22. Giachetta Roberto groberto@inf.elte.hu

Részletesebben

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

Java Server Pages - JSP. Web Technológiák. Java Server Pages - JSP. JSP lapok életciklusa Web Technológiák Java Server Pages - JSP Répási Tibor egyetemi tanársegéd Miskolc Egyetem Infomatikai és Villamosmérnöki Tanszékcsoport (IVM) Általános Informatikai Tanszék Iroda: Inf.Int. 108. Tel: 2101

Részletesebben

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

Programozás I. 3. gyakorlat. Szegedi Tudományegyetem Természettudományi és Informatikai Kar Programozás I. 3. gyakorlat Szegedi Tudományegyetem Természettudományi és Informatikai Kar Antal Gábor 1 Primitív típusok Típus neve Érték Alap érték Foglalt tár Intervallum byte Előjeles egész 0 8 bit

Részletesebben

Természetesen készíts egy csempe nevű könyvtárat és ide mentsd az index.html állományt.

Természetesen készíts egy csempe nevű könyvtárat és ide mentsd az index.html állományt. Csempe kalkula tor A küldetésünk az, hogy segítsünk kiszámítani egy fürdőszoba csempeszükségletét (felületét). Sőt, ha a kalkulátort használó ügyfél elégedett egyből elküldheti az e-mail címét, hogy a

Részletesebben

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

Symfony kurzus 2014/2015 I. félév. Controller, Routing Symfony kurzus 2014/2015 I. félév Controller, Routing Request - Response GET / HTTP/1.1 Host: xkcd.com Accept: text/html User-Agent: Mozilla/5.0 (Macintosh) HTTP/1.1 200 OK Date: Sat, 02 Apr 2011 21:05:05

Részletesebben

Java és web programozás

Java és web programozás Budapesti Műszaki Egyetem 2015. 04. 08. 9. Előadás Kivétel kezelés a kivétel (exception) egy esemény, mely futás közben megbontja a program normális futási folyamatát például kivétel dobódik amikor 0-val

Részletesebben

Smarty AJAX. Miért jó ez? Ha utálsz gépelni, akkor tudod. Milyen műveletet tudunk elvégezni velük:

Smarty AJAX. Miért jó ez? Ha utálsz gépelni, akkor tudod. Milyen műveletet tudunk elvégezni velük: Smarty AJAX Smarty sablonrendszer fegyverzetét (Funkcióit) igyekszik kiegészíteni, néhány alap AJAX metódussal, amivel a megjelenést, kényelmet vagy a funkcionalitást növelhetjük. A Smarty Ajax függvényeknek

Részletesebben

Programozási nyelvek JAVA EA+GY 1. gyakolat

Programozási nyelvek JAVA EA+GY 1. gyakolat Programozási nyelvek JAVA EA+GY 1. gyakolat EÖTVÖS LORÁND TUDOMÁNYEGYTEM INFORMATIKAI KAR PROGRAMOZÁSI NYELVEK ÉS FORDÍTÓPROGRAMOK TANSZÉK 2018/2019. tavaszi félév Tartalom 1 A Java alapjai 2 Java program

Részletesebben

III. RÉSZ Munka a PHP-vel

III. RÉSZ Munka a PHP-vel III. RÉSZ Munka a PHP-vel 9. óra Ûrlapok 10. óra Fájlok használata 11. óra A DBM függvények használata 12. óra Adatbázisok kezelése MySQL 13. óra Kapcsolat a külvilággal 14. óra Dinamikus képek kezelése

Részletesebben

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

Programozás alapjai gyakorlat. 4. gyakorlat Konstansok, tömbök, stringek Programozás alapjai gyakorlat 4. gyakorlat Konstansok, tömbök, stringek Házi ellenőrzés (f0069) Valósítsd meg a linuxos seq parancs egy egyszerűbb változatát, ami beolvas két egész számot, majd a kettő

Részletesebben

Pénzügyi algoritmusok

Pénzügyi algoritmusok Pénzügyi algoritmusok A C++ programozás alapjai Az Integrált Fejlesztői Környezet C++ alapok Az Integrált Fejlesztői Környezet Visual Studio 2013 Community Edition Kitekintés: fordítás Preprocesszor Fordító

Részletesebben

Hálózati Architektúrák és Protokollok GI BSc. 10. laborgyakorlat

Hálózati Architektúrák és Protokollok GI BSc. 10. laborgyakorlat Hálózati Architektúrák és Protokollok GI BSc. 10. laborgyakorlat Erdős András (demonstrátor) Debreceni Egyetem - Informatikai Kar Informatikai Rendszerek és Hálózatok Tanszék 2016 9/20/2016 9:41 PM 1 Transzport

Részletesebben

API tervezése mobil környezetbe. gyakorlat

API tervezése mobil környezetbe. gyakorlat API tervezése mobil környezetbe gyakorlat Feladat Szenzoradatokat gyűjtő rendszer Mobil klienssel Webes adminisztrációs felület API felhasználói Szenzor node Egyirányú adatküldés Kis számítási kapacitás

Részletesebben

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

Operációs rendszerek. 9. gyakorlat. BASH recap, reguláris kifejezések UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED BASH recap, reguláris kifejezések Operációs rendszerek 9. gyakorlat Szegedi Tudományegyetem Természettudományi és Informatikai Kar Csuvik Viktor

Részletesebben

Segédlet a Hálózati architektúrák és protokollok laborgyakorlathoz v0.6

Segédlet a Hálózati architektúrák és protokollok laborgyakorlathoz v0.6 Segédlet a Hálózati architektúrák és protokollok laborgyakorlathoz v0.6 Bevezetés A laborgyakorlaton alkalmazott operációs rendszer: Linux Disztribúció: Knoppix Linux Live 6.x (DVD változat) Linux parancsok:

Részletesebben

Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem

Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem A Java EE 5 platform Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem Utolsó módosítás: 2008. 04. 17. A Java EE 5 platform A Java EE 5 plattform A J2EE 1.4 után következő verzió. Alapvető továbbfejlesztési

Részletesebben

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

Programozás II. 2. gyakorlat Áttérés C-ről C++-ra Programozás II. 2. gyakorlat Áttérés C-ről C++-ra Tartalom Új kommentelési lehetőség Változók deklarációjának helye Alapértelmezett függvényparaméterek Névterek I/O műveletek egyszerűsödése Logikai adattípus,

Részletesebben

Mintavételes szabályozás mikrovezérlő segítségével

Mintavételes szabályozás mikrovezérlő segítségével Automatizálási Tanszék Mintavételes szabályozás mikrovezérlő segítségével Budai Tamás budai.tamas@sze.hu http://maxwell.sze.hu/~budait Tartalom Mikrovezérlőkről röviden Programozási alapismeretek ismétlés

Részletesebben

Dr. Pál László, Sapientia EMTE, Csíkszereda WEB PROGRAMOZÁS 5.ELŐADÁS. Sütik és munkamenetek kezelése 2015-2016

Dr. Pál László, Sapientia EMTE, Csíkszereda WEB PROGRAMOZÁS 5.ELŐADÁS. Sütik és munkamenetek kezelése 2015-2016 Dr. Pál László, Sapientia EMTE, Csíkszereda WEB PROGRAMOZÁS 5.ELŐADÁS 2015-2016 Sütik és munkamenetek kezelése A HTTP protokoll Emlékeztető 2 A HTTP protokoll állapotmentes Nem emlékezik az előző kérés

Részletesebben

Pénzügyi algoritmusok

Pénzügyi algoritmusok Pénzügyi algoritmusok A C++ programozás alapjai Folyamok kezelése Fájlok írása/olvasása Folyamok kezelése Szabvány folyamok Eddig Kiírás a szöveges konzolra:

Részletesebben

Webtárhely létrehozása a WWW.freeweb.hu helyen. Lépések Teendő 1. Böngészőbe beírni: www.freeweb.hu. 2. Jobb oldalon regisztrálni (tárhelyigénylés).

Webtárhely létrehozása a WWW.freeweb.hu helyen. Lépések Teendő 1. Böngészőbe beírni: www.freeweb.hu. 2. Jobb oldalon regisztrálni (tárhelyigénylés). Lépések Teendő 1. Böngészőbe beírni: www.freeweb.hu Kép 2. Jobb oldalon regisztrálni (tárhelyigénylés). 3. 4. Értelemszerűen kitölteni a regisztrációs lapot, és elküldeni. 5. Postafiókomra érkező levélben

Részletesebben

Programozás C nyelven (3. ELŐADÁS) Sapientia EMTE

Programozás C nyelven (3. ELŐADÁS) Sapientia EMTE Programozás C nyelven (3. ELŐADÁS) Sapientia EMTE 2015-16 Classic Empire - A turn Based Wargame Classic Empire is a real time, multiplayer, Internet-based game, featuring military, diplomatic, and economic

Részletesebben

Programozási alapismeretek :: beadandó feladat. Felhasználói dokumentáció. Molnár Tamás MOTIABT.ELTE motiabt@inf.elte.

Programozási alapismeretek :: beadandó feladat. Felhasználói dokumentáció. Molnár Tamás MOTIABT.ELTE motiabt@inf.elte. Programozási alapismeretek :: beadandó feladat Készítő adatai Név: Molnár Tamás EHA: MOTIABT.ELTE E-mail cím: motiabt@inf.elte.hu Gyakorlatvezető: Horváth László Feladat sorszáma: 23. Felhasználói dokumentáció

Részletesebben

Bevezetés a programozásba I.

Bevezetés a programozásba I. Bevezetés a programozásba I. 5. gyakorlat Surányi Márton PPKE-ITK 2010.10.05. C++ A C++ egy magas szint programozási nyelv. A legels változatot Bjarne Stroutstrup dolgozta ki 1973 és 1985 között, a C nyelvb

Részletesebben

Szabadkai Műszaki Szakfőiskola. Web programozás. dr Zlatko Čović chole@vts.su.ac.rs

Szabadkai Műszaki Szakfőiskola. Web programozás. dr Zlatko Čović chole@vts.su.ac.rs Szabadkai Műszaki Szakfőiskola Web programozás dr Zlatko Čović chole@vts.su.ac.rs 1 DOM események (events) JavaScriptben interaktív programok készítésére az események által vezérelt programozási modellt

Részletesebben

HTML ALAPOK. Abonyi-Tóth Andor, ELTE IK

HTML ALAPOK. Abonyi-Tóth Andor, ELTE IK HTML ALAPOK Abonyi-Tóth Andor, ELTE IK Fontos szabványok HTTP protokoll Protokoll = szabályrendszer HTTP HyperText Transfer Protocol (Hiperszöveg Átviteli Protokoll) a webböngésző (kliens) adatokat kérhet

Részletesebben

Web-fejlesztés NGM_IN002_1

Web-fejlesztés NGM_IN002_1 Web-fejlesztés NGM_IN002_1 CGI, SSI Dinamikus tartalom el!állítás Webes prezentáció és átvitel HTML, (MIME), HTTP Megvalósítás Alkalmazás natív webes interfésszel Standard webszerver funkcionalitásának

Részletesebben

Hálózati architektúrák és Protokollok MI 7,8. Kocsis Gergely

Hálózati architektúrák és Protokollok MI 7,8. Kocsis Gergely Hálózati architektúrák és Protokollok MI 7,8 Kocsis Gergely 2013.04.17. 2013.04.24. HTTP HyperText Transfer Protocol (HyperText Markup Language) HTTPS: A HTTP és a szállítási rétegbeli TCP közé titkosítást

Részletesebben

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

AWK programozás, minták, vezérlési szerkezetek 10 AWK programozás, minták, vezérlési szerkezetek AWK adatvezérelt szkriptnyelv text processing, adat kiterjesztés, tagolt adatok automatizált soronkénti feldolgozása a forrásállományt soronként beolvassa

Részletesebben

Bevezetés a programozásba. 6. Előadás: C++ bevezető

Bevezetés a programozásba. 6. Előadás: C++ bevezető Bevezetés a programozásba 6. Előadás: C++ bevezető ISMÉTLÉS PLanG features Utasítások Értékadás, KI:, BE: Programkonstrukciók Elágazás Ciklus Típusok Egész, valós, logikai, szöveg, karakter, fájl Típuskonstrukciók

Részletesebben

Számítógépes Hálózatok. 3. gyakorlat

Számítógépes Hálózatok. 3. gyakorlat Számítógépes Hálózatok 3. gyakorlat Teszt canvas.elte.hu Számítógépes Hálózatok Gyakorlat 2 NC-NetCat (SoCat), avagy hálózati svájcibicska # szerver imitálása nc -l -p 1234 # kliens imitálása nc destination_host

Részletesebben

Szerző Lővei Péter LOPSAAI.ELTE IP-08PAEG/25 Daiki Tennó

Szerző Lővei Péter LOPSAAI.ELTE IP-08PAEG/25 Daiki Tennó Szerző Név: Lővei Péter ETR-azonosító: LOPSAAI.ELTE Drótposta-cím: petyalovei@gmail.com Kurzuskód: IP-08PAEG/25 Gyakorlatvezető neve: Daiki Tennó Feladatsorszám: 11 1 Tartalom Szerző... 1 Tartalom... 2

Részletesebben

Java-ról Kotlinra. Ekler Péter AutSoft BME AUT. AutSoft

Java-ról Kotlinra. Ekler Péter AutSoft BME AUT. AutSoft Java-ról Kotlinra Ekler Péter peter.ekler@aut.bme.hu BME AUT Tartalom Java és Kotlin kapcsolata Hogyan próbálhatjuk ki? Kotlin kultúra kialakítása cégen belül Milyen a Kotlin a Java-hoz képest? Történet

Részletesebben

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

MicroSigner Közvetítő Szerver fejlesztői dokumentáció MICROSEC ZRT. MicroSigner Közvetítő Szerver fejlesztői dokumentáció verzió: 1.0 Ivicsics Sándor, Máté Norbert, Vanczák Gergely 2016.06.09. Tartalom Általános információk... 2 ESign munkamenet létrehozása...

Részletesebben

Rohonczy János: World Wide Web - Világháló

Rohonczy János: World Wide Web - Világháló Rohonczy János: World Wide Web - Világháló Rohonczy János (ELTE) 2005. v.1.0 1 IP cím (4 byte-os) Pl.: 157.181.192.88 hálózatazonosító (cím osztályok).állomásazonosító A osztály 0.0.0.0-127.255.255.255

Részletesebben