You are on page 1of 40

SZAKDOLGOZAT

Szamay Szabolcs

Debrecen
2010

Debreceni Egyetem
Informatikai Kar

Dokumentumok dinamikus megjelentse a weben

Tmavezet:

Ksztette:

Dr. Bujdos Gyngyi

Szamay Szabolcs

egyetemi adjunktus

programtervez informatikus

Debrecen
2010

Tartalomjegyzk

Bevezets ................................................................................................................................................ 4
1. Dinamikus weboldalak...................................................................................................................... 5
2. Alkalmazott eszkzk ....................................................................................................................... 7
2.1. XAMPP ........................................................................................................................ 7
2.2. Apache.......................................................................................................................... 8
2.3. MySQL ......................................................................................................................... 9
2.4. PHP .............................................................................................................................. 9
2.5. phpMyAdmin............................................................................................................... 11
3. Basketball Manager ........................................................................................................................ 12
3.1. A Basketball Manager clja ........................................................................................... 12
3.2. Kvetelmnyek ............................................................................................................ 12
3.3. Felhasznlk, jogosultsgok........................................................................................... 13
4. Az alkalmazs rszletes bemutatsa.............................................................................................. 14
4.1. Teleptsi tmutat ....................................................................................................... 14
4.2. Adatbzisok................................................................................................................. 15
4.3. Az alkalmazs mkdse............................................................................................... 19
4.3.1. Foldal, bejelentkezs ............................................................................................. 19
4.3.2. Sikeres bejelentkezs .............................................................................................. 20
4.3.3. Adminisztrtori fellet ............................................................................................ 21
4.3.4. Felhasznli fellet................................................................................................. 29
4.3.5. Vendg ................................................................................................................. 35
5. Az alkalmazs tovbbfejlesztsnek lehetsge............................................................................ 36
sszefoglals........................................................................................................................................ 38
Irodalomjegyzk.................................................................................................................................. 39
Ksznetnyilvnts ............................................................................................................................ 40

Bevezets

A szakdolgozatom clkitzse az, hogy ltrehozzak s bemutassak egy webes alkalmazst,


amelyet Basketball Manager nvre kereszteltem el, s egy adott kosrlabda bajnoksg
eredmnyeit, statisztikit dolgozza fel. Kosrlabdzknt sokszor szembesltem azzal a
dologgal, hogy a lejtszott mrkzsekkel kapcsolatos informcik a lejtszstl szmtva
csak pr nappal ksbb kerlnek fel az internetre, amelynek az egyik f oka, hogy nehzkes,
idignyes ezeknek feldolgozsa, mivel ennek a munkafolyamatnak tbb komponense is van.
Az ltalam ltrehozott alkalmazssal szeretnm minimlisra cskkenti az idt, ami az
esemny, s annak publiklsa kztt telik el. Emellett ami jelents szempont
megknnyti az adminisztrtorok feladatt is, akiknek bonyolult, idignyes munkba telt
eddig, hogy az adatokat feldolgozzk, s megjelentsk az rdekldk szmra. Ennek az
alkalmazsnak a segtsgvel szeretnm szemlltetni a dinamikus megjelents elnyeit.

Az els fejezetben a dinamikus weboldalak kifejldsrl, tulajdonsgairl lesz sz. A


msodik fejezetben bemutatom a felhasznlt eszkzket, technolgikat, s ezek kialakulst.
A harmadik rszben az alkalmazs cljrl, felhasznli kvetelmnyeirl esik sz bvebben.
A negyedik fejezetben szemlltetem a Basketball Manager mkdst, funkciit nhny bra
segtsgvel, egyrszt az adminisztrtor, msrszt az egyszer felhasznl szemszgbl.
Majd vgl sz esik a tovbbfejleszts lehetsgrl.

1. Dinamikus weboldalak
Az Internetet bngszve alapveten kt fajta weboldallal tallkozhatunk szembe: a statikus
oldalakkal, melyeket akrhnyszor is tltnk jra, mindig pontosan ugyanazt az adattartalmat
adjk vissza, s semmilyen interakcit nem biztostanak szmunkra. Ugyanakkor szmos
olyan oldal is fellelhet, amelyek tartalma dinamikusan vltozik, azaz mveleteinktl, a
mkdsi krnyezettl valamint egyb tnyezktl fggen tbb vagy kevesebb, de vltoz
informcit is tartalmaznak.
Ennek a "dinamizmusnak" tbb fajtja, szintje is ltezik. Taln a legegyszerbb ilyen
dinamikus elemek az oldalszmllkat (page countereket) tartalmaz oldalak, melyeknl az
oldal tartalmnak legnagyobb rsze ltalban statikus, csak egy pici, szmsort (a letltsek
szmt) tartalmaz kpecske vltozik rajtuk. Ide sorolhatk a vltoz reklm-fejlceket
tartalmaz oldalak is, hiszen ezek is pontosan ugyanazon az elven mkdnek, csak ppen
szmok helyett szveges, kpes, ltalban nmagban is animlt informcit jelentenek meg.
A dinamizmus egy magasabb fokt valstjk meg azok az oldalak, amelyek tartalma ugyan
tbb-kevsb folyamatosan vltozik. Ezek esetben mr maga az oldal tartalma is
dinamikusan kerl legenerlsra, szemben pl. az oldal-szmllsokkal, ahol maga a HTML
kd vgig vltozatlan marad, csak az egyik megjelentett kpecske "rajzolata" vltozik.
A dinamizmus fels fokt azok az oldalak kpviselik, melyekkel interaktv beviteli mezkn
(sorszerkesztk, vlasztgombok, nyomgombok, stb.) keresztl mi magunk is kzlhetnk
adatokat s a visszakapott eredmny (oldal) tartalma a megadott informciktl fgg.
Ezeknek is alapveten kt tpusa ltezik, amelyek megvalstsukban minimlisan, m
funkciikban s komplexitsukban nagysgrendekkel klnbzhetnek. Az "egyszerbb"
kategriba a tbb-kevsb statikus adatbzison a felhasznl ltal megadott paramterek
alapjn legyjtseket/keresseket vgz oldalak tartoznak - tipikusan ilyen alkalmazsok az
on-line sztrak, a klnbz ftp- s web-keresk. Ezeknl sokszor nagysgrenddel nagyobb
mennyisg mgttes kdot tartalmaznak az interaktv web-alap jtkok, web-alap homebanking rendszerek, az elektronikus ruhzak, valamint az egyb, sokszor rendkvl
specifikus, kliens rtegknt a bngszt hasznl n. 3-rteg alkalmazsok melyek
segtsgvel kzvetlenl vagy kzvetve egy kisebb/nagyobb adatbzisban mdosthatunk

