Solero: Logoutproblem mit Session-Variablen

Beitrag lesen

Hallo Leute,

leider weiss ich noch gar nicht so genau, wo mein Problem liegt und hoffe deshalb, dass die Thematik stimmt^^ Ich werde es euch einfach mal schildern und hoffe, dass ihr damit etwas anfangen könnt. Danke schonmal im Voraus!

Meine Homepage hat einen Internen Bereich mit selbstgebasteltem Login-Script. Die Clou des ganzen ist, dass bei korrektem Einloggen folgender Code abläuft:

  
//Einloggen  
if ( /*Passwort und Benutzer korrekt*/ && !$_SESSION['login']) {  
session_start();  
$_SESSION['login'] = TRUE;  
}  

Das funktioniert soweit einwandfrei, man kann sich einloggen und über die Abfrage

  
session_start();  
if (!$_SESSION['login']) { require 'loginformular.html'; }  
else { require 'interner_bereich.php'; }  

auf den internen Bereich zugreifen, dort wild im Angebot hin und her browsen, sich mit folgendem Code ausloggen ~~~php

//Ausloggen
session_start();
if ($_GET['logout'] && $_SESSION['login']) {
$_SESSION['login'] = FALSE;
}

und wieder einloggen. Funktioniert immer einwandfrei.  
  
Das Problem beginnt dann (und nur mit Firefox, nich mit IE!) wenn man eingeloggt ist und auf eine Seite des nicht-internen-Bereichs meiner Homepage zugreift. Sobald man nämlich wieder auf den internen Bereich wechseln will, wird mit dem zweiten Code-Beispiel das Login-Formular aufgerufen, wer sich dann aber erneut einloggen will, kommt nicht an der Abfrage im "Login-Scipt" vorbei, die ja (siehe erster Code) überprüft, ob man nicht schon eingeloggt ist.  
  
Ich kann das Problem lösen, indem ich beim "Login-Script" die Abfrage nach "bereits eingeloggt" entferne, und es somit zulasse, dass sich jemand zweimal einloggt. Ist grundsätzlich (noch) kein Problem, aber ich verstehe nicht, wieso die grundsätzlich selbe If-Abfrage zwei verschiedene Ergebnisse liefert. Könnt ihr mir da helfen?  
  
MfG  
Solero