„Informatika 2 - PHP alapok labor” változatai közötti eltérés
(10 közbenső módosítás, amit 3 másik szerkesztő végzett, nincs mutatva) | |||
12. sor: | 12. sor: | ||
== Milyen különbségek vannak a PHP és egy erősen típusos nyelv (pl. Java) típuskezelése között? == | == Milyen különbségek vannak a PHP és egy erősen típusos nyelv (pl. Java) típuskezelése között? == | ||
+ | |||
+ | A PHP gyengén típusos nyelv, ez azt jelenti, hogy a változókat bárhol deklarálhatjuk, és azok a tartalmuknak megfelelő típussal jönnek létre, ami később dinamikusan változhat. Ha olyan változót próbálunk használni, ami még nem létezik, akkor magától létrejön. A változó nevek dollár jellel ($) kezdődnek, második karakterük nem lehet szám, csak betű vagy alulvonás ( _ ) karakter, és nem lehet benne szóköz. | ||
+ | |||
+ | Példaképpen változók létrehozása PHP-ben: | ||
+ | |||
+ | $szoveg = "Első PHP oldalam"; | ||
+ | $szam = 12; | ||
+ | $logikai_ertek = false; | ||
+ | |||
+ | Ennek hatására létrejön három változó: | ||
+ | |||
+ | * Egy '''String''' típusú, '''szoveg''' nevű változó, melynek értéke: '''Első PHP oldalam''' | ||
+ | * Egy '''int''' típusú, '''szam''' nevű változó, menynek értéke: '''12''' | ||
+ | * Egy '''bool''' típusú, '''logikai_ertek''' nevű változó, melynek értéke: '''false''' | ||
+ | |||
+ | |||
+ | Ugyanez Java-ban így nézne ki: | ||
+ | |||
+ | '''String''' szoveg = "Első PHP oldalam"; | ||
+ | '''int''' szam = 12; | ||
+ | '''boolean''' logikai ertek = false; | ||
+ | |||
+ | |||
+ | Mivel a PHP gyengén típusos nyelv, azaz futási időben megváltozhatnak a változók típusai, így szükség lehet egy típus összehasonlító operátorra. Lehetőség van típus szerinti egyezést is ellenőrizni az '''===''' operátorral, melynek párja: '''!=='''. Nem csak primitív típusokra, hanem például asszociatív tömbökre is használható: | ||
+ | |||
+ | $x == $y // <- Igaz, ha egyezik az érték. Például: 5==8 hamis, 5=="5" igaz | ||
+ | $x === $y // <- Igaz, ha egyezik az érték és a típus is. Például: 5==="5" hamis, 5===5 igaz | ||
== Mire jó a $_REQUEST tömb? == | == Mire jó a $_REQUEST tömb? == | ||
+ | |||
+ | A '''$_GET''' és a '''$_POST''' tömböket egyesítve tartalmazza a '''$_REQUEST''' tömb. | ||
+ | |||
+ | Például adott az alábbi űrlap: | ||
+ | |||
+ | <form action="login.php" method="get|post"> | ||
+ | E-mail cím: <input type="text" name="email" /><code><nowiki><br/></nowiki></code> | ||
+ | Jelszó: <input type="password" name="jelszo" /><code><nowiki><br/></nowiki></code> | ||
+ | <input type="submit" value="Bejelentkezés!" /> | ||
+ | </form> | ||
+ | |||
+ | Amennyiben az űrlapon method="get"-et állítottunk be, akkor szerver oldalon a $_GET asszociatív tömbből olvashatjuk ki az adatokat: | ||
+ | |||
+ | $email = $_GET["email"]; | ||
+ | $jelszo = $_GET["jelszo"]; | ||
+ | |||
+ | Amennyiben az űrlapon method="post"-ot állítottunk be, akkor szerver oldalon a $_POST asszociatív tömbből olvashatjuk ki az adatokat: | ||
+ | |||
+ | $email = $_POST["email"]; | ||
+ | $jelszo = $_POST["jelszo"]; | ||
+ | |||
+ | Bármit is állítunk be, a $_REQUEST tömb mindkét tömböt egyesítve tartalmazza: | ||
+ | |||
+ | $email = $_REQUEST["email"]; | ||
+ | $jelszo = $_REQUEST["jelszo"]; | ||
== Írjon egy PHP függvényt, mely kiszámolja a paraméterül kapott szám faktoriálisát és az eredményt kiírja. == | == Írjon egy PHP függvényt, mely kiszámolja a paraméterül kapott szám faktoriálisát és az eredményt kiírja. == | ||
+ | |||
+ | <?php | ||
+ | function faktor ( $szam ){ | ||
+ | $faktor = 1; | ||
+ | for( $i=0; $i < $szam; $i++ ){ | ||
+ | $faktor = $faktor * ( $i + 1 ); | ||
+ | } | ||
+ | echo $faktor; | ||
+ | } | ||
+ | ?> | ||
== Írjon kódot, mely kapcsolódik a localhost gépen található MySQL adatbázsszerverhez és utána bontja a kapcsolatot. == | == Írjon kódot, mely kapcsolódik a localhost gépen található MySQL adatbázsszerverhez és utána bontja a kapcsolatot. == | ||
+ | |||
+ | Az alábbi kód a '''localhost''' gépen futó MySQL adatbázis '''konyvtar''' nevű logikai adatbázisához kapcsolódik, majd bontja a kapcsolatot: | ||
+ | |||
+ | <?php | ||
+ | mysql_connect("localhost", "mysql_user", "mysql_password") or die("Kapcsolódási hiba: " . mysql_error()); | ||
+ | mysql_select_db("konyvtar"); | ||
+ | mysql_close(); | ||
+ | ?> | ||
== Készítsen el egy PHP oldalt, mely listázza az autok (id, rendszam, szin) adatbázistábla minden sorát. == | == Készítsen el egy PHP oldalt, mely listázza az autok (id, rendszam, szin) adatbázistábla minden sorát. == | ||
− | [[ | + | <pre><?php |
+ | mysql_connect("localhost", "mysql_user", "mysql_password") | ||
+ | or die("Kapcsolódási hiba: " . mysql_error()); | ||
+ | mysql_select_db("adatbazis"); | ||
+ | |||
+ | $result = mysql_query("SELECT cim, rendszam, szin FROM autok"); | ||
+ | while($row = mysql_fetch_array($result)) | ||
+ | printf("ID: %d Rendszám: %s Szín: %s", $row["id"], $row["rendszam"], $row['szin']); | ||
+ | |||
+ | mysql_free_result($result); | ||
+ | mysql_close(); | ||
+ | ?></pre> | ||
+ | |||
+ | [[Kategória:Villamosmérnök]] |
A lap jelenlegi, 2018. április 20., 09:00-kori változata
Ez az oldal az Informatika 2 című tárgy - PHP alapok labor beugrókérdéseinek kidolgozását tartalmazza.
Az aktuális segédlet az aktuális (ajánlott) beugrókérdésekkel bejelentkezés után megtalálható a tanszéki honlapon a 5. gyakorlat segédlet címen (2013 tavasz).
Jelenleg még elég hiányos a kidolgozás, továbbá évről évre kismértékben változhatnak beugrókérdések. A tanszéki honlapról mindig elérhető az aktuális mérési útmutató, mely az aktuális beugrókérdéseket tartalmazza.
FONTOS: Ezektől eltérő kérdések is előfordulhatnak a beugrókban! Ezek csak irányadó kérdések, így ajánlott a segédlet alapos áttanulmányozása is.
Kérlek szerkesszétek, aktualizáljátok!
Tartalomjegyzék
- 1 Milyen különbségek vannak a PHP és egy erősen típusos nyelv (pl. Java) típuskezelése között?
- 2 Mire jó a $_REQUEST tömb?
- 3 Írjon egy PHP függvényt, mely kiszámolja a paraméterül kapott szám faktoriálisát és az eredményt kiírja.
- 4 Írjon kódot, mely kapcsolódik a localhost gépen található MySQL adatbázsszerverhez és utána bontja a kapcsolatot.
- 5 Készítsen el egy PHP oldalt, mely listázza az autok (id, rendszam, szin) adatbázistábla minden sorát.
Milyen különbségek vannak a PHP és egy erősen típusos nyelv (pl. Java) típuskezelése között?
A PHP gyengén típusos nyelv, ez azt jelenti, hogy a változókat bárhol deklarálhatjuk, és azok a tartalmuknak megfelelő típussal jönnek létre, ami később dinamikusan változhat. Ha olyan változót próbálunk használni, ami még nem létezik, akkor magától létrejön. A változó nevek dollár jellel ($) kezdődnek, második karakterük nem lehet szám, csak betű vagy alulvonás ( _ ) karakter, és nem lehet benne szóköz.
Példaképpen változók létrehozása PHP-ben:
$szoveg = "Első PHP oldalam"; $szam = 12; $logikai_ertek = false;
Ennek hatására létrejön három változó:
- Egy String típusú, szoveg nevű változó, melynek értéke: Első PHP oldalam
- Egy int típusú, szam nevű változó, menynek értéke: 12
- Egy bool típusú, logikai_ertek nevű változó, melynek értéke: false
Ugyanez Java-ban így nézne ki:
String szoveg = "Első PHP oldalam"; int szam = 12; boolean logikai ertek = false;
Mivel a PHP gyengén típusos nyelv, azaz futási időben megváltozhatnak a változók típusai, így szükség lehet egy típus összehasonlító operátorra. Lehetőség van típus szerinti egyezést is ellenőrizni az === operátorral, melynek párja: !==. Nem csak primitív típusokra, hanem például asszociatív tömbökre is használható:
$x == $y // <- Igaz, ha egyezik az érték. Például: 5==8 hamis, 5=="5" igaz $x === $y // <- Igaz, ha egyezik az érték és a típus is. Például: 5==="5" hamis, 5===5 igaz
Mire jó a $_REQUEST tömb?
A $_GET és a $_POST tömböket egyesítve tartalmazza a $_REQUEST tömb.
Például adott az alábbi űrlap:
<form action="login.php" method="get|post"> E-mail cím: <input type="text" name="email" /><br/>
Jelszó: <input type="password" name="jelszo" /><br/>
<input type="submit" value="Bejelentkezés!" /> </form>
Amennyiben az űrlapon method="get"-et állítottunk be, akkor szerver oldalon a $_GET asszociatív tömbből olvashatjuk ki az adatokat:
$email = $_GET["email"]; $jelszo = $_GET["jelszo"];
Amennyiben az űrlapon method="post"-ot állítottunk be, akkor szerver oldalon a $_POST asszociatív tömbből olvashatjuk ki az adatokat:
$email = $_POST["email"]; $jelszo = $_POST["jelszo"];
Bármit is állítunk be, a $_REQUEST tömb mindkét tömböt egyesítve tartalmazza:
$email = $_REQUEST["email"]; $jelszo = $_REQUEST["jelszo"];
Írjon egy PHP függvényt, mely kiszámolja a paraméterül kapott szám faktoriálisát és az eredményt kiírja.
<?php function faktor ( $szam ){ $faktor = 1; for( $i=0; $i < $szam; $i++ ){ $faktor = $faktor * ( $i + 1 ); } echo $faktor; } ?>
Írjon kódot, mely kapcsolódik a localhost gépen található MySQL adatbázsszerverhez és utána bontja a kapcsolatot.
Az alábbi kód a localhost gépen futó MySQL adatbázis konyvtar nevű logikai adatbázisához kapcsolódik, majd bontja a kapcsolatot:
<?php mysql_connect("localhost", "mysql_user", "mysql_password") or die("Kapcsolódási hiba: " . mysql_error()); mysql_select_db("konyvtar"); mysql_close(); ?>
Készítsen el egy PHP oldalt, mely listázza az autok (id, rendszam, szin) adatbázistábla minden sorát.
<?php mysql_connect("localhost", "mysql_user", "mysql_password") or die("Kapcsolódási hiba: " . mysql_error()); mysql_select_db("adatbazis"); $result = mysql_query("SELECT cim, rendszam, szin FROM autok"); while($row = mysql_fetch_array($result)) printf("ID: %d Rendszám: %s Szín: %s", $row["id"], $row["rendszam"], $row['szin']); mysql_free_result($result); mysql_close(); ?>