informcikat, programokat futtathatunk, vagy akr brmilyen ms, tetszleges mveleti sort
is elvgeztethetnk a tvoli szmtgpen. Ide sorolhatk a rendkvl sok magncl site-on is
megtallhat "vendgknyv" oldalak is, amelyek azonban a legkevesebb esetben zemelnek
dediklt mdon a magt az oldalt is tartalmaz szerveren s gyakorlatilag - generalitsukbl
addan - semmilyen szinten nem ktdnek a "begyaz" oldalhoz, hanem publikus
szolgltatsok keretben elrhetek - hasonlan az oldal-szmlokhoz.
Meg kell emltennk az interaktivits / dinamizmus megvalstsnak egy, a fentiektl
alapveten eltr formjt is, az n. szkripteket, amelyek azonban az elbbi megoldsokkal
ellenttben a mkdsi logikt a kliens oldalra helyezik t, s br bizonyos - elssorban
egyszerbb szmtsi logikt hasznl, alapveten kis adatmennyisgen, de mindenkppen
kizrlagosan dolgoz - feladatok esetben rendkvl gyors, effektv s praktikus megoldst
nyjtanak.
A dinamikus weboldalak trnyersvel megjelentek a tartalomkezel rendszerek. A
tartalomkezel rendszerek (angolul Content Management System, CMS ) olyan
szoftverrendszerek, amely nem strukturlt informcik, mint pldul az internetes portlok
akr tbb felhasznl ltali elksztst, kezelst, s trolst segti. Tovbb gondoskodik a
tartalmak

strukturlt

megjelentsrl,

statisztikk

ksztsrl,

kiegszt

funkcik

integrlsrl. Strukturlt informcik, dokumentumok kzs elksztst, kezelst, s azok


strukturlt megjelentst a DMS (Document Management System, dokumentum kezel
rendszerek) segtik. A CMS ltalban kereshetsget, verzikvetst, s sok ms szolgltatst
biztost. A CMS-en igen gyakran, sajnos tvesen, azokat a webes alkalmazsokat rtik,
amelyek weboldalak, internetes portlok ksztsre, folyamatos karbantartsra frisstsre
hasznlatosak. A CMS olyan, ltalban webalap program, amely lehetv teszi vltozatos
adatok ltalban hypertext formtumban val dinamikus publiklst programozi tuds
nlkl. A sz egybknt mindenfle rendszerezett, decentralizlt publiklsi feladatot ellt
programrendszerre vonatkozik. Ilyen rtelemben vve teht egy vllalati / egyetemi /
brmilyen kzssgi hasznlat szmtgpes fellet. A CMS-ek legfontosabb tulajdonsga a
dinamizmus. A tartalmat, annak megjelenst megfelel jogosultsg esetn brmikor,
brhonnan meg lehet vltoztatni. Azokat a tartalomkezel rendszereket, amelyekre ez nem
rvnyes, Document Management Systemnek (DMS) nevezzk. Meglehetsen sokfle
tartalomkezel rendszer tallhat a piacon, a sok szabad licenc (s nylt forrs) CMS

mellett sok a kereskedelmi termk s az egyedi fejleszts is. A legtbb CMS a PHP
szerveroldali programozsi nyelven rdott, s MySQL adatbzist hasznl. Lteznek ingyenes
CMS-ek (pldul Drupal, e107, Joomla!, PHP-Nuke, PostNuke, magyar vonatkozsban
TextPortl), de sok a fizets is. A szinte univerzlis, elterjedt CMS-eken kvl rengeteg
kisebb, korltozottabb tuds CMS ltezik. [3.]

2. Alkalmazott eszkzk
2.1. XAMPP
A XAMPP egy alkalmazs-kiszolgl programcsomag, amelynek f elemeit az
Apache webszerver
MySQL adatbzis-kezel rendszer
PHP fordt
phpMyAdmin modul
alkotja.

XAMPP Control Panel

A XAMPP elnye, hogy minden lnyeges s emellett ingyenes kiszolglt egyest. Egy
csomagban megtallhat a webkiszolgl, adatbzis-kiszolgl, FTP-kiszolgl s a levelezkiszolgl, melyeket az brn XAMPP Control Panel segtsgvel knnyedn kezelhetnk.
Ezekbl mindig a legfrissebb verzi ll rendelkezsnkre, s a frisstseket is rvid id alatt
telepteni lehet. Emellett praktikus is, mert knny a szksges belltsokat elvgezni rajta.

2.2. Apache
Az Apache egy nagyon elterjedt, nylt forrskd webkiszolgl, amely szmos opercis
rendszeren rhet el. A fejlesztk clja az volt, hogy biztonsgos, hatkony s bvthet
szervert hozzanak ltre, ami tmogatja a HTTP szolgltatsokat, szinkronban a jelenlegi http
szabvnyokkal, melyeknek nagy rsze lefordtott modulok formjban ll rendelkezsre a
mag kiegsztseknt. A virtual hosting segtsgvel egyetlen Apache installci ki tud
szolglni tbb klnbz webhelyet is. Az Apache hibazenetei konfigurlhatak. Szmos
grafikus felhasznli fellet (rviden GUI) tmogatja a szerver knnyebb s intuitvabb
konfigurlst. Statikus s dinamikus weboldalak kzzttelre egyarnt hasznljk. Sok
webalkalmazst az Apache ltal nyjtott krnyezethez s szolgltatsokhoz terveznek. Az
Apache alkotja a webszerver komponenst az elbbiekben emltett XAMPP programcsomagban is. A webalkalmazsokat kszt szoftverfejlesztk is gyakran hasznlnak a
szemlyi szmtgpkn teleptett Apache webszervert a fejlesztett kd tesztelsre. Szmos
nagy honlap is az Apache webszervert hasznlja kiszolglknt. Az Apache a mai napig a
legnpszerbb webszerver az interneten, 1996 prilisa ta. [5.]

