Mario Donick: Cookies funktioniert mit Win und Linux, aber nicht unter Mac OS

Beitrag lesen

Hallo,

ich habe vor kurzem ein Problem festgestellt. Ich betreibe eine Webseite, die einen internen Bereich für bestimmte Nutzer bereithält. Um sich dort anzumelden, benutze ich eine Mischung aus PHP und Javascript. Das funktioniert unter Windows und Linux mit allen gängigen Browsern, aber zu meinem Erstauen unter Mac OS nicht. Die Lösung ist folgendermaßen aufgebaut.

1. Es gibt im Navigationsframe einen Link "Interner Bereich"

2. Klickt man dort rauf, wird schon der interne Navigationsbereich aufgerufen (Datei "quicknav-i.html"), in dem zu Beginn folgendes Script ausgeführt wird:

<script type="text/javascript">
<!--
if (!(document.cookie=="robin"))
{
parent.quicknav.location.href="../html/quicknav-l.html";
}
-->
</script>

Wie zu sehen, erfolgt eine Weiterleitung zur Datei "quicknav-l.html", wenn das Cookie nicht "robin" ist. Dort ist dann das Login-Formular. Ansonsten erscheint das Menü des internen Bereichs und alles ist gut.

3. Das Loginformular ruft ein PHP-Script "login.php" aus. Wenn die Logindaten korrekt sind, passiert ungefähr folgendes:

if ($LoginOK==true)
{
  print "<script type=".chr(34)."text/javascript".chr(34).">\n";
  print "<!--\n";
  print "document.cookie=".chr(34)."robin".chr(34).";\n";
  print "-->\n";
  print "</script>\n\n";

print "Sie wurden erfolgreich angemeldet.<br>\n<br>\n";
  print "<a href=".chr(34)."quicknav-i.html".chr(34)." target=".chr(34)."_top".chr(34).">weiter</a>\n";
}
else
{
  print "Login fehlgeschlagen<br>\n<br>\n";
  print "<a href=".chr(34)."quicknav-l.html".chr(34)." class=".chr(34)."drucken".chr(34).">weiter</a>\n";
}

Das PHP-Script generiert eine Seite, in der bei korrektem Login wieder JavaScript-Code steht, und dieser JavaScript-Code setzt das Cookie "robin". Der Link "weiter" führt dann wieder zu "quicknav-i.html", wo das Auswerten des Cookies diesmal Erfolg hat. Bei falschem Login wird zurück zum Anmeldeformular geleitet.

So... Wie gesagt funktioniert diese Methode mit Internet Explorer, Mozilla/Firefox/Netscape, Konqueror und diversen Linux-Textbrowsern, aber nicht unter Mac OS, sowohl mit Safari als auch dem dortigen IE.

Woran liegt das? Was mache ich falsch?

Grüße,
Mario