1 / 25

Web fejlesztés IV.

Web fejlesztés IV. Illés Zoltán ELTE TTK Informatika zoltan.illes@elte.hu. Ami eddig volt…. HTML interaktív elemek SSI, CGI jelentése,használata Kliens oldali nyelv Javascript Szerver oldali eszköz Shell script (SSI, CGI). SSI, CGI programeszközei. Tetszőleges programozási nyelv

sarah
Download Presentation

Web fejlesztés IV.

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

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

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

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

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

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

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

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

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

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

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

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

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

  14. Konstansok • define(k,”Ez konstans”) • print(k); • TRUE, FALSE, NULL • Konstans létezés: if (defined(k)) print(„van”); • PHP_VERSION, PHP_OS • __FILE__, __LINE__

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

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

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

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

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

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

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

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

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

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

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

More Related