2.3. MySQL
A MySQL az egyik legnpszerbb adatbzis-kezel szoftver. A MySQL nyelv az angol
nyelvtan alapjn kerlt kialaktsra, mert a korbbi tervek szerint ezt a nyelvet nem
szmtstechnikai szakemberek rszre fejlesztettk ki. Ennek kvetkeztben hasznlata
egyszer, knnyen elsajtthat. Szmos platformon futtathat. Minden tulajdonsggal
rendelkezik, amivel egy adatbzis-kezel szoftvernek rendelkeznie kell, s szmos ms
relcis adatbzisrendszerrel ellenttben mg a kvetkez kpessgekkel is: tbbfle trol
motor, natv trol motorok, partnerek ltal fejlesztett trol motorok, kzssgi fejleszts
trol motorok, egyni fejleszts trol motorok, commitek csoportostsa, tbb tranzakci
fogadsa tbbfle kapcsolatrl, melyek meggyorstjk a tranzakcik lefolyst. Egyedi
illesztfelletekkel az adatbzis-kezel elrhet C, C++ , C#, Delphi, Eiffel, Smalltalk, Java,
Lisp, Perl, PHP, Python, Ruby s Tcl programozsi nyelvvel. [6.]

2.4. PHP
Trtnete

A nyelvet eredetileg Rasmus Lerdorf alkotta meg 1994-ben, de a ma ltez egyetlen (s


hivatalos specifikci hjn de facto szabvnny vlt) PHP implementcit mr a PHP Group
tartja karban s fejleszti. A PHP a sajt licence alatt kerl kiadsra, s a Free Software
Foundation szabad szoftverknt tartja szmon. A PHP fejldse kezdetn csak CGIprogramok halmaza volt. Ezeket Lerdorf nhny Perl szkript lecserlsre rta, amelyeket
honlapjnak karbantartsra (pldul nletrajznak megjelentsre s a ltogatottsg
mrsre) hasznlt. Ksbb ezeket a programokat kombinlta a szintn ltala rt Form
Interpreter (rlap-rtelmez) alkalmazssal - gy jtt ltre a PHP/FI, ami mr jval szlesebb
funkcionalitssal brt. Az j, C nyelven megrt vltozat kpes volt adatbzisokhoz kapcsoldni
s segtsgvel egyszer dinamikus weboldalakat is ltre lehetett hozni. Lerdorf 1995. jnius
8-n adta ki a PHP els nyilvnos vltozatt, hogy kls segtsggel gyorsabb tegye a hibk
megtallst s a kd tovbbi fejlesztst. Az j verzit PHP 2-nek nevezte el s mr

megtallhatak voltak benne a mai PHP alapvet tulajdonsgai: a Perl-hez hasonl vltozk,
az rlapok kezelse s a HTML-kd beszrsnak lehetsge. A PHP szintaktikja is hasonl
volt a Perl-hez, de annl jval korltoltabb, egyszerbb s kevsb egysges volt.1997-ben
Zeev Suraski s Andi Gutmans, kt izraeli fejleszt jrarta az rtelmezt, ezzel megteremtve
a PHP 3 alapjt - ekkor szletett meg a PHP j neve, a PHP: Hypertext Preprocessor rekurzv
rvidts is. A fejlesztcsapat 1997 novemberben, kt hnapnyi bta-tesztels utn kiadta a
PHP/FI 2-t, majd megkezddhetett a PHP 3 tesztelse s vgl megjelense 1998 jniusban.
Suraski s Gutmans ekkor megint a PHP-mag jrarsa mellett dnttt, amibl 1999-ben
megszletett a Zend Engine. A kt fejleszt ekkor alaptotta meg a Zend Technologies-t is,
ami mig aktvan ellenrzi a PHP fejlesztst. A Zend Engine 1.0 ltal hajtott PHP 4 2000.
mjus 4-n jelent meg. Ezt kvette 2004. jlius 13-n a kvetkez nagy mrfldknek
szmt, az j Zend Engine II-n alapul PHP 5. Az ts verzi sok jtst tartalmazott:
fejlettebb objektumorientlt programozsi lehetsgeket, a PDO (PHP Data Objects)
adatbzis-absztrakcis kiterjesztst, s sok teljestmnyt nvel javtst is. A PHP 4
fejlesztse 2007 vgn maradt abba, az utols megjelent verzija a 4.4.8 verziszmot viselte
- a PHP Group ezekhez s a PHP 4 elz vltozataihoz 2008 augusztusig biztost biztonsgi
frisstseket. Jelenleg a PHP 5 a nyelv egyetlen aktvan fejlesztett verzija. A hatos verzi br
mr fejleszts alatt ll, mg nem jelent meg. 2008. februr 4-tl a GoPHP5 kezdemnyezs
keretben tbb vezet PHP-alap szabad-szoftver projekt dnttt a PHP 4-tmogats
megszntetse mellett, hogy ezzel mozdtsk elre az ts verzira val ttrs folyamatt.

Mkdse

A PHP az egyik leggyakrabban hasznlt programozsi eszkz webes alkalmazsok


ksztshez. Knnyen illeszthet szinte brmelyik opercis rendszer kiszolgljhoz. A
programozsi nyelv eszkzei, a parancsok szintaktikja nagyban hasonltanak a C
programozsi nyelvre, gy akik C-ben mr tudnak programozni, nem lesz nehz dolguk a
nyelv elsajttsban. A PHP szkriptnyelv, ami azt jelenti, hogy a programunk kdjt szinte
brmilyen szvegszerkesztvel meg tudjuk rni, a lnyeg az, hogy a mentsnl egyszer
szvegformtumba, s .php kiterjesztssel mentsk el az llomnyunkat a webkiszolgl
megfelel knyvtrba. A legtbb HTML szerkeszt program kezeli a PHP kdokat, s

