hallo,
ik heb een probleem met mijn custom session handler die gebaseerd is op een artikel te vinden op:
http://shiflett.org/articles/storing-sessions-in-a-database
mijn probleem is niet zozeer dat het niet werkt, maar het werkt in de verkeerde volgorde...
ok komt tie aan:
<?PHP
include('mysql.php');
include('session_handler.php'); // dit is een class
$link = new mysql('host','user','pass','session_db');
// doe hier andere dingen die altijd in het begin van je php pagina doet.
// bv. set custom php ini dingen
CSH = new session_handler(); // Custom Session Handler
$_SESSION['test'] = 'ik ben jantje';
$_SESSION['abcde'] = 'dit is een test';
$link->close();
?>
Onderaan in het kort de session_handler:
ok het probleem is nu dat $link->close(); wordt uitgevoerd voordat de session handler de variabelen in de db wegschrijft....
beetje wazig aangezien de $_SESSION variabelen voooooor close() worden uitgevoerd.
nu is het zo dat ik een error krijg in de session class waaruit blijkt dat er geen mysql verbinding is....
haal ik $link->close(); weg dan werkt alles zoals het moet.
de variabelen worden netjes weg geschreven en geen error.
conclusie: de database link wordt gesloten voordat de session handler de kans heeft om de variabelen weg te schrijven...
terwijl $link->close(); daarna ( als allerlaatste ) wordt uitgevoerd...
iemand een idee?
<?PHP
class session_handler
{
function session_handler()
{
session_set_save_handler(
array($this, '_open'),
array($this, '_close'),
array($this, '_read'),
array($this, '_write'),
array($this, '_destroy'),
array($this, '_clean')
);
session_start();
}
function _open()
{
}
function _close()
{
}
function _read()
{
}
function _write()
{
}
function _destroy()
{
}
function _clean()
{
}
}
?>
687 views
knop om je tekst aan te passen.