Hm, das bedeutet eigentlich, dass du als bereits eingeloggt erkannt wurdest:
Code: Alles auswählen
if( isset($HTTP_POST_VARS['login']) || isset($HTTP_GET_VARS['login']) || isset($HTTP_POST_VARS['logout']) || isset($HTTP_GET_VARS['logout']) )
{
if( ( isset($HTTP_POST_VARS['login']) || isset($HTTP_GET_VARS['login']) ) && (!$userdata['session_logged_in'] || isset($HTTP_POST_VARS['admin'])) )
{
...
}
else if( ( isset($HTTP_GET_VARS['logout']) || isset($HTTP_POST_VARS['logout']) ) && $userdata['session_logged_in'] )
{
...
}
else
{
$url = ( !empty($HTTP_POST_VARS['redirect']) ) ? str_replace('&', '&', htmlspecialchars($HTTP_POST_VARS['redirect'])) : "index.$phpEx";
redirect(append_sid($url, true));
}
...
}
Die erste IF Abfrage ist erfüllt, da du login=true in deinem Link stehen hast. Die erste innere fragt ab, ob login=true gesetzt ist und wenn ja, ob dann auch der User sich entweder als Admin einloggen will oder noch nicht eingeloggt ist. Wenn der User noch nicht eingeloggt ist sollte diese Abfrage also ausgeführt werden, dann müsste allerdings auch der Login ausgeführt werden. Der nächste Zweig ist für den Logout und der letzte fängt Fehler auf und leitet einfach auf den Index weiter. Erst einmal sollten wir herausfinden welcher der Zweige ausgeführt wird wenn nicht eingeloggt wird. Hierzu einfach mal eine simple Echo Anweisung einfügen mit unterschiedlicher Ausgabe (Die Redirects funktionieren dann zwar nicht, das ist zum Testen aber ja nicht schlimm, du solltest das natürlich nicht unbedingt in der Liveumgebung testen, es sei denn dass der Fehler in einer Testumgebung nicht auftritt)). Ich weiß spontan jetzt nicht woran das genau liegen kann, von daher würde ich versuchen mit echo Anweisungen den Fehler einzugrenzen und erst einmal die Anweisung zu finden, die den Redirect auf den index ausführt.