„Informatika 2 - PHP alapok labor” változatai közötti eltérés

David14 (vitalap | szerkesztései)
aNincs szerkesztési összefoglaló
Nincs szerkesztési összefoglaló
 
(11 közbenső módosítás, amit 3 másik szerkesztő végzett, nincs mutatva)
1. sor: 1. sor:
{{Vissza|Informatika 2}}
{{Vissza|Informatika 2}}


Ez az oldal az [[Informatika 2]] című tárgy - PHP alapok labor beugrókérdéseinek kidolgozását tartalmazza.<br>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 [https://www.aut.bme.hu/Upload/Course/VIAUA203/hallgatoi_segedletek/PHP%20alapok-Hallgat%C3%B3i%20seg%C3%A9dlet_120621234531.pdf 5. gyakorlat segédlet címen] (2013 tavasz).
Ez az oldal az [[Informatika 2]] című tárgy - '''PHP alapok labor''' beugrókérdéseinek kidolgozását tartalmazza.<br>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 [https://www.aut.bme.hu/Upload/Course/VIAUA203/hallgatoi_segedletek/PHP%20alapok-Hallgat%C3%B3i%20seg%C3%A9dlet_120621234531.pdf 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.
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.
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. ==


[[Category:Villanyalap]]
<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]]