WEBFEJLESZTÉS 2. ADATTÁROLÁS, MUNKAMENET- KEZELÉS, AJAX
|
|
- Éva Farkas
- 8 évvel ezelőtt
- Látták:
Átírás
1 WEBFEJLESZTÉS 2. ADATTÁROLÁS, MUNKAMENET- KEZELÉS, AJAX 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 Ismétlés 3 Dinamikus szerveroldali webprogramozás: program (PHP) állítja elő a tartalmat (HTML) Input kliens: link, űrlap szerver: CGI program: környezeti változók standard input Szerver Kliens PHP
4 Ismétlés 4 PHP linkben? után $_GET tömb űrlap get $_GET tömb űrlap post $_POST Űrlapfeldolgozás Adatok (nincsen: $_POST, $_GET, HTML) Beolvasás, ellenőrzés ($_POST, $_GET) Kimenet (HTML)
5 Adatok tárolása 5 Szükséges input output Hogyan? memória (nem jó, külön kérések vannak) fájl adatbázis
6 6 Fájlkezelés PHP-ban
7 Fájlműveletek PHP-ban 7 PHP-ban van lehetőség fájlok használatára (írás, olvasás, stb) Mint a legtöbb programozási nyelvben Csak a szerver helyi fájljai érhetők el Sokféle nyelvi lehetőség Tipikus folyamat megnyitás feldolgozás bezárás
8 Általános fájlműveletek 8 $f = fopen($fájlnév, $mód) fájl vagy URL megnyitása $f: logikai fájlkezelő $mód határozza a megnyitás módját r (csak olvasás) r+ (olvasás, írás) w (csak írás, üres fájl) w+ (olvasás, írás, üres fájl) a (hozzáfűzés) a+ (hozzáfűzés, olvasás) x (csak írás, üres fájl, ha létezik a fájl, akkor hiba) x+ (olvasás, írás, üres fájl, ha létezik, akkor hiba) c (csak írás, ha létezik, akkor elejére áll) c+ (írás, olvasás, ha létezik, elejére áll)
9 Általános fájlműveletek 9 feof($f) fájl vége? Beolvasás fread($f, $hossz) $hossz byte beolvasása fscanf($f, $formátum) formátum szerinti beolv. fgets($f[, $hossz]) sor beolvasása fclose($f) fájl bezárása Kiírás fwrite($f, $s) $s kiírása fputs($f, $s) ld. fwrite()
10 Példa filmcímek beolvasása 10 Cél: filmcímeket táblázatban kilistázni Kimenet <!doctype html> <html> <head> <meta charset="utf-8"> <title>fájl</title> </head> <body> <table border="1"> <?php foreach ($filmek as $film) :?> <tr> <td><?php echo $film;?></td> </tr> <?php endforeach;?> </table> </body> </html>
11 Példa filmcímek beolvasása 11 A hobbit A Gyűrűk Ura Út a vadonba Passió $filmek = array(); $f = fopen('lista.txt', 'r'); while (!feof($f)) { $sor = fgets($f); $filmek[] = $sor; fclose($f);
12 Példa filmcímek beolvasása 12 Javítandó Új sor karakterek a sor végén trim($s) Üres sor a fájl végén ellenőrzés $filmek = array(); $f = fopen('lista.txt', 'r'); while (!feof($f)) { $sor = trim(fgets($f)); if ($sor!= '') { $filmek[] = $sor; fclose($f);
13 Hibaellenőrzés 13 A fájlműveletek hamis értékkel térnek vissza hiba esetén általában hamis érték ellenőrzése $filmek = array(); $f = fopen('lista_.txt', 'r'); if ($f) { while (!feof($f)) { $sor = trim(fgets($f)); if ($sor!= '') { $filmek[] = $sor; fclose($f);
14 Hibaellenőrzés 14 Hibaüzenet kiírását operátorral nyomhatjuk el $filmek = array(); $f 'r'); if ($f) { while (!feof($f)) { $sor = trim(fgets($f)); if ($sor!= '') { $filmek[] = $sor; fclose($f);
15 Magasabb szintű fájlműveletek 15 Beolvasás file($fájlnév[, módosítók]) fájl soronként beolvas egy tömbbe file_get_contents($fájlnév) egész fájlt szövegként beolvassa readfile($fájlnév) A fájlt a kimenetre írja pl. képek kiírása fpassthru($f) Megnyitott fájl maradék részét a kimenetre írja pl. képek kiírása
16 Példa file() használatával 16 Új sor karakterek és üres sor nélkül $filmek = file('lista.txt', FILE_IGNORE_NEW_LINES FILE_SKIP_EMPTY_LINES); Hibaellenőrzéssel $filmek FILE_IGNORE_NEW_LINES FILE_SKIP_EMPTY_LINES) or die('nincs meg a fájl'); vagy $filmek FILE_IGNORE_NEW_LINES FILE_SKIP_EMPTY_LINES); if (!$filmek) { $filmek = array();
17 Példa file_get_contents() 17 Beolvasni, feldarabolni //$s szövegbe beolvasni $s = file_get_contents('lista.txt'); //feldarabolni új sor szerint $filmek = explode("\n", $s); //utolsó üres elemet kivenni array_pop($filmek); Hibaellenőrzés (hasonló a file()-hoz) //$s szövegbe beolvasni $s or die('nincs meg a fájl'); //feldarabolni új sor szerint $filmek = explode("\n", $s); //utolsó üres elemet kivenni array_pop($filmek);
18 Példa tömb kiírása listába 18 Nyitás módja: w, a, x Konstans definiálása Hibaellenőrzés Írási jog az adott könyvtárra Vuk Lolka és Bolka Macskafogó Kisvakond és barátai $filmek = array( 'Vuk', 'Lolka és Bolka', 'Macskafogó', 'Kisvakond és barátai', ); define('sorveg', "\n"); $f 'w') or die('hiba!'); if ($f) { foreach ($filmek as $film) { fputs($f, $film. SORVEG); fclose($f);
19 Példa új sor hozzáfűzése 19 Hozzáfűzésre megnyitás Egy sor kiírása $uj_film = 'Hupikék törpikék'; define('sorveg', "\n"); $f 'a') or die('hiba!'); if ($f) { fputs($f, $uj_film. SORVEG); fclose($f); Vuk Lolka és Bolka Macskafogó Kisvakond és barátai Hupikék törpikék
20 Magasabb szintű fájlműveletek 20 Kiírás file_put_contents($fájlnév, $s) Szöveget a fájlba írja $filmek = array( 'Vuk', 'Lolka és Bolka', 'Macskafogó', 'Kisvakond és barátai', ); define('sorveg', "\n"); //Elemek összefűzése $s = implode(sorveg, $filmek). SORVEG; $siker $s);
21 Konkurens fájlhasználat 21 Ha egyszerre többen hívják meg a szkriptet konkurens használat flock($f, $op) $op LOCK_SH (olvasáshoz) LOCK_EX (íráshoz) LOCK_UN (kioldáshoz) fflush($f) define('sorveg', "\n"); $f 'w') or die('hiba!'); if ($f) { if (flock($f, LOCK_EX)) { foreach ($filmek as $film) { fputs($f, $film. SORVEG); flock($f, LOCK_UN); fclose($f); fájlpuffer ürítése
22 Konkurens fájlhasználat 22 Olvasáshoz is érdemes lockolni a fájlt, hogy közben ne kezdődhessen el egy írási folyamat. $filmek = array(); $f 'r'); if ($f) { if (flock($f, LOCK_SH)) { while (!feof($f)) { $sor = trim(fgets($f)); if ($sor!= '') { $filmek[] = $sor; flock($f, LOCK_UN); fclose($f);
23 URL-ek olvasása 23 A fájlműveletek többsége nemcsak fájlt, hanem URL-t is képes olvasni (általában folyamokat) PHP-ban fel tudunk dolgozni más oldalakat Egy egyszerű oldal megjelenítése: $s = file_get_contents(' echo $s;
24 További fájlműveletek 24 mkdir($útvonal) könyvtár létrehozása rmdir($könyvtárnév) könyvtár törlése copy($forrás, $cél) másolás rename($mit, $mire) átnevezés, mozgatás unlink($fájlnév) törlés is_dir($fájlnév) is_file($fájlnév) is_readable($fájlnév) is_writable($fájlnév) is_link($fájlnév) is_executable($fájlnév)
25 További fájlműveletek 25 basename($útvonal) fájlnevet adja vissza chown($fájl, $user) chmod($fájl, $mód) chgrp($fájl, $group) stat($fájl) fájl adatai tömbben fseek($f, $offset) fájlmutató mozgatása
26 Összefoglalás 26 Alacsony és magas szintű fájlműveletek Beolvasást és a kiírást meghatározza: a fájl szerkezete; vagy az adat szerkezete Továbblépés adatszerkezetek
27 27 Adatszerkezetek és sorosításuk
28 Adatszerkezetek 28 //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', ), );
29 29 Példa Rekordok tömbje cím rendező év szereplők $filmek = array( array( 'cim' => 'Passió', 'rendezo' => 'Mel Gibson', 'ev' => '2004', 'szereplok'=> array( 'Jim Caviezel', 'Maia Morgenstern', 'Christo Jivkov', ), ), array( 'cim' => 'Pio atya - A csodák embere', 'rendezo' => 'Carlo Carlei', 'ev' => '2000', 'szereplok'=> array( 'Sergio Castellitto', 'Sergio Albelli', ), ), );
30 Példa feldolgozása 30 Nehézségek, kérdések Milyen legyen a fájl szerkezete? egy rekord egy sor? több sor (behúzásokkal) Feldolgozó algoritmushoz már nem használhatók a kényelmes függvények soronként, rekordonként kell feldolgozni megoldható, de sok idő
31 Sorosítás 31 Sorosítás egy adatszerkezet visszaalakítható szöveges megfelelője. Tároláshoz, átküldéshez szokták használni Sorosító függvények serialize($érték) szöveg unserialize($szöveg) érték json_encode($érték) szöveg json_decode($szöveg) érték
32 Serialize, unserialize 32 $s = serialize($filmek); echo $s; //a:2:{i:0;a:4:{s:3:"cim";s:7:" Passió";s:7:"rendezo";s:10:"Mel Gibson";s:2:"ev";s:4:"2004";s:9 :"szereplok";a:3:{i:0;s:12:"jim Caviezel";i:1;s:16:"Maia Morgenstern";i:2;s:14:"Christo Jivkov";i:1;a:4:{s:3:"cim";s: 27:"Pio atya - A csodák embere";s:7:"rendezo";s:12:"car lo Carlei";s:2:"ev";s:4:"2000";s:9 :"szereplok";a:2:{i:0;s:18:"ser gio Castellitto";i:1;s:14:"Sergio Albelli"; $filmek2 = unserialize($s); print_r($filmek2); /*Array ( [0] => Array ( [cim] => Passió [rendezo] => Mel Gibson [ev] => 2004 [szereplok] => Array ( [0] => Jim Caviezel [1] => Maia Morgenstern [2] => Christo Jivkov ) )*/ ) [1] => Array ( [cim] => Pio atya - A csodák embere [rendezo] => Carlo Carlei [ev] => 2000 [szereplok] => Array ( [0] => Sergio Castellitto [1] => Sergio Albelli ) )
33 33 json_encode $s = json_encode($filmek); echo $s; //[{"cim":"passi\u00f3","rendez o":"mel Gibson","ev":"2004","szereplok" :["Jim Caviezel","Maia Morgenstern","Christo Jivkov"],{"cim":"Pio atya - A csod\u00e1k embere","rendezo":"carlo Carlei","ev":"2000","szereplok" :["Sergio Castellitto","Sergio Albelli"]] /* [ { "cim":"passi\u00f3", "rendezo":"mel Gibson", "ev":"2004", "szereplok":[ "Jim Caviezel", "Maia Morgenstern", "Christo Jivkov" ], { "cim":"pio atya - A csod\u00e1k embere", "rendezo":"carlo Carlei", "ev":"2000", "szereplok":[ "Sergio Castellitto", "Sergio Albelli" ] ] */
34 json_decode 34 $filmek3 = json_decode($s, true); print_r($filmek3); /*Array ( [0] => Array ( [cim] => Passió [rendezo] => Mel Gibson [ev] => 2004 [szereplok] => Array ( [0] => Jim Caviezel [1] => Maia Morgenstern [2] => Christo Jivkov ) ) [1] => Array ( [cim] => Pio atya - A csodák embere [rendezo] => Carlo Carlei [ev] => 2000 [szereplok] => Array ( [0] => Sergio Castellitto [1] => Sergio Albelli ) )*/ )
35 Fájl és sorosítás 35 Két segédfüggvény Betöltés Mentés Akármilyen adatszerkezetre működik function fajlbol_betolt($fajlnev) { $s = file_get_contents($fajlnev); return json_decode($s, true); function fajlba_ment($fajlnev, $adat) { $s = json_encode($adat); return file_put_contents($fajlnev, $s, LOCK_EX);
36 Hibakezelés 36 Hibalehetőségek beolvasásnál nincs (még) meg a fájl egyéb hiba történik alapértelmezett szerkezet megadása function fajlbol_betolt($fajlnev, $alap = array()) { $s return (s === false? $alap : json_decode($s, true)); $filmek = fajlbol_betolt('filmek.txt', array()); //vagy $filmek = fajlbol_betolt('filmek.txt');
37 Példa új szereplő hozzáadása 37 $filmek = fajlbol_betolt('filmek.txt'); $filmek[0]['szereplok'][] = 'Monica Bellucci'; fajlba_ment('filmek.txt', $filmek); [{"cim":"passi\u00f3","rendezo":"mel Gibson","ev":"2004","szereplok":["Jim Caviezel","Maia Morgenstern","Christo Jivkov","Monica Bellucci"],{"cim":"Pio atya - A csod\u00e1k embere","rendezo":"carlo Carlei","ev":"2000","szereplok":["Sergio Castellitto","Sergio Albelli"]]
38 38 Munkamenet-kezelés
39 Probléma 39 A HTTP protokoll állapotmentes Nem emlékezik az előző kérés adataira Függetlenül kezeli a kéréseket Klienstől is függetlenül Bizonyos esetekben jól jönne, ha szamol.php tudnánk azonosítani a klienst, és hozzá adatot tárolnánk. munkamenet (session angolul) Kliens1 Kliens2 Kliens3 Kliens4
40 Állapotmentesség 40 $szamlalo mindig 0 Két kérés nem őrzi meg az értékét Nem tudjuk, melyik kliens kérte if (isset($szamlalo)) { $szamlalo += 1; else { $szamlalo = 0; var_dump($szamlalo); szamlal.php szamlal.php szamlal.php Kliens1 Kliens1 Kliens1 Kliens1
41 Munkamenet példák 41 Mindenhol, ahol bejelentkezés szükséges, hogy a saját adatainkhoz férjünk hozzá (cloud) levelezés internetbank feljegyzések Bejelentkezés nélküli alkalmazások webshop kosár online szerkesztők (doodle, stb)
42 Megoldás 42 Ha a HTTP protokoll állapotmentes, akkor az alkalmazásnak kell gondoskodnia az állapot megtartásáról. Alkalmazás = kliens + szerver HTTP a kettejük kommunikációs formája Állapot megtartása: az adat kliensenként történő megőrzése Megvalósítás kliens oldalon szerver oldalon
43 Példa 43 Példa: számláló kliensenként eltérő érték webshop kosara kliensenként eltérő kosarak sok oldal böngészése egy-egy termék kosárba helyezése
44 Kliens oldali állapottartás 44 Az adatot a kliensen tároljuk Minden kérésnél felküldjük a szerverre A szerver visszaadja a kliensnek szamlal.php szamlal.php szamlal.php Kliens1 Kliens1 Kliens1 Kliens1
45 Kliens oldali állapottartás 45 Kliens oldali technológiák URL Rejtett mező Süti
46 Állapottartás URL-ben 46 URL querystring részében menjen az adat szamol.php?szamlalo=1 Hátránya: Minden linkhez oda kell generálni Ha egyről is lemarad, elvész az adat Sok adat nem fér el benne URL hossza legfeljebb 2kB Feltűnő (zavaró) Könnyen átírható Könyvjelzőzhető (nem mindig hátrány)
47 Példa - számláló 47 <?php $szamlalo = 0; if (isset($_get['szamlalo'])) { $szamlalo = $_GET['szamlalo']; $szamlalo += 1; var_dump($szamlalo);?> <a href="szamlalo2.php?szamlalo=<?php echo $szamlalo;?>">növel</a>
48 Állapottartás rejtett mezőben 48 URL: kevés adat, feltűnő, manipulálható űrlap rejtett mezője <input type="hidden" name="szamlalo" value="4"> Előny sok adat nem feltűnő Hátrány manipulálható csak űrlapok esetén normál linkeknél JavaScript kell
49 Példa számláló 49 <?php $szamlalo = 0; if (isset($_post['szamlalo'])) { $szamlalo = $_POST['szamlalo']; $szamlalo += 1; var_dump($szamlalo);?> <form action="szamlalo3.php" method="post"> <input type="hidden" name="szamlalo" value="<?php echo $szamlalo;?>"> <input type="submit" value="növel"> </form> <!-- Ez nem működik --> <a href="szamlalo3.php">növel</a>
50 Állapottartás sütivel 50 Rejtett mező: macerás, manipulálható süti setcookie($név, $érték, $lejárat); Előny nem feltűnő automatikus küldése Hátrány manipulálható (kódolható) limitált adatmennyiség letiltható
51 Példa számláló 51 <?php $szamlalo = 0; if (isset($_cookie['szamlalo'])) { $szamlalo = $_COOKIE['szamlalo']; $szamlalo += 1; setcookie('szamlalo', $szamlalo); print_r($_get); print_r($_post); print_r($_cookie); var_dump($szamlalo);?> <a href="szamlalo4.php">növel</a>
52 52 Példa számláló
53 Kliensoldali megoldások 53 Adat a kliensen van Manipulálható Sok adat esetén feleslegesen sok adat megy odavissza a kliens és szerver között szamlal.php szamlal.php szamlal.php Kliens1 Kliens1 Kliens1 Kliens1
54 Szerveroldali megoldások 54 Tároljuk az adatot a szerveren nem manipulálható kliens oldalon nem kell sok adatot küldözgetni A kliens megkülönböztetése továbbra is szükséges tokent kap, amivel azonosítja magát és hozzáfér a tokenhez tartozó adatokhoz Token kliensoldali megoldással közlekedik süti (alapértelmezett) url (ha nincs süti)
55 Szerveroldali megoldás szamol.php 55 Kliens1 Kliens3 Kliens2 Kliens4 szamlal.php szamlal.php szamlal.php Kliens1 Kliens1 Kliens1 Kliens1
56 Szerveroldali megoldás 56 Folyamat van a sütik között bizonyos nevű süti ha van, akkor az értéke a token ha nincs, akkor van-e az URL-ben bizonyos nevű paraméter ha van, akkor az értéke a token ha nincs, akkor újat kell kezdeni, és a kliensnek odaadni ha van token, akkor a tokenhez tartozó adatokat a program rendelkezésére bocsátani
57 Szerveroldali megoldás 57 Adatok tárolása fájlban (ld. PHP) adatbázisban Plusz erőforrás a szervertől A tokenre nagyon kell vigyázni ellopható kilépés
58 58 Munkamenet-kezelés PHP-ban
59 Munkamenet-kezelés PHP-ban 59 session_start() session_destroy() $_SESSION tömb SID konstant (PHPSESSID=token)
60 Példa számláló 60 <?php session_start(); print_r($_get); print_r($_session); $szamlalo = 0; if (isset($_session['szamlalo'])) { $szamlalo = $_SESSION['szamlalo']; $szamlalo += 1; $_SESSION['szamlalo'] = $szamlalo; var_dump($szamlalo);?> <a href="szamlalo5.php?<?php echo SID;?>">Növel</a>
61 Példa számláló 61 Munkamenet megszüntetése <?php session_start(); print_r($_get); print_r($_session); $_SESSION = array(); session_destroy(); print_r($_session);?> <a href="szamlalo5.php">vissza</a>
62 Példa - számláló 62 Süti letiltása token az URL-ben
63 63 Hitelesítés
64 Hitelesítés 64 Ki használja az alkalmazást? azonosított felhasználó felhasználónév teljes név névtelen felhasználó vendég Bizonyos oldalak csak azonosított felhasználók számára érhetőek el
65 Technológiák 65.htaccess,.htpasswd könyvtár alapú védelem htdigest md5 kódolt jelszó WWW-Authenticate HTTP része PHP-ból kiolvasható Ezek PHP-tól független technológiák Plusz adat tárolására nem alkalmasak Csak hitelesítésre
66 Hitelesítés munkamenettel 66 Azonosított felhasználó munkamenetében egy speciális kulcsot helyezünk el ezzel jelezzük, hogy már azonosítottuk Folyamat beléptető űrlap (login form) sikeres belépés esetén kulcs minden oldalon: ha ez a kulcs megvan, akkor azonosított ettől függően más logika, más nézet lehet
67 Hitelesítés ellenőrzése 67 munkamenet indítása létezik-e a kulcs a munkamenet adatai között kulcs értéke indifferens külön fájlba tehető session_start(); function azonositott_e() { return isset($_session['belepve']);
68 Regisztráció 68 Űrlap <?php print_r($hibak);?> <form action="reg.php" method="post"> Felhasználónév: <input type="text" name="felhnev"> <br> Jelszó: <input type="password" name="jelszo"> <br> <input type="submit" name="reg" value="regisztrál"> </form>
69 Regisztráció 69 $hibak = array(); if ($_POST) { $felhnev = trim($_post['felhnev']); $jelszo = $_POST['jelszo']; $jelszavak = fajlbol_betolt('jelszavak.txt'); if (strlen($felhnev) == 0) { $hibak[] = 'Nincs felhnev!'; if (strlen($jelszo) == 0) { $hibak[] = 'Nincs jelszo!'; if (array_key_exists($felhnev, $jelszavak)) { $hibak[] = 'Letezo felhnev!'; if (!$hibak) { $jelszavak[$felhnev] = md5($jelszo); fajlba_ment('jelszavak.txt', $jelszavak); header('location: login.php'); exit();
70 Beléptetés 70 Űrlap <?php print_r($hibak);?> <form action="login.php" method="post"> Felhasználónév: <input type="text" name="felhnev"> <br> Jelszó: <input type="password" name="jelszo"> <br> <input type="submit" name="belep" value="belép"> </form>
71 Beléptetés 71 $hibak = array(); if ($_POST) { $felhnev = trim($_post['felhnev']); $jelszo = $_POST['jelszo']; $jelszavak = fajlbol_betolt('jelszavak.txt'); if (!(array_key_exists($felhnev, $jelszavak) && $jelszavak[$felhnev] == md5($jelszo))) { $hibak[] = 'Nem jó!'; if (!$hibak) { $_SESSION['belepve'] = true; $_SESSION['felhnev'] = $felhnev; header('location: szamlalo5.php'); exit();
72 72 Fájlfeltöltés
73 Űrlap és feldolgozás 73 <?php print_r($hibak);?> <form action="" method="post" enctype="multipart/form-data"> <input type="file" name="fajl"> <input type="submit" value="feltölt"> </form> $hibak = array(); if ($_FILES) { if (array_key_exists('fajl', $_FILES) && $_FILES['fajl']['error'] == 0) { $honnan = $_FILES['fajl']['tmp_name']; $hova = 'fajlok\\'. $_FILES['fajl']['name']; move_uploaded_file($honnan, $hova); else { $hibak[] = 'Hiba tortent!';
74 $_FILES 74 Array ( [fajl] => Array ( [name] => Desert_small.jpg [type] => image/jpeg [tmp_name] => C:\eltescorm\tmp\php1750.tmp [error] => 0 [size] => ) )
75 Könyvtárlista 75 <ul> <?php foreach($fajlok as $f) :?> <li><?php echo $f;?></li> <?php endforeach;?> </ul> function fajlok($kvt) { $fajlok = array(); $d = opendir($kvt); while (($f = readdir($d))!== false) { $fajlok[] = $f; closedir($d); return $fajlok; $fajlok = fajlok('fajlok\\');
76 76 AJAX
77 Hagyományos oldalak 77 HTTP kapcsolat Kérés-válasz Mindig a böngésző kezdeményez url-t beírva Hivatkozás űrlap
78 Hagyományos oldalak 78 Feldolgozás vagy a kliensen, vagy a szerveren Időben picit eltolva Szerver Kliens Idő
79 Következmény 79 Állandóan frissül a böngészőbeli oldal Szaggatott folyamat Villog Kényelmetlen Oldal tetejére ugrik Néha feleslegesen nagy adattömeg közlekedik
80 Megoldás 80 Csak a szükséges adatok továbbítása a teljes oldal újratöltése nélkül Remote scripting iframe Java applet XMLHttpRequest objektum Régi technológiák, a 90-es évek végén léteztek Akkoriban használták is őket szórványosan
81 Szélesebb körű elterjedtség 81 Sok tényező együttállása Egyre nagyobb internetpenetráció Egyre több webes alkalmazás Szélesebb társadalmi rétegek kapcsolódnak be Nagyobb igények a webes alkalmazások iránt Úttörő, innovatív vállalatok (Google GMail, GMaps, GDocs, stb.) Nevet kap az XMLHttpRequest-es technológia AJAX (2005, Jesse James Garrett)
82 AJAX 82 Aszinkron JavaScript és XML Nem új technológia Meglévő, kiforrott, szabványos technológiák együttese HTML, XHTML, CSS megjelenítés DOM dinamikus felhasználói felület, interakció XML, XSLT adatleíró formátum XMLHttpRequest aszinkron kliens-szerver adatátvitel JavaScript ezeket irányító programozási nyelv
83 AJAX oldalkiszolgálás 83 Szerver XHR XHR XHR Kliens Felhasználó felület Idő
84 AJAX-os oldal 84 A felhasználói felület folyamatosan használható Nincs szaggatottság, villogás, ugrálás A szerverrel való kommunikáció a háttérben történik Aszinkron módon, azaz párhuzamosan a többi eseménnyel Csak a szükséges adatok közlekednek a szerver és kliens között
85 AJAX hívás 85 HTTP kommunikáció url megadása GET és POST adatok küldése válasz feldolgozása Nem a böngésző végzi a HTTP kapcsolat kialakítását, hanem programból vezéreljük XMLHttpRequest objektum
86 XMLHttpRequest: metódusok 86 open( method, URL ) open( method, URL, async, username, password) A cél URL, metódus, stb. hozzárendelése send(content) Kérés küldése, ha van, akkor POST-olt adatokkal vagy DOM objektum adataival abort() Az aktuális kérés leállítása getallresponseheaders() Header-ök visszaadása szövegként név=érték formában getresponseheader( header ) Adott header értékét adja vissza setrequestheader( label, value ) A kérés fejlécét állítja be küldés előtt
87 XMLHttpRequest: tulajdonságok 87 onreadystatechange Eseménykezelő, ami a státusz minden változásánál meghívódik Saját függvényt kell ide implementálni readystate a kérés aktuális státusza 0 = uninitialized 1 = loading 2 = loaded 3 = interactive (néhány adat érkezett) 4 = complete status A szerverről érkező HTTP Status, pl. 200 = OK statustext A szerverről érkező státusz szövege responsetext A szerverről visszaérkezett adat szöveges változata responsexml A szerverről érkezett adat XML DOM dokumentuma
88 88 Példa lépésről lépésre Kódevolúció
89 Példa 89 Ping szerver megszólítása válaszban az aktuális idő érkezik vissza Felhasználói felület gomb div kimenet Szerver ping.php XHR Kliens Felhasználó felület
90 ping.html 91 <!doctype html> <html> <head> <meta charset="utf-8"> <title>ajax példa</title> <script type="text/javascript" src="ping.js"></script> </head> <body> <input type="button" id="gomb" value="ping"> <hr> <div id="output"></div> </body> </html>
91 ping.php 92 print_r($_get); print_r($_post); echo date('y.m.d. G:i:s');
92 Szinkron megoldás 93 ping.js function $(id) { return document.getelementbyid(id); window.onload = function () { $('gomb').onclick = ping; function ping() { var xhr = new XMLHttpRequest(); xhr.open('get', 'ping.php', false); xhr.send(null); $('output').innerhtml = xhr.responsetext;
93 Szinkron megoldás 94 Szinkron = akkor folytatódik a szkript futása, ha a válasz megérkezett (ld. alert) Ha sokára érkezik válasz egy ideig nem használható a felület Szaggatott élmény Aszinkronitás Szerver ping.php XHR Kliens
94 Aszinkron kommunikáció 95 Az elküldést követően a szkript továbbfut Eseményen keresztül értesülünk a válasz megérkezéséről readystate tulajdonság változik onreadystatechange eseménykezelőt kell írnunk
95 Aszinkron megoldás 96 var xhr; function ping() { xhr = new XMLHttpRequest(); xhr.open('get', 'ping.php', true); xhr.onreadystatechange = pingkezelo; xhr.send(null); function pingkezelo() { if (xhr.readystate == 4 && xhr.status == 200) { $('output').innerhtml = xhr.responsetext;
96 Aszinkron megoldás 97 Két függvény Mindkettőben szükség van az xhr objektumra Globális xhr objektum Ez problémás több kérés esetén újrahasznosítás globális névtér teleszemetelése adjuk át paraméterként
97 XHR objektum paraméterként 98 Névtelen függvény segítségével function ping() { var xhr = new XMLHttpRequest(); xhr.open('get', 'ping.php', true); xhr.onreadystatechange = function () { pingkezelo(xhr); xhr.send(null); function pingkezelo(xhr) { if (xhr.readystate == 4 && xhr.status == 200) { $('output').innerhtml = xhr.responsetext;
98 XHR objektum paraméterként 99 A lényegi részt még jobban leválasztva function ping() { var xhr = new XMLHttpRequest(); xhr.open('get', 'ping.php', true); xhr.onreadystatechange = function () { if (xhr.readystate == 4 && xhr.status == 200) { pingkezelo(xhr); xhr.send(null); function pingkezelo(xhr) { $('output').innerhtml = xhr.responsetext;
99 GET paraméterek 100 Query String az URL-ben function ping() { var xhr = new XMLHttpRequest(); xhr.open('get', 'ping.php?alma=piros', true); xhr.onreadystatechange = function () { if (xhr.readystate == 4 && xhr.status == 200) { pingkezelo(xhr); xhr.send(null); function pingkezelo(xhr) { $('output').innerhtml = xhr.responsetext;
100 POST paraméterek 101 Query String az üzenettörzsben send() metódus paramétereként speciális kódolás beállítása kérés fejléceként Content-Type: application/x-www-form-urlencoded
101 POST paraméterek 102 function ping() { var xhr = new XMLHttpRequest(); xhr.open('post', 'ping.php?alma=piros', true); xhr.setrequestheader('content-type', 'application/x-www-form-urlencoded'); xhr.onreadystatechange = function () { if (xhr.readystate == 4 && xhr.status == 200) { pingkezelo(xhr); xhr.send('korte=sarga'); function pingkezelo(xhr) { $('output').innerhtml = xhr.responsetext;
102 XMLHttpRequest objektum 103 Manapság minden böngészőben new XMLHttpRequest() Régebben böngészőnkénti eltérés: IE-ben másképp function getxhr() { var xhr = null; try { xhr = new XMLHttpRequest(); catch(e) { try { xhr = new ActiveXObject("Msxml2.XMLHTTP"); catch(e) { try { xhr = new ActiveXObject("Microsoft.XMLHTTP"); catch(e) { xhr = null; return xhr; function ping() { var xhr = getxhr(); //...
103 Hibakezelés 104 function ping() { var xhr = getxhr(); xhr.open('post', 'ping.php?alma=piros', true); xhr.setrequestheader('content-type', 'application/x-www-form-urlencoded'); xhr.onreadystatechange = function () { if (xhr.readystate == 4) { if (xhr.status == 200) { pingkezelo(xhr); else { console.log('hiba'); xhr.send('korte=sarga');
104 Általánosítás 105 AJAX hívás nagy része mindig ugyanaz Változó url metódus (GET/POST) GET adatok POST adatok feldolgozó függvény siker esetén feldolgozó függvény hiba esetén ajax() függvény
105 Általánosítás ajax() függvény 106 Alapértelmezett értékek function ajax(opts) { var method = opts.method 'GET', url = opts.url '', getdata = opts.getdata '', postdata = opts.postdata '', success = opts.success function(){, error = opts.error function(){; method = method.touppercase(); url = url+'?'+getdata; var xhr = getxhr(); xhr.open(method, url, true); if (method === 'POST') { xhr.setrequestheader('content-type', 'application/x-www-form-urlencoded');
106 Általánosítás ajax() függvény 107 Folytatás xhr.onreadystatechange = function () { if (xhr.readystate == 4) { if (xhr.status == 200) { success(xhr, xhr.responsetext); else { error(xhr); ; xhr.send(method == 'POST'? postdata : null); return xhr;
107 Megoldás ajax() függvénnyel 108 function ping() { ajax({ method: 'post', url: 'ping.php', getdata: 'alma=piros', postdata: 'korte=sarga', success: pingkezelo ); function pingkezelo(xhr, text) { $('output').innerhtml = text;
108 Megoldás ajax() függvénnyel 109 Névtelen függvénnyel még rövidebb function ping() { ajax({ method: 'post', url: 'ping.php', getdata: 'alma=piros', postdata: 'korte=sarga', success: function (xhr, text) { $('output').innerhtml = text; );
109 Összefoglalás 110 Segédfüggvény getxhr() ajax() Alkalmazás deklaratív az ajax() függvény paraméterezése
110 111 Válaszformátumok
111 AJAX I/O 112 Kérés (input) GET paraméterek POST paraméterek HTTP fejlécek Válasz (output) Text JSON HTML JavaScript stb. (CSS, )
112 Tartalom előállítása 113 A válasz az előállítás módjától függően lehet Statikus tartalom Dinamikus tartalom A kliens szempontjából mindegy, hogy ki állítja elő a tartalmat (nem is tud róla) Csak a válasz formátumára koncentrálunk
113 Statikus kiszolgálás 114 A fájlok tartalma előre adott Kérés pillanatában már létezik a válasz a szerveren Példa gyümölcsök listája felsorolás
114 Statikus kiszolgálás 115 Szerver text json html xml XHR Kliens Felhasználó felület
115 format.html 116 <!doctype html> <html> <head> <meta charset="utf-8"> <title>ajax példa</title> <script type="text/javascript" src="ajax.js"></script> <script type="text/javascript" src="format.js"></script> </head> <body> <input type="button" id="btntext" value="text"> <input type="button" id="btnjson" value="json"> <input type="button" id="btnhtml" value="html"> <input type="button" id="btnxml" value="xml"> <input type="button" id="btnscript" value="szkript"> <hr> <div id="output"></div> </body> </html>
116 Szöveges válasz feldolgozása 117 gyumolcs.txt és a feldolgozó szkript alma,körte,szilva,barack,eper,málna,szeder function lista(t) { return '<ul><li>' + t.join('</li><li>') + '</li></ul>'; function text() { ajax({ url: 'gyumolcs.txt', success: function (xhr, text) { console.log(text); var t = text.split(','); $('output').innerhtml = (new Date()).toLocaleString() + lista(t); );
117 Szöveges válasz feldolgozása 118 A szöveges válasz formátumától függ Egyedi feldolgozás Sokszor bonyolult logika Bármi lehet Ritkábban használják
118 JSON válasz és feldolgozása 119 gyumolcs.json és a feldolgozó szkript lista() függvény (ld. a szöveges feldolgozásnál) [ ] "alma", "körte", "szilva", "barack", "eper", "málna", "szeder" function json() { ajax({ url: 'gyumolcs.json', success: function (xhr, text) { var json = eval(text); // vagy var json = JSON.parse(text); console.log(json); $('output').innerhtml = (new Date()).toLocaleString() + lista(json); );
119 JSON válasz 120 JSON általános adatleíró formátum Nagyon elterjedt Gyakran használatos Egyszerű az értelmezése eval JSON.parse Utána más JavaScript adatszerkezetekkel kell dolgozni
120 HTML válasz és feldolgozása 121 gyumolcs.html feldolgozó szkript <ul> <li>alma</li> <li>körte</li> <li>szilva</li> <li>barack</li> <li>eper</li> <li>málna</li> <li>szeder</li> </ul> function html() { ajax({ url: 'gyumolcs.html', success: function (xhr, text) { var html = text; console.log(html); $('output').innerhtml = (new Date()).toLocaleString() + html; );
121 HTML válasz 122 Szabványos formátum Elterjedt Egyszerű a feldolgozása tipikusan a választ egy másik elembe kell helyezni
122 XML válasz és feldolgozása 123 gyumolcs.xml <?xml version="1.0" encoding="utf-8"?> <gyumolcsok> <gyumolcs>alma</gyumolcs> <gyumolcs>körte</gyumolcs> <gyumolcs>szilva</gyumolcs> <gyumolcs>barack</gyumolcs> <gyumolcs>eper</gyumolcs> <gyumolcs>málna</gyumolcs> <gyumolcs>szeder</gyumolcs> </gyumolcsok>
123 XML válasz és feldolgozása 124 function feldolgozó xml() { szkript ajax({ url: 'gyumolcs.xml', success: function (xhr, text) { var xmldom = xhr.responsexml; console.log(xmldom); ); var gyumolcsok = xmldom.getelementsbytagname('gyumolcs'); var t = []; for (var i = 0; i < gyumolcsok.length; i++) { t.push(gyumolcsok[i].firstchild.nodevalue); ; $('output').innerhtml = (new Date()).toLocaleString() + lista(t);
124 XML válasz 125 Szabványos adatleírási formátum Nagyon elterjedt főleg vállalati alkalmazásokban webes alkalmazásokban kevésbé Eredetileg ezt várták fő formátumnak xhr.responsexml responsexml az XML dokumentum értelmezett DOM fáját tartalmazza (ld. HTML DOM)
125 Dinamikus válasz 126 A választ egy program (PHP) állítja elő Válasz formátuma bármi lehet text json html xml stb. Szerver gyumolcs.php XHR Kliens Felhasználó felület
126 gyumolcs.php 127 JSON válasz generálása egyszerű $gyumolcsok = array( "alma", "körte", "szilva", "barack", "eper", "málna", "szeder", ); echo json_encode($gyumolcsok);
127 128 További tudnivalók
128 Eszközök 129 JavaScript konzolok Nyomon követik az AJAX-os hívásokat kérés válasz értelmezett válasz lekérés időtartama console.log
129 Korlátozások 130 Biztonsági okokból nem engedélyezett különböző domainek között ajax kommunikáció Kivéve JSONP (JSON with Padding): script elem dinamikus beszúrásával idegen tartalom futtatása Nincsen szerver push itt sem: ajax kéréseket mindig a kliens kezdeményezi
130 Ergonómiai szempontok 131 Más oldalszervezés HASZNÁLHATÓSÁG Jelezni, hogy a háttérben művelet zajlik A felhasználó adatait ne írjuk át Jelezni, ha hiba van Jelezni, ha jó
131 Előnyök és hátrányok 132 Előnyök Nincs szaggatás Kényelmes felület Gyors Jóval kisebb adatforgalom Párhuzamos kérések Hátrányok JavaScript kell Eltérő támogatottság Vissza gomb Frissít gomb Más oldalszervezési logika
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észletesebbenWEBFEJLESZTÉ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észletesebbenWEBFEJLESZTÉ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észletesebbenBevezeté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észletesebbenDr. 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észletesebbenWEBFEJLESZTÉ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 PHP beadandó 2 Honlapról elérhető Grafilogika szerveroldali funkcionalitása
RészletesebbenWEBFEJLESZTÉS 2. AJAX
WEBFEJLESZTÉS 2. AJAX 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 Output (HTML generálás)
RészletesebbenDr. 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észletesebbenAz 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észletesebbenCOMET webalkalmazás fejlesztés. Tóth Ádám Jasmin Media Group
COMET webalkalmazás fejlesztés Tóth Ádám Jasmin Media Group Az előadás tartalmából Alapproblémák, fundamentális kérdések Az eseményvezérelt architektúra alapjai HTTP-streaming megoldások AJAX Polling COMET
RészletesebbenWeb-fejlesztés NGM_IN002_1
Web-fejlesztés NGM_IN002_1 Rich Internet Applications RIA Vékony-kliens generált (statikus) HTML megjelenítése szerver oldali feldolgozással szinkron oldal megjelenítéssel RIA desktop alkalmazások funkcionalitása
RészletesebbenPHP 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észletesebbenFlash é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észletesebbenAJAX-ot támogató keretrendszerek
AJAX Áttekintés Bevezetés Működési elv AJAX-ot támogató keretrendszerek AJAX AJAX: Asynchronous JavaScript and XML az alábbi technológiákon alapul: (X)HTML, CSS XML JavaScript 2005-ben vált népszerűvé
RészletesebbenMicroSigner 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észletesebbenPHP. 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észletesebbenAJAX AJAX. AJAX: Asynchronous JavaScript and XML. az alábbi technológiákon alapul: AJAX-ot támogató keretrendszerek
Áttekintés AJAX Bevezetés Működési elv AJAX-ot támogató keretrendszerek 1 / 25 2 / 25 AJAX AJAX: Asynchronous JavaScript and XML az alábbi technológiákon alapul: (X)HTML, CSS XML JavaScript Motiváció:
RészletesebbenA 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észletesebbenPHP-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észletesebbenValimed API. REST API a magyarországi orvos pecsétszámok validálására
Valimed API REST API a magyarországi orvos pecsétszámok validálására 1. A Valimedről és a jogi háttérről A Valimed legfőképpen gyógyszergyártóknak és orvosi témában érdekelt online szolgáltatóknak szóló
RészletesebbenWebapp (in)security. Gyakori hibákról és azok kivédéséről fejlesztőknek és üzemeltetőknek egyaránt. Veres-Szentkirályi András
Webapp (in)security Gyakori hibákról és azok kivédéséről fejlesztőknek és üzemeltetőknek egyaránt Veres-Szentkirályi András Rövid áttekintés Webalkalmazások fejlesztése során elkövetett leggyakoribb hibák
RészletesebbenBevetés közben Ismerkedés az Ajaxszal
Bevetés közben Ismerkedés az Ajaxszal Hogy kerül az A mint aszinkron az Ajaxba? Sok programozó, így én is, jó ideje ismeri a Javascript-et, mellyel dinamikusan módosíthat HTML oldalakat. Persze más apró
RészletesebbenAz 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észletesebbenJavaServer Pages (JSP) (folytatás)
JavaServer Pages (JSP) (folytatás) MVC architektúra a Java kiszolgálón Ügyfél (Böngésző) 5 View elküldi az oldal az ügyfélez View (JSP) Ügyfél üzenet küldése a vezérlőnek 1 3 4 Kérelem továbbítása a megjelenítőnek
RészletesebbenMicroSigner 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észletesebbenWeb fejlesztés II. Illés Zoltán ELTE Informatikai Kar zoltan.illes@elte.hu. I n f o r m a t i k a
Web fejlesztés II. Illés Zoltán ELTE Informatikai Kar zoltan.illes@elte.hu AJaX Asynchronous JavaScript and XML Mi a baj a HTTP-vel, CGI-vel? Nincs baj, de nem elég hatékony. Első igények 2000 körül. Jesse
RészletesebbenWEB-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();
WEB-PROGRAMOZÁS II 1. Egészítse ki a következő PHP kódot a következők szerint: a,b,c,d: a) Legyen a Felhasznalo osztálynak egy osztály szintű publikus változója, amelyben számolja a létrehozott példányai
RészletesebbenAjax és Echo 2. Bokor Attila
Ajax és Echo 2 Bokor Attila attila.bokor@netvisor.hu Tartalom Ajax áttekintés Echo2 Echo2 kiegészítések Asynchronous JavaScript and XML Webfejlesztési technika interaktív webalkalmazásokhoz Kifejezés közösen
RészletesebbenWebszolgáltatások (WS)
Webszolgáltatások (WS) Webszolgáltatások fogalma IBM (lényege) Egy interface, mely a hálózaton keresztül szabványos XML üzenetekkel érhető el és hozzá formálsi XML leírás tartozik. (soap, wsdl) Sun Szoftverelemek,
RészletesebbenAPI 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észletesebbenS 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észletesebbenInformatika 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észletesebbenWEB 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észletesebbenSzabadkai 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észletesebbenTartalom. A JavaScript haladó lehet ségei. Megjelenés. Viselkedés. Progresszív fejlesztés. A progresszív fejlesztés alapelvei
Tartalom A JavaScript haladó lehet ségei webprogramozó A szöveg, amit a látogató az oldalainkon olvashat Szövegként írjuk meg HTML elemekkel osztjuk egységekre Megjelenés A szöveg kinézete és elrendezése
Részletesebben"Egységes erdélyi felnőttképzés Kárpát-medencei hálózatban" JAVA ALAPÚ WEBPROGRAMOZÁS. M6 Modul: A DOM Modell
"Egységes erdélyi felnőttképzés Kárpát-medencei hálózatban" JAVA ALAPÚ WEBPROGRAMOZÁS M6 Modul: A DOM Modell Bevezető - platform- és nyelvfüggetlen programozási interfész - tartalom-, szerkezet- és stílus-elérés/módosítás
RészletesebbenListák, szótárak, fájlok Listák, szótárak, fájlok
lista fogalma, használata listák másolása (alap szintű, teljes körű) szótárak fogalma, használata adatbázis alkalmazás fejlesztése műveletek fájlokkal (megnyítás, írás, olvasás, lezárás) rejtjelező alkalmazás
RészletesebbenWebes alkalmazások fejlesztése 1. előadás. Webes alkalmazások és biztonságuk
Eötvös Loránd Tudományegyetem Informatikai Kar Webes alkalmazások fejlesztése 1. előadás Webes alkalmazások és biztonságuk 2014.02.10. Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto
RészletesebbenWEBES 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.404 Tel: (1) 372-2500/1816 Tartalom 2 AJAX elve AJAX technológiai alapjai AJAX jquery-vel JSON
RészletesebbenPHP gyorstalpaló, avagy a Hello World-től az űrlapellenőrzésig
PHP gyorstalpaló, avagy a Hello World-től az űrlapellenőrzésig
RészletesebbenJelszavak helyes megválasztása, szótáras törés. Pánczél Zoltán
Jelszavak helyes megválasztása, szótáras törés Pánczél Zoltán 1 Miért fontos a megfelelő jelszó? Nagyban növeli a rendszer biztonságát. Könnyű jelszó = Nincs jelszó A teljes rendszer biztonsága tőlünk
RészletesebbenWeb 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észletesebbenELTE SAP Excellence Center Oktatóanyag 1
Oktatóanyag 1 A dataset egy az alkalmazás-szerveren megtalálható illetve ott létrejövő szekvenciális fájl. Szerveroldali fájlkezelésre használják az SAP-ban. Megjegyzés: Amennyiben kliens oldalon található
RészletesebbenMicroSigner 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észletesebbenNyilvántartási Rendszer
Nyilvántartási Rendszer Veszprém Megyei Levéltár 2011.04.14. Készítette: Juszt Miklós Honnan indultunk? Rövid történeti áttekintés 2003 2007 2008-2011 Access alapú raktári topográfia Adatbázis optimalizálás,
RészletesebbenMemória játék. Felhasználói dokumentáció
Memória játék Felhasználói dokumentáció Feladat: JavaScript segítségével, olyan programot írni, mely összekeveri a lapokat, majd a felhasználónak kell párosítani. HTML oldalba ágyazva és CSS-el formázva.
RészletesebbenMŰSZAKI DOKUMENTÁCIÓ. Aleph WebOPAC elérhetővé tétele okostelefonon. Eötvös József Főiskola 6500 Baja, Szegedi út 2.
Telefon: Fax: E-mail: (+36-1) 269-1642 (+36-1) 331 8479 info@ex-lh.hu www.ex-lh.hu Eötvös József Főiskola 6500 Baja, Szegedi út 2. MŰSZAKI DOKUMENTÁCIÓ Aleph WebOPAC elérhetővé tétele okostelefonon Pályázati
RészletesebbenTermé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észletesebbenA szerzõrõl... vii Köszönetnyilvánítás... ix Bevezetés... xi A könyv példakódjai... xiii Áttekintés... xv Tartalomjegyzék... xvii
Tartalomjegyzék A szerzõrõl.................................................... vii Köszönetnyilvánítás.............................................. ix Bevezetés......................................................
RészletesebbenInternet 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észletesebbenJava 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észletesebbenAJAX Framework építés. Nagy Attila Gábor Wildom Kft. nagya@wildom.com
AJAX Framework építés Wildom Kft. nagya@wildom.com Mi az AJAX? Asynchronous JavaScript and XML Ennél azért kicsit több: Koncepció váltás a felhasználói interface tervezésben Standard kompatibilis HTML!
RészletesebbenTERC V.I.P. hardverkulcs regisztráció
TERC V.I.P. hardverkulcs regisztráció 2014. második félévétől kezdődően a TERC V.I.P. költségvetés-készítő program hardverkulcsát regisztrálniuk kell a felhasználóknak azon a számítógépen, melyeken futtatni
RészletesebbenMutatók és címek (ism.) Programozás alapjai C nyelv 8. gyakorlat. Indirekció (ism) Néhány dolog érthetőbb (ism.) Változók a memóriában
Programozás alapjai C nyelv 8. gyakorlat Szeberényi mre BME T Programozás alapjai. (C nyelv, gyakorlat) BME-T Sz.. 2005.11.07. -1- Mutatók és címek (ism.) Minden változó és függvény
RészletesebbenHTML. Ismerkedés a JavaScripttel. A JavaScript lehet ségei. A JavaScript kód helye. Önálló JavaScript fájlok
HTML Ismerkedés a JavaScripttel webprogramozó A weblapokat HTML nyelven készíthetjük el. A HTML egyszer leírónyelv, nem alkalmas válaszolni a felhasználóknak, nem tud döntéseket hozni, nem tud végrehajtani
RészletesebbenA 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észletesebbenInformáció és kommunikáció
Információ és kommunikáció Tanmenet Információ és kommunikáció TANMENET- Információ és kommunikáció Témakörök Javasolt óraszám 1. Hálózati alapismeretek 20 perc 2. Az internet jellemzői 25 perc 3. Szolgáltatások
RészletesebbenGoogle Web Toolkit. Elek Márton. Drótposta kft.
Google Web Toolkit Elek Márton Drótposta kft. Tartalom A GWT általában Java forrás, Web mód, Hosted mód Speciális szolgáltatások History kezelés, távoli eljárás hívás, Külső függvénykönyvtárak GWT-Ext,
Részletesebben10.óra CodeIgniter Framework #3. Gyimesi Ákos
10.óra CodeIgniter Framework #3 Gyimesi Ákos gyimesi.akos@gmail.com http://webprog.gy-i-m.com Ismétlés Model View Controller Ismétlés Model application/models/books_model.php: class Books_model extends
RészletesebbenBASH 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észletesebbenPHP 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észletesebbenA WEB programozása - Bevezetés. 2010. őszi félév Dr. Gál Tibor
A WEB Programozása Dr. Gál Tibor Automatizálási és Alkalmazott Informatikai Tanszék Általános információ Kommunikáció az előadóval Iroda: V2. épület, IV. emelet 454. szoba Tel: 2835 email: gal@aut.bme.hu
RészletesebbenWEBFEJLESZTÉ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észletesebbenProgramozás alapjai C nyelv 8. gyakorlat. Mutatók és címek (ism.) Indirekció (ism)
Programozás alapjai C nyelv 8. gyakorlat Szeberényi Imre BME IIT Programozás alapjai I. (C nyelv, gyakorlat) BME-IIT Sz.I. 2005.11.07. -1- Mutatók és címek (ism.) Minden változó és függvény
RészletesebbenPFW Programing Fundamentals Wizard
PFW Programing Fundamentals Wizard Bevezetés Ez a webes alkalmazás a https://157.181.166.134:8181/pfw címen érhető el. Azért, hogy a kommunikáció biztonságos kapcsolaton keresztül történjen, tanúsítványra
RészletesebbenJquery. Konstantinusz Kft.
Konstantinusz Kft. 2011 1 Tartalomjegyzék 1 Tartalomjegyzék... 2 2 Bevezetés... 3 3 Használata... 4 3.1 A $ függvény... 4 3.2 Elemek kiválasztása... 5 3.3 Fontosabb függvények... 6 3.3.1 Animációk... 7
RészletesebbenSzerializáció. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) Szerializáció / 22
Szerializáció Tóth Zsolt Miskolci Egyetem 2014 Tóth Zsolt (Miskolci Egyetem) Szerializáció 2014 1 / 22 Tartalomjegyzék 1 Szerializációs Alapfogalmak 2 Szerializációs Megoldások Object Szerializáció XML
RészletesebbenMultimédia 2017/2018 II.
Multimédia 2017/2018 II. 1. gyakorlat HTML5, CSS3 alapok Alapvető HTML5 elemek Egyszerű HTML dokumentum Oldal cime
RészletesebbenWeb 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észletesebbenWebes alkalmazások fejlesztése 1. előadás. Webes alkalmazások és biztonságuk. Cserép Máté
Eötvös Loránd Tudományegyetem Informatikai Kar Webes alkalmazások fejlesztése 1. előadás Webes alkalmazások és biztonságuk Cserép Máté mcserep@inf.elte.hu http://mcserep.web.elte.hu Kommunikáció Alkalmazások
RészletesebbenKé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észletesebbenTUDNIVALÓK A WEB-FEJLESZTÉS I. KURZUSRÓL
TUDNIVALÓK A WEB-FEJLESZTÉS I. KURZUSRÓL http://bit.ly/a1lhps Abonyi-Tóth Andor Egyetemi tanársegéd 1117, Budapest XI. kerület, Pázmány Péter sétány 1/C, 2.404 Tel: (1) 372-2500/8466 http://abonyita.inf.elte.hu
RészletesebbenPé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észletesebbenInFo-Tech emelt díjas SMS szolgáltatás. kommunikációs protokollja. Ver.: 2.1
InFo-Tech emelt díjas SMS szolgáltatás kommunikációs protokollja Ver.: 2.1 InFo-Tech SMS protokoll Az emelt díjas SMS szolgáltatással kapcsolatos beállításokat az adminisztrációs felületen végezheti el.
RészletesebbenInternet 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észletesebbenA 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észletesebbenElektronikus levelek. Az informatikai biztonság alapjai II.
Elektronikus levelek Az informatikai biztonság alapjai II. Készítette: Póserné Oláh Valéria poserne.valeria@nik.bmf.hu Miről lesz szó? Elektronikus levelek felépítése egyszerű szövegű levél felépítése
RészletesebbenEgé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észletesebbenHTML és CSS. Horváth Árpád május 6. Óbudai Egyetem Alba Regia M szaki Kar (AMK) Székesfehérvár
Óbudai Egyetem Alba Regia M szaki Kar (AMK) Székesfehérvár 2015. május 6. Vázlat 1 2 A világháló Története statikus és dinamikus oldal URL DNS-feloldás IP-cím ügyfél (kliens, böngész ) és szerver (kiszolgáló)
RészletesebbenWeboldalak Biztonsági Kérdései
Weboldalak Biztonsági Kérdései Kliens szerver modellek Kliens szerver modellek Offline világ Online világ és a programokkal szemben támasztott elvárások helyett... Fejlesztés üteme gyors Előregyártott
RészletesebbenWWW 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észletesebbenInformáció és kommunikáció
Információ és kommunikáció Tanmenet Információ és kommunikáció TANMENET- Információ és kommunikáció Témakörök Javasolt óraszám 1. Az internet jellemzői 25 perc 2. Szolgáltatások az interneten 20 perc
RészletesebbenOperá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észletesebbenBiztonságos mobilalkalmazás-fejlesztés a gyakorlatban. A CryptTalk fejlesztése során alkalmazott módszerek. Dr. Barabás Péter Arenim Technologies
Biztonságos mobilalkalmazás-fejlesztés a gyakorlatban A CryptTalk fejlesztése során alkalmazott módszerek Dr. Barabás Péter Arenim Technologies Agenda CryptTalk Hálózati kommunikáció Authentikált kérések
RészletesebbenKiknek szól ez a könyv? Miről szól a könyv? Hogyan épül fel a könyv? Mire van szükség a könyv használatához? Szokások Forráskód Hibajegyzék
Köszönetnyilvánítás Bevezetés Kiknek szól ez a könyv? Miről szól a könyv? Hogyan épül fel a könyv? Mire van szükség a könyv használatához? Szokások Forráskód Hibajegyzék p2p.wrox.com vii xvii xvii xviii
RészletesebbenGrafikus keretrendszer komponensalapú webalkalmazások fejlesztéséhez
Grafikus keretrendszer komponensalapú webalkalmazások fejlesztéséhez Székely István Debreceni Egyetem, Informatikai Intézet A rendszer felépítése szerver a komponenseket szolgáltatja Java nyelvű implementáció
RészletesebbenSakk játék. Feladat: JavaScript segítségével olyan programot kell írni, ami egy sakktáblát szimulál. Kiválasztásra változtatják a helyüket.
Sakk játék Felhasználói dokumentáció Feladat: JavaScript segítségével olyan programot kell írni, ami egy sakktáblát szimulál. Kiválasztásra változtatják a helyüket. Futtatási környezet: A http://10.0.0.101/~hgy/sakk/
RészletesebbenPHP. 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észletesebbenHÁLÓZATI HASZNÁLATI ÚTMUTATÓ
HÁLÓZATI HASZNÁLATI ÚTMUTATÓ Nyomtatási napló tárolása hálózaton 0 verzió HUN A megjegyzések definíciója A Használati útmutatóban következetesen az alábbi szimbólumot használjuk: A megjegyzésekből azt
RészletesebbenProgramozá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észletesebbenWeb-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észletesebbenOsztályok. construct () destruct() $b=new Book(); $b=null; unset ($b); book.php: <?php class Book { private $isbn; public $title;
PHP5 objektumok 1 Osztályok class, new book.php: construct () destruct() $b=new Book(); törlés: $b=null; vagy unset ($b); -elnevezési konvenciók private $isbn; public $title; function
Részletesebben3. modul - Szövegszerkesztés
3. modul - Szövegszerkesztés Érvényes: 2009. február 1-jétől Az alábbiakban ismertetjük a 3. modul (Szövegszerkesztés) syllabusát, amely a gyakorlati vizsga alapját képezi. A modul célja Ezen a vizsgán
RészletesebbenSmarty 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észletesebbenHORVÁTH ZSÓFIA 1. Beadandó feladat (HOZSAAI.ELTE) ápr 7. 8-as csoport
10-es Keressünk egy egész számokat tartalmazó négyzetes mátrixban olyan oszlopot, ahol a főátló alatti elemek mind nullák! Megolda si terv: Specifika cio : A = (mat: Z n m,ind: N, l: L) Ef =(mat = mat`)
RészletesebbenWebes űrlapok és az XForms ajánlás
Debreceni Egyetem Informatikai Kar Webes űrlapok és az XForms ajánlás Témavezető: Dr. Adamkó Attila egyetemi adjunktus Készítette: Hetei György programtervező Informatikus Debrecen 2010 Bevezetés 3 A HTML
RészletesebbenOperációs rendszerek. UNIX fájlrendszer
Operációs rendszerek UNIX fájlrendszer UNIX fájlrendszer Alapegység: a file, amelyet byte-folyamként kezel. Soros (szekvenciális) elérés. Transzparens (átlátszó) file-szerkezet. Link-ek (kapcsolatok) létrehozásának
RészletesebbenMOL NYRT - WEB ISA 3.0 FELHASZNÁLÓI KÉZIKÖNYV
MOL NYRT - WEB ISA 3.0 FELHASZNÁLÓI KÉZIKÖNYV ISA ÚJDONSÁGOK TÖBB TERMÉKVONAL MANUÁLIS RENDELÉS RENDELÉS MONITOROZÁS ELFELEJTETT JELSZÓ KEZELÉS TÖBB SZINTŰ FELHASZNÁLÓI JOGOSULTSÁG Üzemanyag Bitumen Tartályos
RészletesebbenModel View Controller alapú alkalmazásfejlesztés
10. Laboratóriumi gyakorlat Model View Controller alapú alkalmazásfejlesztés A gyakorlat célja: Az MVC elv megértése és ismerkedés egy egyszerű MVC keretrendszerrel. Felkészüléshez szükséges anyagok: 1.
Részletesebben