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



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

A C# programozási nyelv alapjai

PHP. Adatbázisok gyakorlat

A JavaScript főbb tulajdonságai

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

Apple Swift kurzus 3. gyakorlat

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

1. Jelölje meg az összes igaz állítást a következők közül!

Java II. I A Java programozási nyelv alapelemei

Java programozási nyelv

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

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

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

Web-technológia PHP-vel

Informatika terméktervezőknek

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.

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

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

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

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

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

Java II. I A Java programozási nyelv alapelemei

Webprogramozás szakkör

Vezérlési szerkezetek

Operációs rendszerek. 11. gyakorlat. AWK - szintaxis, vezérlési szerkezetek UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

Szkriptnyelvek. 1. UNIX shell

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

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

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

Mit tudunk már? Programozás alapjai C nyelv 4. gyakorlat. Legnagyobb elem keresése. Feltételes operátor (?:) Legnagyobb elem keresése (3)

Programozási nyelvek (ADA)

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

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

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

Változók. Mennyiség, érték (v. objektum) szimbolikus jelölése, jelentése Tulajdonságai (attribútumai):

és az instanceof operátor

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

PHP programozás alapjai

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

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

A C programozási nyelv I. Bevezetés

Szkriptnyelvek II. Perl programok

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

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

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

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

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

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

Szabadkai Műszaki Szakfőiskola. Web programozás. dr Zlatko Čović

1. Alapok. #!/bin/bash

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

A C# PROGRAMOZÁSI NYELV

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

Imperatív programozás

Extrémen brutál, gyors talpaló PHP nyelvhez (database). v2.1

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

SZÁMÍTÓGÉPES PROBLÉMAMEGOLDÁS

A C programozási nyelv I. Bevezetés

C# nyelv alapjai. Krizsán Zoltán 1. Objektumorientált programozás C# alapokon tananyag. Általános Informatikai Tanszék Miskolci Egyetem

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

Programozás I. Matematikai lehetőségek Műveletek tömbökkel Egyszerű programozási tételek & gyakorlás V 1.0 OE-NIK,

A programozás alapjai

Wordpress, dinamikus weblapok és php

Komputeralgebra Rendszerek

Programozás alapjai. (GKxB_INTM023) Dr. Hatwágner F. Miklós augusztus 29. Széchenyi István Egyetem, Gy r

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

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

Változók. Mennyiség, érték (v. objektum) szimbolikus jelölése, jelentése Tulajdonságai (attribútumai):

PHP-MySQL. Adatbázisok gyakorlat

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

7. Laboratóriumi gyakorlat: Vezérlési szerkezetek II.

Bevezetés a programozásba. 8. Előadás: Függvények 2.

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

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

Inczédy György Középiskola, Szakiskola és Kollégium Nyíregyháza, Árok u. 53. TANMENET. Informatika szakmacsoport

MATLAB alapismeretek II.

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

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

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

Dr. Pál László, Sapientia EMTE, Csíkszereda WEB PROGRAMOZÁS 2.ELŐADÁS. Objektumorientált programozás

Programok értelmezése

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

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

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

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

3 A C programozási nyelv szintaktikai egységei

Internet programozása 1. előadás Áttekintés

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

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

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

Webprogramozás szakkör

WEBFEJLESZTÉS 2. PHP NYELVI ALAPOK

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

Készítette: Nagy Tibor István Felhasznált irodalom: Kotsis Domokos: OOP diasor Zsakó L., Szlávi P.: Mikrológia 19.

PYTHON. Avagy hosszú az út a BioPythonig

Oktatási segédlet 2014

Objektumorientált Programozás III.

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

Kifejezések. Kozsik Tamás. December 11, 2016

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

Átírás:

PHP gyorstalpaló, avagy a Hello World-től az űrlapellenőrzésig <!DOCTYPE html> <html> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> </head> <body> <?php echo "Hello World"; SZINTAXIS A PHP kód többnyire HTML tag-ek között jelenik meg a nyitó <php tag-el és a záró?> záródik. Bármilyen karakter használható a forráskódban. A PHP kód csak akkor lesz értelmezve, ha a fájl kiterjesztése:.php Lehetségesek olyan fájlok is amikben nincs HTML tag csak php kód. Minden utasítást ; zár. Elhagyása szintaktikai hibához vezet. //egysoros megjegyzés /* Több soros megjegyzés */ VÁLTOZÓK PHP-ben nincs változó deklaráció, akkor jön létre a változó, amikor először elkezded használni. Hasonlóan a javascript-hez. Változók előtt mindig egy $ jel áll, ennek lehagyása szintaktikai hibához vezet. A PHP gyengén típusos nyelv. Automatikus típuskonverzió. Ha a változó nem kap kezdőértéket, akkor üres. 1. $txt="hello World"; 2. $x=16; 3. echo $txt; 4. echo $x; 5. echo "<br />";