szmos olyan van kztk, ami klnbz sznekkel jelzi, hogy egy parancsot, vagy
valamilyen programozsi eszkzt hasznlunk-e. A szkriptnk fordtst minden alkalommal
elvgzi a kiszolgl szerver, amikor meghvjuk a szkriptet. Ez nmileg lassabb futst
eredmnyez, mintha egy korbban lefordtott programot futtatnnk, de ezrt cserbe
hordozhat kdot kapunk, ami azt jelenti, hogy a programjaink jelents rsze fut majd pldul
Linux s Windows alatt is. Ha a programjainkat krltekinten ksztettk el, akkor azok
teljes mrtkben hordozhatk lesznek. A szkript tpus nyelv nagy htrnya, hogy a kdban
megbj hibra csak akkor derl fny, ha a program futsa sorn arra a kdsorra lpnk, ahol
a hiba van, emiatt a program tesztelse nehzkess vlhat. Ha azt szeretnnk, hogy a
programunk logikailag is megfelel mdon mkdjn, akkor lehetsg szerint a program
minden gt le kell tesztelnnk. A bngsznk szmra a PHP kdjaink gy jelennek meg,
mintha azok HTML kdok lennnek. A PHP kd talaktsrl a webkiszolgl gondoskodik.
Maga a PHP kd is tartalmazhat HTML elemeket, melyek segtsgvel tudjuk szvegnket
formzni, illetve egyb mveleteket vgrehajtani rajta. Biztonsgi szempontbl nagyon fontos
dolog, hogy a bngsznk mr csak a vgeredmnyt kapja meg, mert gy maga a kd nem
ltszik, s semmi sem utal arra, hogy ott korbban egy msik nyelv kdja llt. A PHP
szkripteket, hasonlan ms HTML tag-hez, nyit- s zrcmkk kz kell zrni. [1.][2.][4.]

2.5. phpMyAdmin
A phpMyAdmin egy nylt forrs eszkz, amit PHP-ban rtak a MySQL menedzselsre az
interneten keresztl. Kpes

kszteni s eldobni adatbzisokat

kszteni, eldobni, mdostani tblkat

trlni, mdostani, hozzadni mezket

SQL parancsokat futtatni s a mezkn kulcsokat kezelni

Kpes az egsz MySQL szerver kezelsre pp gy, mint egyetlen adatbzisra.

3. Basketball Manager

3.1. A Basketball Manager clja


Az alkalmazs egy kosrlabda bajnoksg mrkzseinek adatait dolgozza fel. Ezt olyan
mdon teszi, hogy az adott mrkzsek utn a hazai csapat egyik kpviselje - akit az
adminisztrtor korbban regisztrlt kitlt egy online adatlapot, s elkldi az alkalmazs
szmra. Ezt kveten a megadott informcik kirtkeldnek, az adatbzisok frisslnek,
minden szksges szmts automatikusan vgrehajtdik. Az eredmny feltltst kveten
azonnal lthatak lesznek a megfelel helyeken a frisstett statisztikk, mint pldul a tabella,
eredmnyek, doblistk. Ebbl kvetkezen az adminisztrtornak csak karbantartsi feladatai
lesznek, gy jelentsen knnyebb lesz a feladata.

3.2. Kvetelmnyek
az adminisztrtornak teljes jogkre legyen
az alkalmazs csak az arra jogosultnak engedje meg, hogy mdostson a tartalmi
elemeken, ezen bell is csak a sajt mrkzsre vonatkozakon
kezelje a bevitt adatokban elfordul esetleges formai hibkat
biztostsa, hogy a feltlttt adatok minden szempontbl helyesek legyenek
egy mr elkldtt eredmnyt az adminisztrtor kivtelvel ne lehessen fellrni
senkinek
a trolt adatok rendezett formban trtn megjelentse

3.3. Felhasznlk, jogosultsgok

Felhasznlk:
Hrom tpus felhasznl van:
Adminisztrtor
Felhasznl
Vendg
Az felhasznlkat az adminisztrtor hozza ltre. Erre csak akkor van lehetsg, ha ltre lett
hozva az adott bajnoksg, s fel lett tltve csapatokkal. Az egyszer felhasznlk neve
minden esetben a csapatok neveivel egyezik meg.

Jogosultsgok:
Adminisztrtor
Teljes jogkre van, amelybe a kvetkezk tartoznak bele:
-

Felhasznlk ltrehozsa, trlse, listzsa

Bajnoksgok ltrehozsa, trlse

Csapatok ltrehozsa, trlse

Bajnoksgok rgztse

Jtkosok hozzadsa, trlse, listzsa

Eredmny bevitele (brmelyik)

Tabellk, eredmnyek, doblistk megtekintse

Jelsz megvltoztatsa

Egyszer felhasznl
-

Eredmny bevitele (csak a sajt csapatra vonatkoz)

Tabellk, eredmnyek, doblistk megtekintse

Jelsz megvltoztatsa

Vendg
A vendg nem jelentkezik be, csak informldhat a bajnoksgokrl.
-

Tabellk, eredmnyek, doblistk megtekintse

4. Az alkalmazs rszletes bemutatsa


4.1. Teleptsi tmutat
Az els teend a telepts sorn, hogy le kell tlteni, s telepteni kell a 3. pontban emltett
XAMPP

programcsomagot.

Ezt

legegyszerbben

http://www.apachefriends.org/en/xampp.html weboldalrl lehet megtenni, ahol a megfelel


opercis rendszer kivlasztsa utn le lehet tlteni a legfrissebb verzit. A letlttt fjl
futtatsval egyszeren vgig kell menni a teleptsen. Miutn ez sikeresen megtrtnt, el kell
indtani az XAMPP Control Panel-t, ahol kezelni lehet a programcsomag elemeit. Itt annyi a
feladat, hogy el kell indtani az Apache-ot s a MySQL-t. A kvetkez feladat az adatbzisok
ltrehozsa s feltltse. Ezt a phpMyAdmin segtsgvel lehet megtenni, amelyet egy
bngszt megnyitva lehet elrni el a http://localhost/phpmyadmin cmen. Itt annyi a teend,
hogy az Importls menpont alatt az importland fjlnak meg kell adni az alkalmazs
knyvtrban tallhat db.sql fjlt, amelynek vgrehajtsa utn ltrejnnek a szksges
adatbzisok. Ezutn mr csak az marad htra, hogy az alkalmazs knyvtrban tallhat
fjlokat be kell msolni a C:\XAMPP\htdocs knyvtrba, s a db.inc fjlt meg kell nyitni, s
szksgszeren mdostani a benne lv host nevet (ami az XAMPP esetn ltalban
localhost), a MySQL felhasznli nevet s a jelszt. Ezt elvgezve kszen van a telepts.

