PHP
Okt. 22-28
Határidő: Nov. 18.
Követelmények |
Laborházik |
Dokumentáció
E laborházi lényege:
- a PHP script nyelv alapvető lehetőségeinek ismerete és alkalmazása
Követelmények:
- Beküldendő csatolt állomány neve: W03_<sorszám>_<felhasználónév>.zip (Pl. W03_05_xy52142.zip)
- "Subject":W03_<sorszám> (pl. W03_05)
- A levél tartalma:
A bejelentkező oldal (lásd I. pont) elérési útja (www.scs.ubbcluj.ro/~<felhasználónév>/<fantázianév>/<bejelentkező oldal neve>)
hallgató neve, csoportja, a feladat száma és szövege
Laborházik:
Megj.: A feladat I. részében leírtak mindenkire vonatkoznak, a II. részben a feladat egyénre szabott része szerepel
(mindenki a sorszáma szerinti feladatot választja).
I.
-
PHP scriptet használva készítsünk egy bejelentkező (login) oldalt, mely lehetőséget biztosít:
- a már regisztrált felhasználók bejelenkezésére
- új felhasználók regisztrálására (a II. a) pontban megadott feltételek alapján)
A regisztrált felhasználók adatait tároljuk a szerveren (adatbázisban vagy állományban).
-
A II. b) pontban megadott feladatnak megfelelő oldal elérése csak sikeres bejelentkezés után legyen lehetséges.
- Legyen lehetőség a kijelentkezésre
- (opcionális: ha már bejelentkezett felhasználó írja be a login oldal URL-jét, irányítsuk át egyenesen a II. b) pontban megadott
oldalra)
- (opcionális: regisztrációs adatok módosítása)
II.
-
a)
Regisztrációhoz szükséges adatok:
- felhasználónév - csak kisbetűket (max. 10 karakter) tartalmazhat
- felhasználó civil neve (vezetéknév, keresztnév)
- felhasználó életkora
- jelszó (min. 6, max. 10 karaktert tartalmazzon, legyen benne betű és számjegy is)
- e-mailcím (amit nem kötelező megadni)
Az utolsót kivéve, az összes többi adatot kötelező legyen megadni a sikeres regisztrálás érdekében.
A feltételeket írjuk is ki (eleve vagy csak sikertelen próbálkozás esetén), hogy a felhasználó tudja mit hogyan kell megadnia
ahhoz, hogy sikeresen regisztrálhasson.
b) Közös kvíz készítés:
- bármely regisztrált és bejelentkezett felhasználó:
- bevihet új kérdéseket
(az egyszerűség kedvéért nem muszáj kategóriákba sorolni a kérdéseket)
Minden bevitt kérdés esetén 4 lehetséges választ is kötelező megadni és meg kell jelölni a
helyes választ.
- indíthat egy tesztet, melyben x számú, véletlenszerűen kiválasztott kérdésre kell válaszolnia.
Garantálni kell, hogy a kérdések között csak a mások által bevitt kérdések szerepelhessenek.
Minden válasz után írjuk ki, hogy helyes volt-e vagy sem, majd a végén összesítsük az elért pontszámot.
Tároljuk az eddig elért legjobb pontszámot, és a végén mindig írjuk ki ezen felhasználó(k) adatait (a felhasználónév
és jelszó kivételével...).
-
a)
Regisztrációhoz szükséges adatok:
- felhasználónév - csak kisbetűket, számjegyeket vagy "_" karaktert tartalmazhat (max. 10 karakter)
- felhasználó civil neve (vezetéknév, keresztnév)
- felhasználó foglalkozása (nem kötelező)
- jelszó (min. 6, max 10 karaktert tartalmazzon, legyen benne kis- és nagybetű is)
- e-mailcím
A foglalkozást kivéve, az összes többi adatot kötelező legyen megadni a sikeres regisztrálás érdekében.
A feltételeket írjuk is ki (eleve vagy csak sikertelen próbálkozás esetén), hogy a felhasználó tudja mit hogyan kell megadnia
ahhoz, hogy sikeresen regisztrálhasson.
b) értelmező szótár készítés:
-
bármelyik felhasználó rákereshet (reguláris kifejezésre illeszkedő) szavakra (anélkül, hogy bejelentkezne),
és válaszul link-listát kap az illeszkedő szavakkal (vagy hibaüzenetet, ha nincs találat)
A megfelelő linkre kattintva a szóhoz fűzött magyarázat is megjelenik
- regisztált és bejelentkezett felhasználók
- ugyanúgy rákereshetnek szavakra, viszont ők azt is látják, hogy melyik megjegyzést milyen azonosítójú illetve nevű
felhasználó írt be
- új szavakat vihetnek be:
meg kell adni a szót, és a hozzá fűzött magyarázatot (már létező szóhoz nem lehet újabb magyarázatot fűzni)
- módosíthatja az általa korábban bevitt magyarázatokat
- törölheti az általa bevitt szót
- üzenetet küldhet egy bizonyos azonosítójú felhasználónak
- megjelenítheti az üzeneteket, amiket neki írtak más felhasználók, illetve egyenként törölheti ezeket
-
a)
Regisztrációhoz szükséges adatok:
- felhasználónév - csak betűket vagy számjegyeket tartalmazhat (min. 3, max. 10 karakter)
- felhasználó civil neve (vezetéknév, keresztnév)
- felhasználó fedőneve (nem kötelező)
- felhasználó kedvenc színe (néhány előre megadott közül)
- jelszó (min. 8, max 15 karaktert tartalmazzon, legyen benne kis- és nagybetű egyaránt)
- megjegyzés (amit nem kötelező kitölteni)
A fedőnevet illetve megjegyzés mezőket kivéve, az összes többi adatot kötelező legyen megadni a sikeres regisztrálás
érdekében.
A feltételeket írjuk is ki (eleve vagy csak sikertelen próbálkozás esetén), hogy a felhasználó tudja mit hogyan kell megadnia
ahhoz, hogy sikeresen regisztrálhasson.
b) Foto-kiállítás, értékelés
- bármelyik felahsználó
- megtekintheti a foto-kiállítás képeit, illetve láthatja, hogy melyik képet ki töltötte fel
(ha az illető felhasználó regisztráláskor megadott egy fedőnevet, akkor csak az jelenik meg)
- statisztikát kérhet a pontozásnál (lásd lennebb) eddigi legnagyobb átlagot elért fotókról
(hányan értékelték, illetve átlag),
illetve kép-tulajdonosokról (képek száma, értékelt képek száma, képenként elért átlagpontszámok átlaga)
-
regisztált és bejelentkezett felhasználók esetén
- a háttér a kiválasztott kedvenc színnek megfelelő legyen
- újabb képet tölthetnek fel vagy általuk korábban feltöltött képet törölhetnek
- ugyanúgy megtekinthetik a foto-kiállítást illetve eredményeket, ezen kívűl értékelhetik a mások képeit
(1-től 5-ig terjedő skálán)
- kitüntetett helyen látják a saját eddigi eredményüket
-
a)
Regisztrációhoz szükséges adatok:
- felhasználónév - csak betűket, számjegyeket, vagy " " karaktert tartalmazhat (max. 15 karakter)
- felhasználó civil neve (vezetéknév, keresztnév)
- felhasználó címe (nem kötelező)
- jelszó (min. 8, max 15 karaktert tartalmazzon, legyen benne kisbetű, nagybetű és számjegy is)
- a felhasználó kedvenc ennivalója (nem kötelező, viszont ha megadja, akkor ki kell választania egy listából, hogy
a beírt étel milyen kategóriába tartozik)
A címet illetve ennivalót kivéve, az összes többi adatot kötelező legyen megadni a sikeres regisztrálás érdekében.
A feltételeket írjuk is ki (eleve vagy csak sikertelen próbálkozás esetén), hogy a felhasználó tudja mit hogyan kell megadnia
ahhoz, hogy sikeresen regisztrálhasson.
b) Menza
Egy adatbázisban az alábbi kategóriájú ételek szerepelnek (mindeniknek meg van adva az ára is):
leves, második fogás, desszert, ital.
"Naponta" (hogy egyszerűbben tesztelhető legyen, ez jelentheti azt, hogy x percenként) generáljunk új menüt a menza
számára, ami azt jelenti, hogy mindenik kategóriából két-két ételt választunk ki mindenik kategóriából.
Amikor egy felhasználó bejelentkezik,
jelenjen meg a napi menü, és a felsorolt ételek közül bármelyiket lehessen
kiválasztani, majd a rendelést lehessen elküldeni.
A rendelés akkor évényes csupán, ha egy bizonyos xx összeget nem halad meg, különben írjunk ki hibaüzenetet.
Érvényes rendelés esetén írjuk ki a kiválasztott ételek listáját, az összeget, amibe kerül, illetve, ha a felhasználó
regisztráláskor megadta a címét, akkor azt is, hogy a menü a megadott konkrét címre 1 órán belül ki lesz szállítva.
Ha egy felhasználó regisztráláskor először adja meg a kedvenc ételét (vagyis ha később módosítja, ez már nem érvényes),
akkor arra az ennivalóra kapjon minden adódó alkalommal 50%-os kedvezményt (ha még nem szerepel az adatbázisban az
illető étel, akkor kerüljön bele egy -...véletlenszerűen generált- árral).
(Ha valaki módosítja a regisztráláskor megadott kedvenc ételét, és az nem szerepelt korábban az adatbázisban és nem is
valaki mának a kedvence, töröljük azt a menza listájáról.)
-
a)
Regisztrációhoz szükséges adatok:
- felhasználónév - csak betűket vagy számjegyeket tartalmazhat (max. 12 karakter)
- felhasználó civil neve (vezetéknév, keresztnév)
- felhasználó születési dátuma (évszám nem kötelező)
- jelszó (min. 6, max 10 karaktert tartalmazzon, legyen benne nagybetű és számjegy is)
- felhasználó csoportszáma (nem kötelező)
A születési évet és a csoportszámot kivéve, az összes többi adatot kötelező legyen megadni a sikeres regisztrálás érdekében.
A feltételeket írjuk is ki (eleve vagy csak sikertelen próbálkozás esetén), hogy a felhasználó tudja mit hogyan kell megadnia
ahhoz, hogy sikeresen regisztrálhasson.
b) Online zsibvásár
Bármely regisztrált és bejelentkezett felhasználó:
-
Felkínálhat új árut:
- bevisz új árut (áru neve, mértékegység, mennyiség, egységár kezdeti értéke, max.
mennyi ideig lehet rá licitálni, (esetleg: kép az illető termékről)),
-módosíthatja vagy törölheti az általa korábban bevitt vmelyik áru adatait
-
Nézegetheti az árukat és licitálhat rájuk:
- azaz megadja, hogy milyen mennyiségre lenne szüksége (ez nem lehet nagyobb, mint az eredetileg megadott mennyiség),
és milyen egységárat kínál érte (ez nem lehet kisebb a megadott kezdeti értéknél).
A többiek által felkínált összegeket (addigi licit) nem látja, csak azt, hogy eddig hányan licitáltak az illető
termékre.
Ha a termék licitre bocsátása óta eltelt a megadott max. idő vagy már x különböző felhasználó licitelt rá, akkor
az illető termék el lesz árverezve (a legtöbbet ígérő felhasználó(k) tulajdonába kerül az igényelt illetve a még
rendelkezésre álló mennyiség). Ha nem kelt el az illető termékből a teljes mennyiség, a maradék visszakerül a
tulajdonos birtokába, de mindenképpen lekerül a licitre bocsátott termékek listájáról.
-
Kilistázhatja a tulajdonában levő termékek adatait (általa bevitt és valamikor licitre bocsátott, illetve szerzett
termékek).
Hasznos hivatkozások: