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).