A PHP programozási nyelv

További információk

1. Dátumellenőrzés

Feladat:
Reguláris kifejezések felhasználásával ellenőrizzük le, hogy a felhasználó által megadott dátum valóban dátum-e! Elég az 1900. jan. 1. és 2100 dec. 31. közti dátumokat ellenőrizni.

datum.zip .

Szerző neve: Karácsony Orsolya
Készítés éve: 2008.

2. Fórum

Feladat:
Készítsünk internetes fórumot! Először kérjük be a felhasználónevet és a jelszót, majd ellenőrizzük azok helyességét. A beléptetés után jelenjenek meg a korábbi hozzászólások; a legújabb legfelül - és természetesen legyen lehetőség hozzászólásra és kilépésre. Jegyezzük meg az adatokat a böngésző bezárása esetén (session-ök használata).

forum.zip .

Szerző neve: Karácsony Orsolya
Készítés éve: 2008.

3. Pizzarendelés

Feladat:
A jól ismert pizzarendelő oldalakhoz hasonló létrehozása, minél több lépésben, az információ eltárolásával. Oldjuk meg, hogy ne csak adott számú pizza közül lehessen választani (a pizzák száma ne legyen beégetve a kódba).

pizza.zip .

Szerző neve: Karácsony Orsolya
Készítés éve: 2008.

A táblát létrehozásához szükséges SQL-parancsok:

CREATE TABLE php_users (
name VARCHAR NOT NULL,
password VARCHAR NOT NULL,
CONSTRAINT php_users_primary PRIMARY KEY(name)
);
CREATE SEQUENCE php_orders_seq INCREMENT BY 1 MINVALUE 1 NO MAXVALUE START WITH 1;
CREATE TABLE php_orders (
id BIGINT NOT NULL DEFAULT nextval('php_orders_seq'::regclass),
"user" VARCHAR NOT NULL,
address VARCHAR,
CONSTRAINT php_orders_primary PRIMARY KEY(id)
);
CREATE TABLE php_order_items (
order_id BIGINT NOT NULL,
pizza_id BIGINT NOT NULL,
amount INTEGER DEFAULT 0,
CONSTRAINT php_order_items_primary PRIMARY KEY(order_id, pizza_id)
);
CREATE SEQUENCE php_pizzas_seq2 INCREMENT BY 1 MINVALUE 1 NO MAXVALUE START WITH 1;

CREATE TABLE php_pizzas2 (
id BIGINT NOT NULL DEFAULT nextval('php_pizzas_seq2'::regclass),
name VARCHAR,
price INTEGER,
CONSTRAINT php_pizzas_primary PRIMARY KEY(id)
);
INSERT INTO php_pizzas (name, price)
VALUES ('Hawaii', 900);
INSERT INTO php_pizzas (name, price)
VALUES ('Pepperoni', 1100);
INSERT INTO php_pizzas (name, price)
VALUES ('Prosciutto', 1200);
INSERT INTO php_pizzas (name, price)
VALUES ('Margherita', 800);

4. Notesz

Feladat: Webes felülettel rendelkező feljegyzés-gyűjtemény készítése. A felhasználónak a regisztráció, majd a belépés után lehetősége van feljegyzéseket készíteni, ill. a régieket megtekinteni és törölni. A feljegyzések adatbázisban tárolandóak. A példaprogram elérhető itt:
notes.zip

Szerző neve: Hackspacher Tamás
Készítés éve: 2010.

5. Vizsgáztató Rendszer

Feladat:
Készítsünk Vizsgáztató Rendszert.

Admin-ként belépve lehessen felhasználóneveket/kategóriákat/nyelveket létrehozni/kezelni, nehézségi fokot, helyes válaszok darabszámát beállítani, kérdés-felelet tesztsort rekordonként beírni, adatokat módosítani, törölni, lekérdezni.

vizsga.zip

Szerző neve: Halmos Tamás Kristóf
Készítés éve: 2009.

6. Polimorf PHP

Az objektum-orientált fejezetében taglalt polimorf problémákra nyújt megoldást a programom.
A program Bluefish szerkesztőben készült és 5.2.6 vagy magasabb verziójú php-vel futtatható.

polyphp.zip.

