Webprogramozó tanfolyam
description
Transcript of Webprogramozó tanfolyam
![Page 1: Webprogramozó tanfolyam](https://reader035.fdocuments.net/reader035/viewer/2022062519/568150d2550346895dbef508/html5/thumbnails/1.jpg)
Webprogramozó tanfolyam
PHP alapjai
![Page 2: Webprogramozó tanfolyam](https://reader035.fdocuments.net/reader035/viewer/2022062519/568150d2550346895dbef508/html5/thumbnails/2.jpg)
Ismétlő feladat
Készítsünk egy html űrlapot (form) Egy felhasználó regsztrációja legyen:
– Felhasználói név, jelszó, jelszó mégegyszer– Férfi vagy nő?– Kér-e hírlevelet?– Milyen nemzetiségű? /legördülő menü/– Milyen témák érdeklik?– Leírás (szövegterület, textarea)– E-mail címe– Elküldés, törlés gomb
A kötelező mezők mellé rakjunk piros * -ot Maga az űrlap legyen viszonlag szépen formázva.
![Page 3: Webprogramozó tanfolyam](https://reader035.fdocuments.net/reader035/viewer/2022062519/568150d2550346895dbef508/html5/thumbnails/3.jpg)
PHP – PHP : Hypertext preprocessor
![Page 4: Webprogramozó tanfolyam](https://reader035.fdocuments.net/reader035/viewer/2022062519/568150d2550346895dbef508/html5/thumbnails/4.jpg)
Mi is az a PHP?
A PHP a web programozásánál felmerülő problémák megoldására született.
Kb. a C és Perl nyelvek egyszerűsített keverékének tekinthető.
Elsősorban dinamikus weboldalak létrehozásánál használatos.
Beépített SQL adatbáziskönyvtárat kínál, és több más adatbázisfajtát támogat.
![Page 5: Webprogramozó tanfolyam](https://reader035.fdocuments.net/reader035/viewer/2022062519/568150d2550346895dbef508/html5/thumbnails/5.jpg)
A Php működése
Server oldali kód Php interpreter (fordító)
– Rajz
Mi kell ahhoz hogy működjön?– <?php phpinfo(); ?>
![Page 6: Webprogramozó tanfolyam](https://reader035.fdocuments.net/reader035/viewer/2022062519/568150d2550346895dbef508/html5/thumbnails/6.jpg)
Mivel fogunk foglalkozni?
Kommunikáció a serverrel:– $_GET tömb– $_POST tömb
Tömbök– array(), print_r()
Függvények– time(), mail()
Cookie ( sütik )– setcookie(), $_COOKIE tömb
![Page 7: Webprogramozó tanfolyam](https://reader035.fdocuments.net/reader035/viewer/2022062519/568150d2550346895dbef508/html5/thumbnails/7.jpg)
Használata
Üdvözlő szöveg elhelyezése– Példa
Továbbfejlesztve– Példa 2
![Page 8: Webprogramozó tanfolyam](https://reader035.fdocuments.net/reader035/viewer/2022062519/568150d2550346895dbef508/html5/thumbnails/8.jpg)
I. Feladat
Regisztrációs „rendszer” továbbfejlesztése Html:
– Ezzel már megvagyunk (előző óra)
Php (az eddigiek alapján):– Jelszó és jelszó mégegyszer ellenőrzése (különben hiba)– A kötelező mezőket töltse ki (különben küldjük vissza)– Ne engedje hogy névnek ‘Admin’-t adjunk meg
![Page 9: Webprogramozó tanfolyam](https://reader035.fdocuments.net/reader035/viewer/2022062519/568150d2550346895dbef508/html5/thumbnails/9.jpg)
Portál!
Ahhoz hogy együttműködjön a keretünkel, egy kis átalakítás kell.
El kell távolítani:– <html>,<head>,<body> tag-eket
A keretbe pedig be kell ágyazni:– include(), include_once()– require(), require_once()
![Page 10: Webprogramozó tanfolyam](https://reader035.fdocuments.net/reader035/viewer/2022062519/568150d2550346895dbef508/html5/thumbnails/10.jpg)
Menü
Elkészítjük a portálunk menüjét (legalábbis az első változatot).
Külön file-ba szintúgy mint a regisztrációt.
![Page 11: Webprogramozó tanfolyam](https://reader035.fdocuments.net/reader035/viewer/2022062519/568150d2550346895dbef508/html5/thumbnails/11.jpg)
Konstrukciók
Értékadás– $a = ‘Hello’;
Elágazás– If ($a == ‘mas’)
{print „valami”;
} Ciklus
– For ($i=0; $i<5; $i++){ print $i;}
– While ($i<5){ print $i; $i=$i+1;}
![Page 12: Webprogramozó tanfolyam](https://reader035.fdocuments.net/reader035/viewer/2022062519/568150d2550346895dbef508/html5/thumbnails/12.jpg)
Galéria
Egy egyszerű megoldás:– Példa
Egy kicsit szebb (meg talán használhatóbb):– Példa 2
![Page 13: Webprogramozó tanfolyam](https://reader035.fdocuments.net/reader035/viewer/2022062519/568150d2550346895dbef508/html5/thumbnails/13.jpg)
II. Feladat
Fejlesszük tovább a galériát! A kis képekre kattintva jelenjen meg az
eredeti kép (segítség: link)! Megoldás
![Page 14: Webprogramozó tanfolyam](https://reader035.fdocuments.net/reader035/viewer/2022062519/568150d2550346895dbef508/html5/thumbnails/14.jpg)
Egy általános megoldás
Itt bármi lehet a képek neve. Direktory megnyitása:
– $dir=Opendir();
Olvasás:– $file=Readdir($dir);
Példa
![Page 15: Webprogramozó tanfolyam](https://reader035.fdocuments.net/reader035/viewer/2022062519/568150d2550346895dbef508/html5/thumbnails/15.jpg)
A probléma kiküszöbölése
A mappákat nem akarjuk kirakni ugyebár... Is_dir($file_azon)
– Megmondja nekünk hogy egy direktoryval van-e dolgunk.
Ez alapján javítsuk ki a galériát! Megoldás
![Page 16: Webprogramozó tanfolyam](https://reader035.fdocuments.net/reader035/viewer/2022062519/568150d2550346895dbef508/html5/thumbnails/16.jpg)
Portál
Ezt is integráljuk a portálunkba! A menüben is tüntessük fel!
![Page 17: Webprogramozó tanfolyam](https://reader035.fdocuments.net/reader035/viewer/2022062519/568150d2550346895dbef508/html5/thumbnails/17.jpg)
III. Feladat
Az előbb megismert módon készítsük el a menünket is!
Tehát a megtalált file-ok alapján építse fel magát.
![Page 18: Webprogramozó tanfolyam](https://reader035.fdocuments.net/reader035/viewer/2022062519/568150d2550346895dbef508/html5/thumbnails/18.jpg)
Idő
A time() függvénnyel lekérdezhetjük az aktuális időt (persze ez a server szerinti idő lesz).
Ez valami mágikus számot ad nekünk válaszul, ez a timestamp (időbélyeg).– Ami nem más mint 1970 január 1. 00:00 óta eltelt
másodpercek száma.
![Page 19: Webprogramozó tanfolyam](https://reader035.fdocuments.net/reader035/viewer/2022062519/568150d2550346895dbef508/html5/thumbnails/19.jpg)
IV. Feladat
Készítsünk egy egyszerű (de nem túl szép) órát!– Megoldás
![Page 20: Webprogramozó tanfolyam](https://reader035.fdocuments.net/reader035/viewer/2022062519/568150d2550346895dbef508/html5/thumbnails/20.jpg)
Tipp
Ismerd a függvényket! És használd a www.php.net keresőjét! Akkor nem fogod ezt elkövetni:
– http://hu.php.net/manual/hu/function.time.php#80868
![Page 21: Webprogramozó tanfolyam](https://reader035.fdocuments.net/reader035/viewer/2022062519/568150d2550346895dbef508/html5/thumbnails/21.jpg)
Elágazás, mégegyszer
if (<feltétel_1>) { <utasítások_1> } elseif (<feltétel_2>) { <utasítások_2> } . . elseif (<feltétel_n>) { <utasítások_n> } else { <utasítások_n+1> }
![Page 22: Webprogramozó tanfolyam](https://reader035.fdocuments.net/reader035/viewer/2022062519/568150d2550346895dbef508/html5/thumbnails/22.jpg)
Példa
If (isset($_GET[‘oldal’])) { } Elseif (isset($_GET[‘picture’])) { } Else { }
![Page 23: Webprogramozó tanfolyam](https://reader035.fdocuments.net/reader035/viewer/2022062519/568150d2550346895dbef508/html5/thumbnails/23.jpg)
Elágazás máshogy
switch (<változó>){case <érték_1>: <utasítás_1> break;...
case <érték_n>: <utasítás_n> break;default: <utasítás_n+1>}
![Page 24: Webprogramozó tanfolyam](https://reader035.fdocuments.net/reader035/viewer/2022062519/568150d2550346895dbef508/html5/thumbnails/24.jpg)
Switch példa
Switch ($_GET[‘nem’]){
case ‘f’: Ferfi(); break;case ‘n’: No(); break;default: Hiba();
}
![Page 25: Webprogramozó tanfolyam](https://reader035.fdocuments.net/reader035/viewer/2022062519/568150d2550346895dbef508/html5/thumbnails/25.jpg)
Ciklus mégegyszer
for (<kezdeti értékadás>; <kilépési feltétel>; <léptetés>)
{ <utasítások>}
![Page 26: Webprogramozó tanfolyam](https://reader035.fdocuments.net/reader035/viewer/2022062519/568150d2550346895dbef508/html5/thumbnails/26.jpg)
Példa
For ($i=1;$i<9;$i++){
print ”<a href=‘./main.php?oldal=”.$i.”’ >”.$i.”. oldal</a>”;
}
![Page 27: Webprogramozó tanfolyam](https://reader035.fdocuments.net/reader035/viewer/2022062519/568150d2550346895dbef508/html5/thumbnails/27.jpg)
While ciklus (elöltesztelő ciklus)
while (<bennmaradási feltétel>){ <utasítások>}
![Page 28: Webprogramozó tanfolyam](https://reader035.fdocuments.net/reader035/viewer/2022062519/568150d2550346895dbef508/html5/thumbnails/28.jpg)
While példa
$i=1;While ($i<9){
print ”<a href=‘./main.php?oldal=”.$i.”’ >”.$i.”. oldal</a>”;
$i++;
}
![Page 29: Webprogramozó tanfolyam](https://reader035.fdocuments.net/reader035/viewer/2022062519/568150d2550346895dbef508/html5/thumbnails/29.jpg)
Do..while (hátultesztelő ciklus)
do{ <utasítások>}while (<bennmaradási feltétel>);
![Page 30: Webprogramozó tanfolyam](https://reader035.fdocuments.net/reader035/viewer/2022062519/568150d2550346895dbef508/html5/thumbnails/30.jpg)
Hátultesztelő példa
$i=1;do{
print ”<a href=‘./main.php?oldal=”.$i.”’ >”.$i.”. oldal</a>”;
$i++;
}while ($i<10);
![Page 31: Webprogramozó tanfolyam](https://reader035.fdocuments.net/reader035/viewer/2022062519/568150d2550346895dbef508/html5/thumbnails/31.jpg)
Megjelenés, testreszabhatóság
Készítsünk legalább két CSS file-t az oldalhoz!
Készítsünk egy kis menüt ahol választhat közüllük a felhasználó!
![Page 32: Webprogramozó tanfolyam](https://reader035.fdocuments.net/reader035/viewer/2022062519/568150d2550346895dbef508/html5/thumbnails/32.jpg)
Függvények
Ha már ennyit használtuk őket, talán írhatnák mi is néhányat. De hogy is?
function <függvény_név> (<paraméterek>){
<kód>return <érték>;
}
![Page 33: Webprogramozó tanfolyam](https://reader035.fdocuments.net/reader035/viewer/2022062519/568150d2550346895dbef508/html5/thumbnails/33.jpg)
V. Feladat
Alakítsuk át az oldalainkat, használjuk függvényeket az egyszerűsítéshez!– Jelszó ellenőrzés– Űrlap feldolgozás
![Page 34: Webprogramozó tanfolyam](https://reader035.fdocuments.net/reader035/viewer/2022062519/568150d2550346895dbef508/html5/thumbnails/34.jpg)
Egy jobb megoldás
Valahogyan tárolnunk kell a választás eredményét, a GET tömb nem az igazi...
Sütik! (cookie) setcookie(<név>,<érték>,<lejárati_idő>); $_COOKIE[<név>]=<érték>;
![Page 35: Webprogramozó tanfolyam](https://reader035.fdocuments.net/reader035/viewer/2022062519/568150d2550346895dbef508/html5/thumbnails/35.jpg)
String kezelő függvények
strlen(<string>) -> a string hossza
is_string(<változó>) -> string-e a változó
substr(<string>,<honnan>,<milyen hosszan>) -> string egy darabja
substr(<string>,<honnan>) -> string a honnantól
strtoupper(<string>) -> csupa nagybetűssé alakítja
strtolower(<string>) -> csupa kisbetűssé alakítja
![Page 36: Webprogramozó tanfolyam](https://reader035.fdocuments.net/reader035/viewer/2022062519/568150d2550346895dbef508/html5/thumbnails/36.jpg)
Tömbök
$<változó név>=array();
<tömb>[]=<érték>;
count(<tömb>) -> tömb elemszáma
end(<tömb>) -> a tömb utolsó eleme
print_r(<tömb>) -> kiírja a tömb tartalmát
in_array(<érték>,<tömb>) -> megkeresi az értéket a tömbben, vagy false
![Page 37: Webprogramozó tanfolyam](https://reader035.fdocuments.net/reader035/viewer/2022062519/568150d2550346895dbef508/html5/thumbnails/37.jpg)
Levélküldés
Mail() függvénnyel lehetséges mail(<hová>,<téma>,<üzenet>,<további
paraméterek>) Az üzenet egy sora legfeljebb 70 karakter
lehet!– \n új sor– $uzenet=wordwrap($uzenet,70); //feldarabolja
megfelelő méretű sorokra
![Page 38: Webprogramozó tanfolyam](https://reader035.fdocuments.net/reader035/viewer/2022062519/568150d2550346895dbef508/html5/thumbnails/38.jpg)
IV. Feladat
A regisztrációs űrlap küldje el a felhasználónak hogy milyen adatokkal regisztrált.
Megoldás
![Page 39: Webprogramozó tanfolyam](https://reader035.fdocuments.net/reader035/viewer/2022062519/568150d2550346895dbef508/html5/thumbnails/39.jpg)
Házi feladat
Készítsünk levélküldő rendszert! Egy űrlap amiben megadható:
– Kinek küldünk– Mi az üzenet– Mi a levél témája– Kitől kapja az üzenetet
PHP kóddal pedig küldjük is ezt el a címzetthez, de előtt ellenőrizzük hogy megfelelően lett-e kitöltve az űrlap.
![Page 40: Webprogramozó tanfolyam](https://reader035.fdocuments.net/reader035/viewer/2022062519/568150d2550346895dbef508/html5/thumbnails/40.jpg)
PHP típusai
Típus Példa Leírás Integer 5 Egész szám Double 3.14 Lebegőpontos szám String "Helló„ Karakterlánc Boolean True Logikai változó Array Tömb Object Objektum