Du brauchst die nicht in der DB zu speichern.
Also folgendes:
Du machst beim login folgendes
if (btnLogIn)
{
session_start();
session_register($SessionID, //usw. alle variablen, die überall(!) in deiner Session zur Verfügung stehen sollen
}
Dann weiter unten machst du:
$SessionID = session_id();
Jetzt hast du deine session id in $SessionID gepeichert und da du sie, dank session register überall zur verfügung hast, machst du auf jeder weiteren seite am anfan (und ich meine ganz am Anfang) wieder session_start();
Dadurch nimmt er die schon gestartete session (aber das weist du ja).
Also:
session_start();
if session_id() == $SessionID
{
.....//dein code usw.
}
else //falls die session nicht vorhanden ist also z.b. nicht eingeloggt
{
//Fehlermeldung, oder zurückleitung zur login page z.b.
<meta http-equiv="refresh" content="0 URL=login.php">
}
Probiers aus und sag, ob geklappt hat.
EDIT//
Und wegen sicherheitslücke. Ist nur so, wenn du eine offene session hast, könnte man ja die session id verwenden, um sich unberechtigten zugang zur seite zu verschaffen. Es ist zwar sehr unwahrscheinlich, da es ja für die session normalerweise auch einen timeout geben sollte, aber die möglichkeit besteht!