Az alkalmazs elrse a http://localhost cmen lehetsges. Alaprtelmezetten egy


adminisztrtor van ltrehozva, akinek a kvetkezek a belpsi adatai:
Felhasznli nv: admin
Jelsz: admin

4.2. Adatbzisok
Az alkalmazs 5 adatbzist hasznl:
bajnoksagok
Ez az adatbzis tartja nyilvn az egyes bajnoksgokon bell a csapatokat, s a tabella
szempontjbl fontos statisztikai elemeket: csapat neve, lejtszott mrkzsek szma,
gyzelmek szma, veresgek szma, dobott pontok, kapott pontok, ezeknek klnbsge,
s a szzalkos mutat. Alaprtelmezetten az adatbzis res.

Egy tbla szerkezete az adatbzisban

eredmenyek
Ez az adatbzis trolja az adott bajnoksgokhoz tartoz eredmnyeket, a mrkzsek
adatait: csapatok nevei, dtum, jtkvezetk, vgeredmny, negyedek eredmnyei, plyra
lp jtkosok nevei, a jtkosok ltal dobott pontok s hrompontosok.
Alaprtelmezetten ez is res.

Egy tbla szerkezete az adatbzisban

jatekosok
Ebben az adatbzisban tallhat az adott bajnoksgban szerepl jtkosok egyni
statisztiki: nv, csapat, sszes dobott pont, hrompontosok, lejtszott mrkzsek.
Alaprtelmezs szerint ez az adatbzis is res.

Egy tbla szerkezete az adatbzisban

lezart
Ennek az adatbzisnak az a funkcija, hogy nyilvntartsa azokat a bajnoksgokat,
amelyeket az adminisztrtor lezrt. Ez azt jelenti, hogy nem lehet hozzadni tbb
csapatot az adott bajnoksghoz, s elkezddhet az eredmnyek feltltse. E nlkl egy
j csapat hozzadsa esetn hibsan jelenhetnnek meg egyes adatok. Az adatbzis
szerkezetnek nincs klnsebb fontossga, az alkalmazs csak a tblk neveit
vizsglja.

login
Ez az adatbzis a felhasznlk nyilvntartst vgzi el. Egy tblja van, a members.
Ebben a tblban tallhat meg az sszes felhasznl, s a hozzjuk tartoz adatok:
azonost, felhasznlnv, jelsz, e-mail cm, bajnoksg. Alaprtelmezetten egy
felhasznl van benne, az adminisztrtor.

A tbla szerkezete s tartalma

4.3. Az alkalmazs mkdse


4.3.1. Foldal, bejelentkezs
Az alkalmazst ignybevev felhasznlt a kvetkez oldal fogadja elszr:

Foldal

Itt egy bejelentkezsi ablak lthat, s hrom menpont. Mint a korbbiakban is sz volt rla,
hrom tpus felhasznl van: az adminisztrtor, a felhasznl s a vendg. A vendgek
szmra a bejelentkezs alatt lthat hrom menpont rhet el. Itt informldhatnak az egyes
bajnoksgok tabellirl, eredmnyeirl s doblistirl. Az oldalra szabad regisztrci nincs,
felhasznlkat csak az adminisztrtor hozhat ltre. A bejelentkezs sorn az alkalmazs gyel
arra, hogy csak az tudjon belpni, aki berta a pontos felhasznli nevt s jelszavt. Minden
ms esetben tirnytja egy j oldalra, amin Hibs felhasznli nv vagy jelsz zenet
jelenik meg, majd rgtn visszakldi a bejelentkezsi oldalra. Vdelemre van szksg az

illetktelen behatolk ellen is. Ebben a stripslashes() s a mysql_real_escape_string()


fggvnyek segtenek, amelyek letiszttjk a felhasznlnvknt vagy jelszknt megadott
esetleges forrskdokat, amelyek manipullhatjk az alkalmazs mkdst vagy illetktelen
behatolst biztosthatnak. Abban az esetben, ha valaki elfelejtette a jelszavt, a Bejelentkezs
alatt lv Elfelejtett jelsz linkre kattintva megadhatja a felhasznli nevt s a
bajnoksgot, amiben szerepel. Ezt kveten az alkalmazs automatikusan kikldi neki a
jelszavt a felhasznli neve mell regisztrlt e-mail cmre.

4.3.2. Sikeres bejelentkezs

A bejelentkezskor megadott adatokat a checklogin.php fjl vizsglja meg. Attl fggen,


irnytja tovbb a bejelentkezt, hogy adminisztrtor vagy felhasznl. Az els esetben az
index1.php a cl, a msodikban az index2.php. Bejelentkezs utn fontos a felhasznlk
nyomon kvetse, jogosultsgaik betartatsa. Ehhez session-kre (munkafolyamat) van
szksg. A sikeres bejelentkezs utn az alkalmazs session-k segtsgvel kveti nyomon a
felhasznlt. Ltrejn kt session vltoz, a user s a login. Ezek szupergloblis vltozk,
amelyek a szkriptnk brmely rszbl elrhetk. A session vltozk a szerveren troldnak
mindaddig, amg be nem zrjuk a bngszt, vagy le nem jr az lettartamuk. Hasznlathoz
elszr el kell indtani a munkamenet kezelst. A checklogin.php-ban ltrehozott user
session vltoz a bejelentkezett felhasznl nevt fogja megkapni, mg a login egy logikai
true rtket. Ezeknek a kijelentkezsig meg fog maradni az rtkk, s az egyes oldalak meg
tudjk vizsglni ezeknek az rtkeik alapjn betltskor, hogy az adott felhasznl jogosult-e
a hasznlatukra. A sikeres bejelentkezs utn teht vagy az adminisztrtori fellet, vagy a
felhasznli fellet fog megjelenni.

