Készíteni kell egy valami.css nevű fájlt, és a HTML fájl fejlécét így kell módosítani,
hogy tudjon az elkészített valami.css fájlról (csak a módosítandó sort írtam vastag betűvel)
Ezen felül jöhet a többi formázás, pl. a menü vagy a tartalom háttere, kerete, stb. Egy teljes példa elérhető a
http://atomfizika.elte.hu/informatika/docs/pelda/keret.php címen
(PHP rendszerben, de a stíluslehetőségeket jól mutatja).
Vissza az elejére
Bevezetés a PHP nyelvbe
A PHP nyelv
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>
Vissza az elejére
HTML űrlapok és feldolgozásuk
A HTML űrlapokat a form címkével hozunk létre. Az űrlapon belül "input", azaz "bemeneti" mezők
lesznek, ahogy azzal mindannyian találkoztunk már. A beviteli mező típusát a type="..." utasítás
adja meg. Lehetnek szöveges beviteli mezők (text), van egyszerű választás (radio),
többszörös választás (checkbox), de létrehozhatunk legördülő menüt is például a select
paranccsal. Egy komplex példa az alábbiaknak megfelelően néz ki:
<form action="valami.php" method="post">
Név:<br>
<input type="text" name="nev"><br>
Nap:<br>
<input type="radio" name="nap" value="1"> Hétfő<br>
<input type="radio" name="nap" value="2"> Kedd<br>
Tananyag:<br>
<input type="checkbox" name="anyag" value="1"> HTML<br>
<input type="checkbox" name="anyag" value="2"> PHP<br>
Csoport:<br>
<select name="csoport">
<option value="1">Első
<option value="2">Második
</select><br>
<input type="submit" value="Mehet">
</form>
Ez az űrlap az alábbi módon néz majd ki:
Látható, hogy az űrlapot egy <form> címke kezdi (és a megfelelő lezáró fejezi be). Az űrlap
beviteli mezőit az <input type="..." name="..."> jellegű címkék jelentik. Többféle mező képzelhető
el, a fenti példában a text, radio, checkbox és select típusú
mezőket láthatjuk. Fontos még a form címkébe írandó action="valami.php", amely az űrlapot
feldolgozó weboldal címe, illetve a method="post" pedig a feldolgozás módszerét jelöli.
Az űrlapok feldolgozása tehát php kóddal történik, a következő módon:
<?php
$diak = $_POST["nev"];
$nap = $_POST["nap"];
$tananyag = $_POST["anyag"];
$csop = $_POST["csoport"];
if($csop == 1) print("Az első csoportban vagy<br>");
else print("A második csoportban vagy<br>");
if($tananyag == 1) print("HTML-ből kell felkészülnöd<br>");
else print("PHP-ból kell felkészülnöd<br>");
?>
Vissza az elejére