HATÁSKÖR A PHP változók hatáskörei a következők lehetnek - lokális: csak adott függvényen belül érhető el - globális: bárhonnan elérhető - statikus: a függvény lokálisan létrehozott változója a függvény végén nem kerül törlésre - paraméter: a paraméterként átadott változók a függvény lokális változói Ha egy változó egy függvényben van deklarálva, akkor az lokális lesz és csak azon a függvényen belül érhető el. 1. $a = 5; 2. echo $a; 3. function test() { 4. echo $a; // ez egy lokális változó ami üres, mert most van elősször használva 5. $b = 10; // lokális 6. echo $b; 7. //globális $a változó elérése: 8. echo "<br />a változó globálissá minősítése után:<br />"; 9. global $a; //így $a már a globális $a változót hivatkozza 10. echo $a; //globális $a 11. 12. echo $b; //üres globális változó 13. test(); STRING A string változó, karakter vagy karakter láncok tárolására szolgál, csak úgy mint a többi nyelvnél. A legfontosabb string kezelő függvények: - Az összefűzés operátora:. - A string hossza: strlen() - Karakter vagy szöveg pozíciójának keresése egy másik karakterláncban: strpos() Teljes körű String referencia: http://www.w3schools.com/php/php_ref_string.asp 1. //Stringek összefűzése: 2. echo "<br />"; 3. $txt1 = "Mi a mai"; 4. $txt2 = "mocsári gólyahír?"; 5. $txt3 = $txt1.$txt2; //stringek összefűzése egy harmadik változóba 6. echo $txt1.$txt2." Van e kaja?"; //két változó + egy literál összefűzése 7. echo "<br />A változók kííratásának másik módja: $txt3"; 8. 9. //strlen(string): a paraméterül megadott string hosszával tér vissza 10. echo "<br />txt1 hossza: ".strlen($txt1); 11. //strpos(string1,string2): string1 -ben keresi string2 első előfordulását 12. echo "<br />A 'hír' szó kezdőpozíciója txt2-ben: ".strpos($txt2,"hír"); 13.

OPERÁTOROK A c és javascript nyelvnél megismertekkel megegyezik. Logikai összekötő operátoroknál használható a pascal-os and or vagy a c szerű: && If... else szerkezet A c és javascript nyelvnél megismertekkel megegyezik. Szintaktika: rövid alak: if (feltétel) tevékenység; hosszú alak: if (feltétel) tevékenység1; else tevékenység2; elseif szerkezet (a PHP nyelv egyik baromsága, hogy összevont két alapszót ezzel létrehozva ezt a valamit) megj.: ugyanazt csinálja, mintha külön írnánk: else if if (feltétel) tevékenység1; elseif (feltétel) tevékenység2; else tevékenység3; Az előzővel ekvivalens verzió, ami minden nyelvben megtalálható: if (feltétel) tevékenység1; else if (feltétel) tevékenység2; else tevékenység3; Szemantika: Ha a feltétel értéke igaz, akkor végrehajtódik az if utáni tevékenység, ellenkező esetben ha van else ág, akkor az abban megadott tevékenység hajtódik végre. Példák: 1. if (5<10) echo "kisebb<br />"; else echo "nem kisebb<br />"; 2. if (10!=10 && 3==5 and $a==$b) echo "igaz<br />"; else echo "hamis<br />"; //összetett feltétel 3. if (10>10) echo "nagyobb<br />"; //elseif szerkezet 4. elseif (10<10) echo "kisebb<br />"; 5. else echo "egyenlo<br />"; 6. if (10>10) echo "nagyobb<br />"; //előzővel ekvivalens 7. else if (10<10) echo "kisebb<br />"; 8. else echo "egyenlo<br />";

Switch szerkezet A c és javascript nyelvnél megismertekkel megegyezik. Szintaktika: swicth (kifejezés) { case címke: tevékenység; break; case címke: tevékenység; break; default: tevékenység; Szemantika: A kifejezés kiértékelődik és összehasonlításra kerül a címkékkel, ha van egyezés végrehajtódik az adott case ág tevékenysége. A break ugyanúgy működik, mint c-ben (ha lehagyjuk végrehajtódik a többi tevékenység is) a default ág akkor hajtódik végre, ha egyik case ággal sincs egyezés. 1. $x=2; 2. switch ($x+1){ 3. case 2: 4. echo "x+1= 2<br />"; 5. break; 6. case 3: 7. echo "x+1= 3<br />"; 8. break; 9. case 4: 10. echo "x+1= 4<br />"; 11. break; 12. default: 13. echo "Nem 2,3 vagy 4.<br />"; 14.

Tömbök A tömbök arra valók, hogy több értéket/adatot tároljunk egyetlen változóban és azt az indexükkel hivatkozzuk. A PHP nyelvben a tömbök indexei nem csak szám típusúak lehetnek, hanem szövegesek is, az ilyen tömböket asszociatív tömböknek nevezzük. 1. // Tömbök létrehozása szám típusú tömbindexekkel. Két lehetőség van: 2. // 1. eset: array kulcsszó használata, ilyenkor az indexek automatikusan ho zzárendelődnek. Az első elem indexe 0. 3. $cars=array("saab","volvo","bmw","toyota"); 4. echo $cars[2]."<br />"; 5. // 2. eset: mi mondjuk meg hogy melyik indexre milyen érték kerüljön: 6. $cars2[0] = "Saab"; 7. $cars2[1] = "Volvo"; 8. $cars2[2] = "BMW"; 9. 10. 11. // Asszociatív tömbök létrehozása (az index szöveges típusú) 12. // 1. eset: 13. $ages = array("péter"=>32, "Beatrix"=>30, "Tamás"=>34); //személyek nev éhez rendeljük az életkort 14. echo 'Beatrix '.$ages['beatrix']." éves.<br />"; 15. // 2. eset: 16. $ages['péter'] = "32"; 17. $ages['beatrix'] = "30"; 18. $ages['tamás'] = "34"; 19. 20. 21. // Több dimenziós tömbök: olyan 1 dimenziós tömbök amelyek elemei is tömbö 22. $_2x2[0][0] = 0; // 0 1 23. $_2x2[1][0] = 1; // 2 3 24. $_2x2[0][1] = 2; 25. $_2x2[1][1] = 3; 26. echo "egy 2*2-es tömb: "."<br />"; 27. print_r($_2x2); //a print_r metódussal kiírathatjuk egy tömb tartalmát 28. echo "<br />[0][1] indexű eleme: ".$_2x2[0][1]."<br />"; 29. 30. //vegyes tömb (asszociatív és numerikus) 31. $families = array( //ennek a tömbnek az első indexe szöveges (Péter, Be atrix, Tamás), második indexe pedig numerikus. 32. "Péter"=>array( 33. "Péter", //Péter 0-adik indexű gyereke 34. "Zoli", //Péter 1-edik indexű gyereke 35. "Aladár" //Péter 2-edik indexű gyereke 36. ), 37. "Beatrix"=>array( 38. "Ágota" //Beatrix 0-adik indexű gyereke 39. ), 40. "Tamás"=>array( 41. "Helga", //Tamás 0-adik indexű gyereke 42. "Ottó" //Tamás 1-edik indexű gyereke 43. ) 44. ); 45. print_r($families); 46. echo "<br />".$families['péter'][1]; 47.

While ciklus: Szintaktikája és szemantikája is megeggyezik a C ben tanultakkal. Igazra ismétel. while (feltétel) { ciklusmag 1. echo "while ciklus:<br />"; 2. $i=1; 3. while($i<=5) { 4. echo $i."<br />"; 5. $i++; 6. Do... while ciklus: Szintaktikája és szemantikája is megeggyezik a C ben tanultakkal. Igazra ismétel. do { ciklusmag while(feltétel) 1. echo "<br />do while ciklus:<br />"; 2. $i=1; 3. do 4. { 5. echo $i."<br />"; 6. $i++; 7. 8. while ($i<=5); For ciklus: Szintaktikája és szemantikája is megeggyezik a C ben tanultakkal. for (inicializáló kifejezés; feltétel; növekmény) { ciklusmag 1. echo "for ciklus:<br />"; 2. for ($i=1; $i<=5; $i++) { 3. echo $i."<br />"; 4.

Foreach ciklus: Arra való, hogy tömböket járjunk be vele. Működése hasonló a mootools each -hez. foreach ($tomb as $ertek) { ciklusmag $ertek változó minden egyes cikluslépésben felveszi a tömb következő adatelemét (tehát itt a ciklusváltozó nem az indexeken, hanem magán az adatokon megy végig) 1. echo "<br />foreach ciklus:<br />"; 2. $tomb=array("egy","kettő","három"); 3. foreach ($tomb as $ertek) { 4. echo $ertek."<br />"; 5. 6. 7. Függvények: Több mint 700 beépített függvény található a PHP-ben, amik segítik a munkánkat, de természetesen saját függvényeket is készíthetünk. php függvények referenciája: http://www.w3schools.com/php/default.asp Hasonlóan a javascripthez itt is, a függvényben lévő utasítások nem oldalbetöltődéskor, hanem a függvény meghívásakor hajtódnak végre. Függvényt bárhol meg lehet hívni, ahol utasítás állhat. Szintaktika: function függvénynév(paraméterlista) { A paraméterlistában átadhatók a függvénynek változók, tömbök stb. Ha üres a paraméterlista a zárójeleket akkor is kitesszük. Valamint, ahogy a többi nyelvnél is megszokhattuk a függvény visszatérhet értékkel is a hívó felé, erre szolgál a return utasítás. 1. function osszeadas($x, $y) { 2. $total = $x + $y; 3. return $total; 4. 5. echo "Függvényhívás eredménye: ".osszeadas(3,2)."<br />"; 6. 7.

$_GET és $_POST előre definiált változók Mindkettő egy előre definiált változó, tulajdonképpen egy-egy asszociatív tömb. Ezekbe a tömbökbe a kliens oldalon adatokat lehet tenni, majd szerver oldalon a PHP ki tudja belőle nyerni. $_GET változó arra való, hogy adatokat gyűjtsön be egy űrlapból, vagy URL-ből amely get-el lett elküldve. $_POST változó arra való, hogy adatokat gyűjtsön be egy űrlapból, amely post-al lett elküldve. A post vagy get beállítása az űrlap tag-nél lehetséges: <form method="post"> vagy <form method="get"> -A kettő között a különbség az hogy a get-el küldött adat látható a felhasználó számára, megjelenik az URL-ben, és a vele küldhető adatmennyiség korlátozott. -A post-al küldött adat ezzel szemben nem jelenik meg az URL-ben, a felhasználó nem láthatja és a vele küldhető adatmennyiség is jóval nagyobb alap értéken 8Mb, de ez állítható a php.ini-ben (post_max_size) Mikor érdemes get-et használni: - ha a küldendő adatokat a felhasználó megtekintheti az url-ben, ez azért jöhet jól, mert így a link könyvjelzőzhető - például navigációkor, hogy az url-t valakinek átmásolva ugyanarra az aloldalra jusson - amikor védett adatot akarunk küldeni a szervernek mint például jelszó akkor nem érdemes használni helyette ott a post Mikor érdemes post-ot használni: - ha a küldendő adatokat el akarjuk rejteni - nagyobb mennyiségű adatoknál A $_REQUEST változó tartalmazza mind a post és mind a get adatait. Példa get-re: 1.?> 2. <a href="php_basic.php?tulajdonsag=ertek">urlbe rakunk információt, amit aztán ki is olvasunk</a> 3. <?php 4. if (isset($_get["tulajdonsag"])) { //ez az ág csak akkor fog lefutni, ha a $_POST["name"] változónak van értéke. 5. echo "<br />Az urlben a tulajdonsag erteke: ".$_GET["tulajdonsag"]."<br />"; 6.

Űrlapok feldolgozása: Az egyik legfontosabb és talán legsűrűbben használt funkcionalitása a PHP-nek hogy űrlapokat dolgozzunk fel vele, leellenőrizzük és az adatokat adatbázisba felvigyük. 1.?> 2. <form action="php_basic.php" method="post"> 3. Név: <input type="text" name="name"> 4. Életkor: <input type="text" name="age"> 5. <input type="submit"> 6. </form> 7. <?php 8. if (isset($_post["name"])) { //ez az ág csak akkor fog lefutni, ha a $_POST ["name"] változónak van értéke. 9. echo "Szia ".$_POST["name"]."!"; 10. $age=$_post["age"]; 11. if ($age>18) 12. echo "<br />Jó öreg vagy hehe :D"; 13. else 14. echo "<br />életkorod: ".$age; 15. 16.