4.3.3. Adminisztrtori fellet

Az adminisztrtori bejelentkezs utn az index1.php oldalra lesz irnytva az adminisztrtor,


amelyet a kvetkez bra szemlltet:

Adminisztrtori fellet

j felhasznl
j felhasznl ltrehozsa csak abban az esetben lehetsges, ha van mr ltrehozva
bajnoksg, s azon bell csapatok. Ekkor az j felhasznl menpont kivlasztsa utn
ki kell vlasztani a bajnoksgot, amelyben a felhasznl rszt vesz, ezt kveten pedig
meg kell adni a nv, jelsz s e-mail cm adatokat:

Felhasznl hozzadsa

A felhasznl neve nem tetszleges, csak az adott bajnoksgban szerepl csapatok nevei
lehetnek. Ez egy legrdl listbl vlaszthat ki. Termszetesen a megadott adatok
ellenrzsen mennek keresztl, s csak akkor jn ltre az adott felhasznl, ha minden
adat meg lett adva, s az e-mail cm is megfelel formtum. Ezt kveten az alkalmazs
automatikusan e-mailt kld a megadott e-mail cmre a felhasznl adataival. A
bejelentkezs ezekkel az adatokkal azonnal vgrehajthat lesz. A folyamat sorn a login
adatbzis members tblja bvl egy jabb elemmel.

Felhasznlk listja
Ennek a menpontnak a segtsgvel a kivlasztott bajnoksgban ltrehozott felhasznlk
listja tekinthet meg, ami az adminisztrtor szempontjbl fontos lehet.

Felhasznl trlse
Itt a korbban ltrehozott felhasznlk tvolthatk el, amivel a jogosultsgaik is
megsznnek az oldalon.

Felhasznl trlse

Szintn a bajnoksg kivlasztsa szksges hozz elszr, majd a legrdl listban


megjelennek a ltez felhasznlk, akiket egy gombnyomssal el lehet tvoltani. Ez
semmilyen trolt adatra nem lesz befolyssal, kizrlag a felhasznl sznik meg.

j bajnoksg
Ebben a menpontban lehet ltrehozni az j bajnoksgokat. Ez a legels feladat a
bajnoksgok kezelse sorn. Mint a korbbiakban is sz volt rla, erre pl tbbek kztt
a felhasznlk ltrehozsa is. Ez egyszeren megtehet, csak egy nevet kell megadni.

Bajnoksg ltrehozsa

Arra gyelni kell, hogy ezutn mindenhol ez a nv fog megjelenni. A megads sorn
lthat az eddig ltrehozott bajnoksgok listja, ami egy j ltrehozsakor azonnal bvlni
fog. Ez tbb bajnoksg esetn segti a nyilvntartst. Ltrehozsa utn a bajnoksagok
adatbzisban ltrejn egy tbla a bajnoksg nevvel, valamint a jatekosok adatbzisban
is, hogy egy csapat ltrehozsa utn azonnal fel lehessen tlteni azt jtkosokkal.

Bajnoksg trlse
Ezzel a menponttal nagyon vatosan kell bnni, mert hasznlata esetn azonnal trli
minden adatbzisbl az adott bajnoksgra vonatkoz sszes informcit: a tabellt, az
eredmnyeket s a jtkosokat. Ez nagy bosszsgot okozhat, hiszen akr egy teljes
szezon sszes adatt semmisthetjk meg pillanatok alatt. Hasznlata sorn egyszeren
egy legrdl listbl kell kivlasztani az eltvoltand bajnoksg nevt.

Csapat hozzadsa
Ennek a folyamata kt lpsbl ll. Elszr ki kell vlasztani a bajnoksgot, amihez
csapato(ka)t szeretnnk hozzadni, s meg kell adni, hogy hny darabot: (Ksbb van
lehetsg tovbbi csapatok hozzadsra a bajnoksg lezrsig.)

Csapat hozzadsa 1.

Msodszor meg kell adni a csapatok neveit:

Csapat hozzadsa 2.

Ennek sorn a megadott csapatok bekerlnek a bajnoksagok adatbzis kivlasztott


bajnoksgnak tbljba, s megkapjk az alaprtelmezett rtkeiket.
Pl.: (csapat1,0,0,0,0,0,0,0)

Csapat trlse
Csapat trlse csak akkor lehetsges, ha az adott bajnoksg nem lett mg lezrva, mert az
ezt kveten trtn bvts hatsra az informcik hibsan jelennnek meg. Lezrt
bajnoksg esetn a csapat csak akkor tvolthat el, ha a teljes bajnoksgot trljk.

Bajnoksg rgztse
A bajnoksg rgztsnek az a clja, hogy egy adott bajnoksg elkezdse utn ne legyen
lehetsg a csapatok szmnak bvtsre, illetve a rgzts eltt ne lehessen adatokat
lekrdezni.
A rgzts eltt elszr ellenrzsre kerl, hogy nem volt-e mr korbban rgztve a
bajnoksg. A rgzts vgrehajtsval a kvetkez folyamatok mennek vgbe:
-

eredmenyek adatbzis tartalmnak bvtse a bajnoksg nevvel megegyez


tblval
A tblnak annyi rekordja lesz, ahny megrendezend mrkzs van a
bajnoksgban. Az rekordok els kt eleme a csapatok lesznek. A tbbi elem az
adott mrkzsre vonatkoz adatok lesznek, amelyek alaprtelmezetten NULL
rtket kapnak. Ez mindaddig ilyen rtk marad, amg fel nem tlti valaki a
mrkzs eredmnyt.

lezart adatbzis tartalmnak bvtse a bajnoksg nevnek megegyez tblval


A tbla tartalma nem lesz lnyeges, mert csak azt a clt fogja szolglni, hogy
nyilvntartja a rgztett bajnoksgok nevt, s a tbla nevnek segtsgvel ezt
lehet ellenrizni.

A jatekosok adatbzis mr a csapatok ltrehozsnl fel lett tltve a bajnoksghoz


