Diese lief bisher auf allen Servern ohne Probleme. Auf einem Server (PHP Version 4.2.3, register_globals = On) kommt beim Aufrufen von:
$Session->unregister('uid', 'userid', 'userpw', 'userstatus', 'userrealname', 'autologin');
folgender Fehlerhinweis (mehrfach):
Warning: First argument to array_keys() should be an array in .../include/class.Session.inc on line 242
Auf einem anderen Server mit der gleichen Konfiguration (PHP Version 4.2.3, register_globals = On) habe ich diesen Fehlerhinweis nicht. Ich schaffe es aber nicht herauszufinden, woran es liegen könnte und was ich falsch gemacht habe.
Die Zeile 242 lautet:
$keyIndex = array_keys(array_keys($globalS["HTTP_SESSION_VARS"]), $arg);
Hier der Code der unregister-Function:
Code: Alles auswählen
### -------------------------------------------------------
/**
* Variable aus den Session-Daten löschen
*
* Wenn PHP mit "register_globals=Off" konfiguriert ist,
* ist das Session-Management ein wenig broken.
* Diese Methode korrigiert das indem sie den entsprechenden
* Index im $HTTP_SESSION_VARS-Hash löscht.
*
* @param string Beliebige Anzahl von Variablennamen,
* die "unregistriert" werden sollen
* @return void
*/
function unregister() {
foreach(func_get_args() as $arg)
{
session_unregister($arg);
$keyIndex = array_keys(array_keys($globalS["HTTP_SESSION_VARS"]), $arg);
if (sizeof($keyIndex) == 0) continue;
array_splice($globalS["HTTP_SESSION_VARS"], $keyIndex[0], 1);
}
}
Danke
Frank-Andre
Webmaster | Admin