A PHP nyelv arra szolgál, hogy az oldalunk tartalmát dinamikusan változtathassuk. A PHP lehetőséget ad például a következőkre:
Űrlapok feldolgozása
Az aktuális dátum/idő felhasználása
Bonyolult számítások elvégzése
Általában, dinamikus weboldalak készítése
Alapvetően úgy tudjuk ezeket megtenni, hogy a valami.html HTML fájlunk nevét valami.php névre változtatjuk, majd ebbe php parancsokat szúrunk, így (tehát alábbiakat valahova a HTML fájlba illesztjük; fontos, hogy akkor fogja tudni a szerver, hogy ebben a HTML fájlban PHP utasítások is vannak, ha a fájl kiterjesztése .php!): <?php
...
?>
A webszerver a PHP utasításokat feldolgozza, majd a HTML fájlt ezen feldolgozás után küldi el a szervernek.
PHP parancsok, változók definiálása
A legyegyszerűbb PHP parancs az, hogy "írjunk ki" valamit, erre szolgál a print függvény. Minden programozási nyelv alapfeladata, hogy írjunk ki egy rövid szöveget, ez tehát PHP-ban így néz ki:
<?php print("Hello world!"); ?>
Az aktuális dátumot és időt például így írhatjuk ki:
<?php print(date('Y. M. j. H:i')); ?>
Itt a print() és a date() PHP parancsok, amelyeket a szerver feldolgoz, mielőtt a weboldalt elküldené a kliensnek. Az print() kiírja a zárójelen belüli értéket, a date() pedig egy formázott dátumot ad meg (a formázást a zárójelen belüli karakterek szabják meg, az Y az évet jelöli, az Ma hónapot, stb. - további példákat itt találhatunk). Ezt a dátumot aztán a print() parancs írja bele a HTML fájlba.
További lényeges dolog minden programnyelvben, hogy hogyan definiálhatunk változókat. A változók célja az, hogy velük "megjegyezhetünk" valamit, egy számot, egy szót. Ennek módja a következő:
<?php
$a = 1.3;
$b = 321;
$valami = "hello";
?>
Látható tehát, hogy a változóknak tetszőleges nevet adhatunk (az angol abc betűivel), de mindig $ jellel kezdődnek. Változók segítségével matematikai műveleteket is végezhetünk, például egy egyszerű szorzást így lehet megtenni:
<?php
$a=5;
$b=6.5;
$c = $a + $b;
print($c);
?>
Itt $a, $b és $c, változók (a $) jel jelzi, hogy tárolandó változóról van szó. Az print kiírja a HTML fájlba a végeredményt (csak azt az egy számot, semmi mást).
Fontos parancs az include("fajl.php");, amely egy másik fájlt illeszt be a parancs helyére. Ehhez a fajl.php fájlnak ugyanott kell lennie, mint ahol a szerkesztett fájlunk van. A tartalmát beilleszti az include parancs helyére, mintha oda írtuk volna (de az alapértelmezése a HTML, tehát ha PHP parancsokat akarunk bele írni, ugyanúgy jeleznünk kell ezt a megfelelő címkével.
Minden programnyelvben felmerülő kérdés, hogy hogyan lehet úgynevezett "megjegyzéseket" írni a kódba - ezek olyan utalások, amelyek a programot olvasó vagy szerkesztő emberek számára egyfajta kommentárként értelmezhetőek. A lényeg az, hogy ezek nem program-utasítások, hanem egyszerű szöveg, szakszóval megjegyzés. PHP-ban ilyet így készíthetünk:
<?php
$a=5; //Itt megjegyezzük, hogy $a egy változó
$b=6.5;
/* Ide is tehetünk egy megjegyzést, ahol emlékeztetjük
magunkat, hogy alább a kiírás következik */
print($a);
?>
Néha szükséges, hogy megadjuk a PHP futattása során elkészült fájl típusát. Általában egy HTML fájlról van szó, ekkor a PHP fájl első sorába (pontosan oda!) ezt a PHP utasítást kell írnunk:
header("Content-type: text/html; charset=iso-8859-2");
PHP nyelven képeket is készíthetünk mindazonáltal, ekkor a PHP fájl első sora ezt kell, hogy tartalmazza:
header("Content-type: image/png");
Vissza az elejére
Öszetettebb PHP parancsok
Minden programnyelvben fontosak a kontroll szekvenciák, ciklusok. Ezek közül a négy legfontosabb a for, if, while és switch parancsok. A következőképpen használhatjuk őket:
IF:
if($x>10)
{
print("Nagyobb");
}
else
{
print("Kisebb");
}
VAGY
if($oldal=="elso") { include("elso.php"); }
elseif($oldal =="masodik") { include("masodik.php"); }
elseif($oldal =="harmadik") { include("harmadik.php"); }
else { include("fooldal.php"); }
FOR:
for($i=0;$i<10;$i=$i+1)
{
$j= $i*$i*$i;
print("$j<br>");
}
SWITCH:
switch($karakter)
{
case "a":
print("Ez egy a volt");
break;
case "b":
print("Ez egy b volt");
break;
default:
print("Egyik sem.");
}
WHILE:
$i=0;
while($i<10)
{
$j= $i*$i*$i;
print("$j<br>");
$i = $i+1;
}
További fontos tudnivaló, hogy a böngészőbe beírt URL, vagy egy linkben szereplő webcím gyakran tartalmaz ilyet: valami.php?oldal=1. Ezt a PHP kód tudja felhasználni, a következő módon:
<?php
$p = $_GET["oldal"];
if($p==1) include("elso.php");
if($p==2) include("masodik.php");
?>
Vissza az elejére
Menüvezérelt weboldal készítése PHP segítségével
A fenti módszerhez hasonlóan készítjük el a weboldalunkat, de a PHP parancsok használata jelentős egyszerűsítést jelent majd. A négy HTML fájl helyett öt PHP fájlt készítünk (a CSS fájl azonos maradhat a korábbival):
keret.php
fooldal.php
elso.php
masodik.php
harmadik.php
Az első PHP fájl tartalmazza az oldal keretszerkezetét, tehát így néz majd ki (figyeljünk a pirossal jelölt megváltozott részekre) a keret.php fájl:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-2">
<link rel="stylesheet" href="valami.css" type="text/css">
<title>Oldal címe</title>
</head>
<body>
<div class="menu">
<a href="keret.php">Főoldal</a><br>
<a href="keret.php?oldal=1">1. aloldal</a><br>
<a href="keret.php?oldal=2">2. aloldal</a><br>
<a href="keret.php?oldal=3">3. aloldal</a><br>
</div>
<div class="tartalom">
<?php
$oldal = $_GET["oldal"];
if($oldal==1) include("elso.php");
elseif($oldal==2) include("masodik.php");
elseif($oldal==3) include("harmadik.php");
else include("fooldal.php");
?>
</div>
</body>
</html>
A további négy fájlban (fooldal.php, elso.php, masodik.php, harmadik.php) csak a tartalmi rész legyen, tehát semmi html fejléc vagy hasonló. A teljes fooldal.php fájl például így nézhet ki esetleg:
<h1>Ez a főoldalam</h1>
<p>A bal oldalon található menüpontok közül választhatsz</p>
<p>A mai dátum: <?php print(date('Y. M. j.')); ?></p>
A többi három fájlt hasonlóan készíthetjük el, tehát bármilyen html fejléc és menü nélkül - mivel ezeket a fenti include parancs fogja beilleszteni a helyükre. A css fájlunk pedig lehet ugyanaz, ami a korábbiakban volt. Fontos, hogy a weboldalunkat a böngészőben a http://<azonosito>.web.elte.hu/<konyvtar>/keret.php címen érhetjük el.
Egy kidolgozott példát a http://atomfizika.elte.hu/informatika/docs/pelda/ címen találunk. A teljes anyag letölthető a http://atomfizika.elte.hu/informatika/docs/pelda.zip címről.
Űrlapok feldolgozása
Az aktuális dátum/idő felhasználása
Bonyolult számítások elvégzése
Általában, dinamikus weboldalak készítése
Alapvetően úgy tudjuk ezeket megtenni, hogy a valami.html HTML fájlunk nevét valami.php névre változtatjuk, majd ebbe php parancsokat szúrunk, így (tehát alábbiakat valahova a HTML fájlba illesztjük; fontos, hogy akkor fogja tudni a szerver, hogy ebben a HTML fájlban PHP utasítások is vannak, ha a fájl kiterjesztése .php!): <?php
...
?>
A webszerver a PHP utasításokat feldolgozza, majd a HTML fájlt ezen feldolgozás után küldi el a szervernek.
PHP parancsok, változók definiálása
A legyegyszerűbb PHP parancs az, hogy "írjunk ki" valamit, erre szolgál a print függvény. Minden programozási nyelv alapfeladata, hogy írjunk ki egy rövid szöveget, ez tehát PHP-ban így néz ki:
<?php print("Hello world!"); ?>
Az aktuális dátumot és időt például így írhatjuk ki:
<?php print(date('Y. M. j. H:i')); ?>
Itt a print() és a date() PHP parancsok, amelyeket a szerver feldolgoz, mielőtt a weboldalt elküldené a kliensnek. Az print() kiírja a zárójelen belüli értéket, a date() pedig egy formázott dátumot ad meg (a formázást a zárójelen belüli karakterek szabják meg, az Y az évet jelöli, az Ma hónapot, stb. - további példákat itt találhatunk). Ezt a dátumot aztán a print() parancs írja bele a HTML fájlba.
További lényeges dolog minden programnyelvben, hogy hogyan definiálhatunk változókat. A változók célja az, hogy velük "megjegyezhetünk" valamit, egy számot, egy szót. Ennek módja a következő:
<?php
$a = 1.3;
$b = 321;
$valami = "hello";
?>
Látható tehát, hogy a változóknak tetszőleges nevet adhatunk (az angol abc betűivel), de mindig $ jellel kezdődnek. Változók segítségével matematikai műveleteket is végezhetünk, például egy egyszerű szorzást így lehet megtenni:
<?php
$a=5;
$b=6.5;
$c = $a + $b;
print($c);
?>
Itt $a, $b és $c, változók (a $) jel jelzi, hogy tárolandó változóról van szó. Az print kiírja a HTML fájlba a végeredményt (csak azt az egy számot, semmi mást).
Fontos parancs az include("fajl.php");, amely egy másik fájlt illeszt be a parancs helyére. Ehhez a fajl.php fájlnak ugyanott kell lennie, mint ahol a szerkesztett fájlunk van. A tartalmát beilleszti az include parancs helyére, mintha oda írtuk volna (de az alapértelmezése a HTML, tehát ha PHP parancsokat akarunk bele írni, ugyanúgy jeleznünk kell ezt a megfelelő címkével.
Minden programnyelvben felmerülő kérdés, hogy hogyan lehet úgynevezett "megjegyzéseket" írni a kódba - ezek olyan utalások, amelyek a programot olvasó vagy szerkesztő emberek számára egyfajta kommentárként értelmezhetőek. A lényeg az, hogy ezek nem program-utasítások, hanem egyszerű szöveg, szakszóval megjegyzés. PHP-ban ilyet így készíthetünk:
<?php
$a=5; //Itt megjegyezzük, hogy $a egy változó
$b=6.5;
/* Ide is tehetünk egy megjegyzést, ahol emlékeztetjük
magunkat, hogy alább a kiírás következik */
print($a);
?>
Néha szükséges, hogy megadjuk a PHP futattása során elkészült fájl típusát. Általában egy HTML fájlról van szó, ekkor a PHP fájl első sorába (pontosan oda!) ezt a PHP utasítást kell írnunk:
header("Content-type: text/html; charset=iso-8859-2");
PHP nyelven képeket is készíthetünk mindazonáltal, ekkor a PHP fájl első sora ezt kell, hogy tartalmazza:
header("Content-type: image/png");
Vissza az elejére
Öszetettebb PHP parancsok
Minden programnyelvben fontosak a kontroll szekvenciák, ciklusok. Ezek közül a négy legfontosabb a for, if, while és switch parancsok. A következőképpen használhatjuk őket:
IF:
if($x>10)
{
print("Nagyobb");
}
else
{
print("Kisebb");
}
VAGY
if($oldal=="elso") { include("elso.php"); }
elseif($oldal =="masodik") { include("masodik.php"); }
elseif($oldal =="harmadik") { include("harmadik.php"); }
else { include("fooldal.php"); }
FOR:
for($i=0;$i<10;$i=$i+1)
{
$j= $i*$i*$i;
print("$j<br>");
}
SWITCH:
switch($karakter)
{
case "a":
print("Ez egy a volt");
break;
case "b":
print("Ez egy b volt");
break;
default:
print("Egyik sem.");
}
WHILE:
$i=0;
while($i<10)
{
$j= $i*$i*$i;
print("$j<br>");
$i = $i+1;
}
További fontos tudnivaló, hogy a böngészőbe beírt URL, vagy egy linkben szereplő webcím gyakran tartalmaz ilyet: valami.php?oldal=1. Ezt a PHP kód tudja felhasználni, a következő módon:
<?php
$p = $_GET["oldal"];
if($p==1) include("elso.php");
if($p==2) include("masodik.php");
?>
Vissza az elejére
Menüvezérelt weboldal készítése PHP segítségével
A fenti módszerhez hasonlóan készítjük el a weboldalunkat, de a PHP parancsok használata jelentős egyszerűsítést jelent majd. A négy HTML fájl helyett öt PHP fájlt készítünk (a CSS fájl azonos maradhat a korábbival):
keret.php
fooldal.php
elso.php
masodik.php
harmadik.php
Az első PHP fájl tartalmazza az oldal keretszerkezetét, tehát így néz majd ki (figyeljünk a pirossal jelölt megváltozott részekre) a keret.php fájl:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-2">
<link rel="stylesheet" href="valami.css" type="text/css">
<title>Oldal címe</title>
</head>
<body>
<div class="menu">
<a href="keret.php">Főoldal</a><br>
<a href="keret.php?oldal=1">1. aloldal</a><br>
<a href="keret.php?oldal=2">2. aloldal</a><br>
<a href="keret.php?oldal=3">3. aloldal</a><br>
</div>
<div class="tartalom">
<?php
$oldal = $_GET["oldal"];
if($oldal==1) include("elso.php");
elseif($oldal==2) include("masodik.php");
elseif($oldal==3) include("harmadik.php");
else include("fooldal.php");
?>
</div>
</body>
</html>
A további négy fájlban (fooldal.php, elso.php, masodik.php, harmadik.php) csak a tartalmi rész legyen, tehát semmi html fejléc vagy hasonló. A teljes fooldal.php fájl például így nézhet ki esetleg:
<h1>Ez a főoldalam</h1>
<p>A bal oldalon található menüpontok közül választhatsz</p>
<p>A mai dátum: <?php print(date('Y. M. j.')); ?></p>
A többi három fájlt hasonlóan készíthetjük el, tehát bármilyen html fejléc és menü nélkül - mivel ezeket a fenti include parancs fogja beilleszteni a helyükre. A css fájlunk pedig lehet ugyanaz, ami a korábbiakban volt. Fontos, hogy a weboldalunkat a böngészőben a http://<azonosito>.web.elte.hu/<konyvtar>/keret.php címen érhetjük el.
Egy kidolgozott példát a http://atomfizika.elte.hu/informatika/docs/pelda/ címen találunk. A teljes anyag letölthető a http://atomfizika.elte.hu/informatika/docs/pelda.zip címről.
Nincsenek megjegyzések:
Megjegyzés küldése