tartoz tblval. Ennek az az oka, hogy a bajnoksgok lezrsa eltt is lehetsg legyen
mr jtkosokat adni a csapatokhoz.

Jtkos hozzadsa
Jtkos hozzadsa eltt szksges, hogy legyen ltrehozva bajnoksg, s ezen bell
csapat. Ezek kivlasztsa utn meg kell adni a hozzadand jtkosok szmt. Majd ezt
kveten a jtkosok nevt:

Jtkos hozzadsa 1.

Csapat hozzadsa 2.

A jtkosok a jatekosok adatbzis megfelel tbljban fognak ltrejnni, ami a


megadott bajnoksghoz tartozik. Itt van trolva a jtkos neve, csapata, az ltala dobott
pontok, hrompontosok, s a lejtszott mrkzsek szma.

Jtkos trlse
Egyszeren vgrehajthat a bajnoksg s a csapat kivlasztsa utn brmelyik jtkos
trlse. A trlssel megsemmislnek a jtkos egyni statisztiki is.

Jtkosok listzsa
Adott bajnoksgbl kivlasztott csapat tagjai tekinthetk meg a menpont segtsgvel.

A fentiekben ismertetett funkcik azok, amelyek hasznlatra kizrlag az adminisztrtor


jogosult. A tovbbiakban a felhasznli felletet s a vendgek szmra elrhet elemeket
fogom bemutatni. Ezek szintn elrhetk az adminisztrtor szmra, de rajta kvl mr ms is
ignybe tudja venni.

4.3.4. Felhasznli fellet

A felhasznli felleten megjelen menpontok elrhetek az adminisztrtori felletrl is, az


adminisztrtor szmra. Bejelentkezs utn az index2.php fog betltdni. Az oldal bal fels
sarkban megjelenik a bejelentkezett felhasznl neve, s az elrhet menpontok:

Felhasznli fellet

Eredmny bevitele
Eredmnyek bevitele akkor lehetsges, ha ltre lettek hozva az adott bajnoksgban a
csapatok s a jtkosok, s a bajnoksg le lett zrva. Eredmny bekldsnl az adott
felhasznl csak a sajt csapata ltal jtszott mrkzs eredmnyt tudja bekldeni, ms
mrkzs eredmnynek bevitelre nincs jogosultsga, gy elkerlhet a jogosulatlan
hasznlat. Az adminisztrtor ltal trtn hasznlat sorn brmelyik eredmny
bekldsre van lehetsg. A bevitel eltt elszr ki kell vlasztani a bajnoksgot, majd
meg kell adni a hazai s a vendg csapat nevt. Ezt kveten automatikusan megjelenik
egy oldal, amely a mrkzsre vonatkoz adatokat kri be:

Eredmny bevitele

A kitltend elemek:
-

Dtum

Itt fontos, hogy megfelel formtumban adja meg a felhasznl a dtumot, mert ez
alapjn lesz idrendbe tve a megjelentett eredmnyek listja. Hibs dtumformtum
megadsa esetn hibazenet jelenik meg.
-

Jtkvezetk

A mrkzsen kzremkd jtkvezetk nevt kell megadni. Ez szintn az


eredmnyek

menpont

alatt

fog

megjelenni,

mrkzssel

kapcsolatos

informciknt.
-

Vgeredmny

Vgeredmny megadsnl ellenrzsre kerl, hogy nem-e lett megadva egyenl lls.
Mivel a kosrlabdban nincs dntetlen, itt sem lehet ilyet megadni. Ebben az esetben
is hibazenet jelenik meg.
-

Negyedek eredmnyei

Ezek megadsnl fontos, hogy a negyedek eredmnyeinek sszege (s az esetleges


hosszabbts) egyezzen a vgeredmnnyel. Ennek hinyban szintn hibazenet
lthat majd.
-

Dobk

Egy csapatban maximum 12 jtkos szerepelhet, gy 12 jtkos lthat itt is. A


jtkosok legrdl listbl vlaszthatk ki, ami megknnyti a felhasznl dolgt,
nem kell minden jtkos nevt egyenknt berni. A kivlasztott jtkosok utn
ktelez megadni a dobott pontok sszegt, illetve az esetlegesen dobott
hrompontosok sszegt is. Az elklds utn ellenrzsre kerl, hogy a jtkosok ltal
dobott pontok sszege megegyezik-e a vgeredmnnyel, minden kivlasztott
jtkoshoz lett-e pont hozzrendelve, valamint lett-e pont hozzrendelve jtkoshoz
gy, hogy nem lett a neve kivlasztva. Brmilyen eltrs esetn hibazenet lesz
lthat.

Fontos, hogy a felhasznl minden adatot megadjon, mert addig nem tudja bekldeni
az eredmnyt a mrkzsrl. A sikeres beklds utn azonnal frisslnek a
bajnoksag, eredmenyek s jatekosok adatbzisok megfelel tbli. A kvetkez
menpontok ezeknek az adatbzisoknak a tartalmra fognak tmaszkodni.

Tabellk
A bajnoksg kivlasztsa utn megjelenik a hozztartoz tabella. Ebben megjelentsre
kerl a bajnoksagok adatbzis adott bajnoksgra vonatkoz tbljnak tartalma
tblzatba rendezve:

Tabella

Ebben a rangsorols hrom szempont szerint trtnik:


-

1. Arny
Az arny a kvetkez kplet alapjn kerl kiszmtsra a kosrlabdban:
arny=(2*nyert_mrkzs+vesztett_mrkzs)/(2*sszes_mrkzs).

2. Klnbsg
A dobott s a kapott pontok klnbsge.

3. Dobott pont
A tbb dobott pont szerint.

Eredmnyek
A kivlasztott bajnoksghoz tartoz eredmnyek jelenthetk meg. Ez az eredmenyek
adatbzis tartalmnak segtsgvel megy vgbe, ez jelenik meg rendezett formban dtum
szerint rendezve az oldalon:

Eredmnyek

Doblistk
Adott bajnoksgban rszt vev jtkosok rangsorolsa az ltaluk dobott sszes pont,
valamint hrompontos alapjn. Ez a jatekosok adatbzis tartalmnak segtsgvel
trtnik.

Doblistk