Szerző neve: Antyipin Artyom Szergejevics
Készítés éve: 2009.

7. Filefeltöltő

Feladat:
Készítsünk filefeltöltő rendszert a programozási nyelvek kezeléséhez! Először kérjük be a felhasználónevet és a jelszót, majd ellenőrizzük azok helyességét. Amennyiben a bejelentkezett felhasználó nem adminisztrátor jogosultságú, a beléptetés után jelenjenek meg a felhasználó korábbi feltöltései. Legyen lehetőség újabb file-ok feltöltésére ZIP-pel tömörített formátumban, lehessen törölni a feltöltött file-okat, illetve a feltöltött anyag megtekintésére egy már kész XML-parser használatával. A munka befejezése után legyen lehetőség a kijelentkezésre.

Amennyiben a felhasználó adminisztrátori jogosultsággal rendelkezik, az összes felhasználó által feltöltött file-t listázza ki.

uploader.zip .

Szerző neve: Halmos Tamás Kristóf
Készítés éve: 2010.

8. Fotómegosztó

A cél olyan fotósoldal készítése volt, ahová a felhasználók feltudnak tölteni képeket (vagy más file-okat).
A felhasználók regisztrálás után be tudnak lépni az oldalra, ahol lehetőségük van fotókat feltölteni vagy böngészni a feltöltött képek között.
Saját fotó estén a rendszer biztosítja az átnevezési lehetőséget.
Amennyiben a felötlött file (kép) publikusnak lett megjelölve feltöltéskor, akkor azt minden felhasználó láthatja, ellenkező esetben csak a feltöltő vagy az adminisztrátori joggal rendelkező felhasználók érheti el az adott file-t. A könnyebb átláthatóság végett a fényképek a lekicsinyített formátumban jelennek meg. A rendszer kereshetővé teszi a képeket a feltöltött file neve alapján.
Amennyiben a felhasználó adminisztrátori jogosultsággal rendelkezik, az összes felhasználó által feltöltött file-okat listázza ki. Továbbá az adminisztrátori joggal rendelkező felhasználók adminisztrátori jogot adhatnak más felhasználóknak.

A megjelenítés Smarty 2.6.22 segítségével történt, míg az adatok MySQL adatbázisban tárolódnak.
Az átirányítást az Apache web-szerver Rewrite modulja segítségével történik. A program működéshez szükséges a következő adattáblák létrehozása:

CREATE TABLE Users( UserID int not null auto_increment, UserName VARCHAR(32), PassWord VARCHAR(32), IsAdmin int DEFAULT 0, PRIMARY KEY (UserID) ) CREATE TABLE Files( FileID int not null auto_increment, FileName VARCHAR(255), FOREIGN KEY (UserID) REFERENCES Users(UserID), FileSize int not null, Mime VARCHAR(255), UploadTime DATETIME, Public int DEFAULT 0, PRIMARY KEY (FileID) )

photoshare.zip

Szerző neve: Kerti Csaba
Készítés éve: 2011.

9. Süti Kezelő

A feladat olyan program készítése volt, ami sütiket tud létrehozni, módosítani és törölni.
Illetve meg tudja jeleníteni a SütiKezelővel egy tárhelyen levő más php oldalak által létrehozott sütiket is (de törölni például nincs joga azokat).
Funkciók listája:

sutikezelo.zip

Szerző neve: Fekete György
Készítés éve: 2011

10. BigBrother

A feladat a következő volt:
A littlebrother.php-ben levő modulok lefutásáról a program bejegyzést készít a MYSQL adatbázisba, mely bejegyzéseket a bigbrother.php programmal tekinthetünk meg.
A littlebrother.php program a következőket tudja:

A bigbrother.php sessiononként megmondja, hogy

Az adatok MySQL adatbázisban vannak eltárolva. MYSQL tárhelyről a felhasználónak kell gondoskodnia.
A program működéséhez ezen adattáblák létrehozása szükséges:

CREATE TABLE bigbrotherlog( logid int NOT NULL auto_increment, ip VARCHAR(15), sessionid CHAR(32), modul int, client VARCHAR(255), mikor DATETIME, PRIMARY KEY (logid) );

bigbrother.zip

Szerző neve: Fekete György
Készítés éve: 2011