400 likes | 526 Views
Webprogramozó tanfolyam. PHP alapjai. 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?
E N D
Webprogramozó tanfolyam PHP alapjai
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.
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.
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(); ?>
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
Használata • Üdvözlő szöveg elhelyezése • Példa • Továbbfejlesztve • Példa 2
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
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()
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.
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;}
Galéria • Egy egyszerű megoldás: • Példa • Egy kicsit szebb (meg talán használhatóbb): • Példa 2
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
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
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
Portál • Ezt is integráljuk a portálunkba! • A menüben is tüntessük fel!
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.
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.
IV. Feladat • Készítsünk egy egyszerű (de nem túl szép) órát! • Megoldás
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
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> • }
Példa • If (isset($_GET[‘oldal’])) • { • } • Elseif (isset($_GET[‘picture’])) • { • } • Else • { • }
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>}
Switch példa • Switch ($_GET[‘nem’]){ case ‘f’: Ferfi(); break; case ‘n’: No(); break; default: Hiba();}
Ciklus mégegyszer • for (<kezdeti értékadás>; <kilépési feltétel>; <léptetés>){ <utasítások>}
Példa • For ($i=1;$i<9;$i++){ print ”<a href=‘./main.php?oldal=”.$i.”’ >”.$i.”. oldal</a>”;}
While ciklus (elöltesztelő ciklus) • while (<bennmaradási feltétel>){ <utasítások>}
While példa • $i=1;While ($i<9){ print ”<a href=‘./main.php?oldal=”.$i.”’ >”.$i.”. oldal</a>”; $i++;}
Do..while (hátultesztelő ciklus) • do{ <utasítások>}while (<bennmaradási feltétel>);
Hátultesztelő példa • $i=1;do{ print ”<a href=‘./main.php?oldal=”.$i.”’ >”.$i.”. oldal</a>”; $i++;}while ($i<10);
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ó!
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>;}
V. Feladat • Alakítsuk át az oldalainkat, használjuk függvényeket az egyszerűsítéshez! • Jelszó ellenőrzés • Űrlap feldolgozás
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>;
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
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
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
IV. Feladat • A regisztrációs űrlap küldje el a felhasználónak hogy milyen adatokkal regisztrált. • Megoldás
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.
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