A tabellk, az eredmnyek s a doblistk menpont termszetesen az adminisztrtor


szmra is elrhet.

Jelsz megvltoztatsa
Ennek segtsgvel brmelyik felhasznl belertve az adminisztrtort is
megvltoztathatja a jelszavt. Ehhez az szksge, hogy megadja a rgi jelszavt, majd az
j jelszavt ktszer. Ekkor ellenrzsre kerl a rgi jelsz helyessge, s amennyiben ez
rendben van, az j jelsz fellrja a rgit a login adatbzis members tbljnak
megfelel rekordjban. A jelsz elfelejtse esetn lehetsg van kikldsre e-mailben a
bejelentkezskor lthat link segtsgvel.

Kilps
A kilps sorn a felhasznl ltal hasznlt session lell, s megsznnek a session
vltozk. gy megsznik a felhasznl jogosultsga a vdett oldalak megtekintshez,
hasznlathoz a kvetkez sikeres bejelentkezsig. A kilps utn a bejelentkezsi oldal
fog betltdni.

4.3.5. Vendg

A vendgek szmra lehetsg van bejelentkezs nlkl is a foldalon keresztl


informldni a bajnoksgokrl. Ez hrom menponthoz val hozzfrst biztost:
Tabellk, Eredmnyek s Doblistk.

5. Az alkalmazs tovbbfejlesztsnek lehetsge


Az alkalmazs ebben a formjban az elvrt funkcik vgrehajtsra teljes mrtkben
alkalmas. Felmerlhet az igny esetlegesen, hogy az alkalmazs ms feladatok elvgzst is
meg tudja valstani. Ha a kosrlabda tmjnl maradunk, elvrs lehet pldul egyes hrek,
informcik megjelentse a nagykznsg szmra, valamint a design fejlesztse is. Erre az
egyik megolds lehet az eddig alkalmazott md, fejleszts a fentebb emltett, s egyb
eszkzk segtsgvel. Msrszt viszont nagyban gyorsthatja a feladat megoldst a
tartalomkezel rendszerek hasznlata. Ezekrl mr a szakdolgozat 2. fejezetben is esett sz.
A tartalomkezel rendszerek segtsgvel rvid id alatt felpthetnk egy alapot, amelyet a
szleskr tmogats segtsgvel hamar tovbbfejleszthetnk olyanra, amilyenre szeretnnk.
Ilyen tartalomkezel rendszer pldul a Joomla! :

Alaprtelmezett Joomla! kezdlap

Teleptse mindssze nhny egyszer lpsbl ll, az asztali programokhoz hasonlan csak
a varzsl utastsait kell kvetni. A Joomla!, mint keretrendszer a fejleszti kzssgnek
lehetsget ad az alapfunkcik kibvtsre, s knnyen telepthet kiegsztkkel lehet j
funkcit adni a weblapnak. Pldul: frumok s magnzenetkld komponensek, blogok,
naptrak, kptrak, dokumentumkezels, stb.
Ezek kztt a bvtmnyek kztt megtallhat olyan is, amely az ltalunk rt php kdot
futtatja. Ennek segtsgvel pldul a Basketball Manager alkalmazs elemei begyazhatk a
tartalomkezel rendszerbe, s ennek keretein bell tudjuk kihasznlni az ltala nyjtott
lehetsgeket. [7.][8.]
Az alkalmazs tovbbfejlesztsnek termszetesen szmos tovbbi mdja ltezik.

sszefoglals
Az alkalmazs remnyeim szerint nagy segtsget nyjt majd azoknak, akik a kosrlabdban
brmilyen szerepet tltenek be, legyen akr jtkos, szurkol vagy adminisztrtor. Nyitott a
lehetsg az alkalmazs tovbbfejlesztsre is, amelyet a jelentkez ignyek szerint meg is
lehet majd valstani, akr a fent emltett mdon is. Manapsg egyre tbb esetben
alkalmazzk a dinamikus megjelents eszkzeit, mert szmos olyan lehetsget biztost,
amelyet egy statikus weboldal nem tudna megadni. Az eszkzk bemutatsa sorn lthattuk,
mi szksges egy ilyen alkalmazs megvalstshoz. Ennek elksztse elszr nagy
kihvsnak tnt szmomra, mivel alapszintrl kezdtem el a munkt, sajttottam el a
szksges tudsanyagot. Ennek sorn szmos krds, kihvs merlt fel szmomra, de ezek
teljestsvel egyre nagyobb gyakorlatot szereztem. Ebben nagy segtsget jelentettek az
interneten lv, programozssal kapcsolatos frumok, melyekben ltalban szinte azonnal
megtallhat volt a keresett megolds egy problmra, valamint a tmhoz tartoz
szakirodalom.
gy gondolom, az alkalmazs elksztsvel s bemutatsval elrtem clomat, amely az volt,
hogy szemlltessem a dinamikus megjelents elnyeit, s ennek segtsgvel egy adott
tmakrhz tartoz feladatok megoldst leegyszersthessem.

Irodalomjegyzk
[1.] Matt Zandstra Tanuljuk meg a PHP5 hasznlatt 24 ra alatt
Kiskapu Kiad, 2005.

[2.] Sgi Gbor Webes adatbzis-kezels MYSQL s PHP hasznlatval


BBS-INFO, 2005.

Internetes forrsok:
[3.] Dinamikus weboldalak
http://prog.hu/cikkek/180/Dinamikus+weboldalak.html

[4.] PHP
http://www.php.net

[5.] Apache HTTP Server Project


http://httpd.apache.org/

[6.] MySQL
http://www.mysql.com/

[7.] Nagy Gusztv Webes tartalomkezel rendszerek


http://nagygusztav.hu/sites/default/files/WebesTKRek_jegyzet_1.0.pdf

[8.] Magyar Joomla! felhasznlk Nemzetkzi Egyeslete


http://www.joomla.org.hu/

Ksznetnyilvnts
Ezton szeretnk ksznetet mondani
-

Dr. Bujdos Gyngyinek, aki vllalta szakdolgozatom tmavezetst, s


javaslataival segtette munkmat

Szleimnek, akik mindvgig tmogattak egyetemi tanulmnyaim sorn