Bevezetés a PHP világába - kezdőknek Pap-Szigeti Róbert pap-szigeti.robert@gamf.kefo.hu
Bevezetés a PHP világába Webkiszolgálás – szerveroldali szkriptek Röviden a szintaktikáról HTML és PHP A klienstől érkező adatok feldolgozása Oktatási tapasztalatok
Webkiszolgálás statikus dokumentumokkal kliens: böngésző (interpreter) webszerver html-állományok (és elemeik) dokumentumok multimédia-állományok CSS-állományok Javascriptek
Webkiszolgálás dinamikusan felépített oldalakkal kliens böngésző (interpreter) webszerver szerver oldali programnyelven írt szkriptek (speciális kiterjesztéssel) html-állományok (és elemeik) szerver oldali programnyelven írt szkriptek (speciális kiterjesztéssel) HTML-kimenet Szerver oldali futtató környezet PHP, ASP, JSP… adatbázis-szerver DBMS (MySQL, ODBC adatforrások…)
Bevezetés a PHP világába Webkiszolgálás – szerveroldali szkriptek Röviden a szintaktikáról HTML és PHP A klienstől érkező adatok feldolgozása Oktatási tapasztalatok
Röviden a szintaktikáról C/C++ nyelvcsalád OOP lehetőségek Gyengén típusos Változók (numerikus, szöveges, logikai, tömb, erőforrás stb.) deklarálása nem szükséges Változók neve $ jellel kezdődik
Bevezetés a PHP világába Webkiszolgálás – szerveroldali szkriptek Röviden a szintaktikáról HTML és PHP A klienstől érkező adatok feldolgozása Oktatási tapasztalatok
Egy rövid példa ... <body> <h1>Négyzetszámok</h1> <table> <tr><td>x</td><td>x<sup>2</sup></td></tr> <?php for ($i = 1; $i < 11; $i++) echo "<tr><td>$i</td><td>".$i*$i."</td></tr>\n”; ?> </table> </body> </html>
Webkiszolgálás dinamikusan felépített oldalakkal kliens böngésző (interpreter) webszerver szerver oldali programnyelven írt szkriptek (speciális kiterjesztéssel) html-állományok (és elemeik) szerver oldali programnyelven írt szkriptek (speciális kiterjesztéssel) HTML-kimenet Szerver oldali futtató környezet PHP, ASP, JSP… adatbázis-szerver DBMS (MySQL, ODBC adatforrások…)
A kliens által megkapott kód ... <body> <h1>Négyzetszámok</h1> <table> <tr><td>x</td><td>x<sup>2</sup></td></tr> <tr><td>1</td><td>1</td></tr> <tr><td>2</td><td>4</td></tr> <tr><td>10</td><td>100</td></tr> </table> </body> </html>
Bevezetés a PHP világába Webkiszolgálás – szerveroldali szkriptek Röviden a szintaktikáról HTML és PHP A klienstől érkező adatok feldolgozása Oktatási tapasztalatok
A klienstől érkező adatok feldolgozása Feladat: a felhasználó által kiválasztott osztály névsorának legyártása Osztályok listájának előállítása (osztaly.php) A továbbküldött adatok alapján az osztálynévsor előállítása (nevsor.php) osztalyok tanulok pl. C2004 osztid osztnev of_id ... tnlid nev oszt_id ... pl. 2004-ben indult C osztály
Az osztaly.php oldal részlete ... <?php $kapcs = mysql_connect("host","user","password"); mysql_select_db("dbname"); $lek = "select * from osztalyok order by osztnev"; $eredm = mysql_query($lek); while ($sor = mysql_fetch_array($eredm)) echo "<a href=\"nevsor.php?oid=$sor[0]\">". $sor[1]."</a><br />\n"; mysql_close($kapcs); ?>
Az osztaly.php oldal részlete a kliensen ... <a href="nevsor.php?oid=a2002">2002-ben indult A osztály</a><br /> <a href="nevsor.php?oid=b2002">2002-ben indult B osztály</a><br /> <a href="nevsor.php?oid=c2005">2005-ben indult C osztály</a><br />
nevsor.php – a kliens által küldött adat átvétele $oid = $_GET["oid"]; //ellenőrzés nélkül ?><!DOCTYPE ... ... <h1>A választott osztály névsora</h1> $kapcs = mysql_connect("host","user","password"); mysql_select_db("dbname"); $lek = "select * from tanulok where oszt_id=$oid". " order by nev"; $eredm = mysql_query($lek); while ($sor = mysql_fetch_array($eredm)) echo $sor["nev"]."<br />\n"; ?>
Kiegészítések Paraméterek átadása többféle módon történhet Az átadott változó meghatározhatja pl. az oldalra betöltendő modul(oka)t Állandó szerkezetű, állandó vagy kissé eltérő menüjű oldalak karbantartását jelentősen megkönnyítheti
Kiegészítések
Bevezetés a PHP világába Webkiszolgálás – szerveroldali szkriptek Röviden a szintaktikáról HTML és PHP A klienstől érkező adatok feldolgozása Oktatási tapasztalatok
Oktatás lehetőségei Előismeretek html: linkek, formok adatbázis-kezelés: SQL-DML programozás: strukturált elemek, változótípusok webkiszolgálás
Szoftverek elhelyezése Mi a cél? csak PHP programozás? egy kicsi webmesterkedés? betekintés a dba-feladatokba? Ingyenes szolgáltatók nincs telepítés, konfigurálás sebesség, otthoni gyakorlás DB adminisztrálása minimális
Szoftverek elhelyezése Belső webszerver és adatbázis-szerver tanulók számára az ingyeneshez hasonló könnyebb betekinteni webmesteri/dba feladatokba otthoni gyakorláshoz szolgáltató kell
Szoftverek elhelyezése Gépenként telepített szerverek nagyobb telepítési, konfigurálási munka mélyebb betekintés webmesteri/dba feladatokba kezdetben nehéz, hogy ugyanaz a gép a kliens és a szerver
A tematika főbb elemei Webkiszolgálás alapjai (webszerver konfigurálása) A PHP szintaktikája, a PHP és a HTML együttes használata Adatküldési technikák, a küldött adatok ellenőrzése Kapcsolat az adatbázissal (dba feladatok) Adatbázis-támogatással működő programok (adatbázisok tervezése)
Köszönöm a figyelmet!