Hallo Patrick,
die("<SCRIPT LANGUAGE="JAVASCRIPT">alert('Du musst dich erst einloggen!')</SCRIPT>");
header("Location: index.php");
die(...) bewirkt, dass der Text, den Du der Funktion übergibst, ausgegeben wird und dann das Programm *sofort* beendet wird. Zum Location-Header kommt er gar nicht. Der Location-Header ist desweiteren nicht korrekt geformt, es _muss_ immer eine Absolute URL drin stehen, bei Dir steht nur index.php. Außerdem _kannst_ Du _vor_ dem Header _keinen_ Inhalt ausgeben, das geht einfach nicht. Zuerst kommt immer der Header, danach der Inhalt. Du kannst auf diese Weise keine Meldung ausgeben.
Also:
Entweder, Du leitest einfach so weiter:
$dir = dirname ($_SERVER['PHP_SELF']);
if ($dir{strlen($dir)-1} != '/') {
$dir .= '/';
}
header ('Location: http://'.$_SERVER['HTTP_HOST'].$dir.'index.php');
Oder Du gibst einfach eine Fehlermeldungsseite mit einem Link aus:
echo 'Fehler - erst einloggen....';
echo '<a href="index.php">Zur Startseite</a>';
exit;
Beides zusammen geht nicht.
Viele Grüße,
Christian
Ich bin ein Bandbreitenverschwender. Meine Signatur tut mir leid. Ehrlich!