A $_SESSION PHP tömbök MySQL adatbázisban tárolása
Sziasztok!
Szeretném a $_SESSION tömböket fájlok helyett MySQL adatbázisban tárolni. Rengeteg példa van erre a neten, többek között ez is:
How to Create a Secure Session Managment System in PHP and MySQL
Szép megoldásnak találom, de amit szemet szúr, hogy az illető miért nem használ adatbázisban DATE, DATETIME vagy TIMESTAMP mezőt CHAR(10) helyett?
A szép és logikus kódolás mellé ez valahogy annyira logikátlan. Miért így tárolja a dátumot? A könnyebb kezelhetőség érdekében vagy a gyorsaság miatt vagy jól látom, hogy ide nem CHAR(10) kéne?
A tábla:Még amit nem értek, hogy van ugye az open függvény. Miért nincs lekezelve annak a hibának a lehetősége, hogy nem sikerül a csatlakozás? Ha nem sikerül a kapcsolat, akkor nem működnek a $_SESSION változók sem ami véleményem szerint igencsak nagy hiányosság.
A függvény:Egyéb észrevétel, javaslat azzal kapcsolatban, hogy így szeretném tárolni a $_SESSION tömböket?
■ Szeretném a $_SESSION tömböket fájlok helyett MySQL adatbázisban tárolni. Rengeteg példa van erre a neten, többek között ez is:
How to Create a Secure Session Managment System in PHP and MySQL
Szép megoldásnak találom, de amit szemet szúr, hogy az illető miért nem használ adatbázisban DATE, DATETIME vagy TIMESTAMP mezőt CHAR(10) helyett?
A szép és logikus kódolás mellé ez valahogy annyira logikátlan. Miért így tárolja a dátumot? A könnyebb kezelhetőség érdekében vagy a gyorsaság miatt vagy jól látom, hogy ide nem CHAR(10) kéne?
A tábla:
- CREATE TABLE `sessions` (
- `id` CHAR(128) NOT NULL,
- `set_time` CHAR(10) NOT NULL,
- `data` text NOT NULL,
- `session_key` CHAR(128) NOT NULL,
- PRIMARY KEY (`id`)
- ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
A függvény:
- function open() {
- $host = 'localhost';
- $user = 'sec_user';
- $pass = 'eKcGZr59zAa2BEWU';
- $name = 'secure_sessions';
- $mysqli = new mysqli($host, $user, $pass, $name);
- $this->db = $mysqli;
- return true;
- }
Szeretném a $_SESSION
$_SESSION
Őszintén szólva én nem
A munkamenet adatbázisban való tárolása tipikusan az a kérdés, amivel csak akkor kell foglalkozni, ha probléma merül fel vele kapcsolatban, mert a szerver nem bírja a terhelést. Én a helyedben elfelejteném az ügyet, és inkább megtanulnék angolul, azzal ezerszer többet érsz.
Nagyon egyszerű a dolog. Van
Ne tedd
Az eredeti elképzelés jó, de a MySQL megvalósítása hagy kívánnivalót maga után, a PostgreSQL ebben például sokkal jobb (és egyre inkább úgy tűnik, hogy nem csak ebben).