LTB
Hey ich hab ein Problem mit Zend_Session.
Und zwar habe ich alles soweit eingerichtet wie es auch in der Doku beschrieben steht.
Ich habe folgenden Code geschrieben um zu prüfen, ob sich die Parameter in der Session befinden:
Mit folgendem Abschnitt überprüfe ich, ob etwas im Namensraum gespeichert wurde:
Damit wird immer angezeigt, dass sich etwas im Namespace befindet. Aber wenn ich die Seite neu lade ohne dass ich etwas in die Eingabefelder eingegeben habe, dann wird ncihts angezeigt als befinde sich nichts in der Session.
Und zwar habe ich alles soweit eingerichtet wie es auch in der Doku beschrieben steht.
PHP:
// Session SaveHandler
Zend_Db_Table_Abstract::setDefaultAdapter($db);
$config2 = array(
'name' => 'mm_session',
'primary' => 'sessid',
'modifiedColumn' => 'modified',
'lifetimeColumn' => 'lifetime',
'dataColumn' => 'data',
);
Zend_Session::setSaveHandler(new Zend_Session_SaveHandler_DbTable($config2));
// Session starten und Namensraum einrichten, evtl Schlüssel und Werte vergeben
Zend_Session::start();
$session = new Zend_Session_Namespace('userdata'); // Namensraum 'userdata'
$session->setExpirationSeconds(60); // Session existiert int Sekunden
// Session-ID neu generieren (Prävention -> Hacker)
Zend_Session::regenerateId();
$sessidNew = Zend_Session::getId();
Ich habe folgenden Code geschrieben um zu prüfen, ob sich die Parameter in der Session befinden:
PHP:
if(isset($session->username) && isset($session->password) && (isset($session->sessid)))
{
$sessid = $session->username;
$username = $session->username;
$password = $session->password;
$session->data = array($username, $password);
}
else
{
$sessid = $sessidNew;
$session->username = $_POST['username'];
$session->password = $_POST['password'];
$session->data = array($session->username, $session->password);
}
Mit folgendem Abschnitt überprüfe ich, ob etwas im Namensraum gespeichert wurde:
PHP:
$proof = Zend_Session::namespaceGet('userdata'); // Prüfen, ob Namespace gesetzt ist
foreach($proof as $key)
{
if(!is_array($key))
{
echo $key.'<br />';
}
}
Damit wird immer angezeigt, dass sich etwas im Namespace befindet. Aber wenn ich die Seite neu lade ohne dass ich etwas in die Eingabefelder eingegeben habe, dann wird ncihts angezeigt als befinde sich nichts in der Session.