Code funktioniert nicht: Layout über Cookie
Adrian
- php
Hallo!
Folgenden Code habe ich bei mir in der index.php, um auf die eigentliche Hauptseite umzuleiten, er funktioniert aber nicht, sondern es wird immer nur die Datei normal geöffnet. die header() Funktion scheint nicht ausgeführt zu werden...
<?php
//Standardlayout, das beim Besuchen ohne Cookie geöffnet wird
$standardlayout = "gold";
//Neues Layout einstellen bei erneutem Aufruf mit neuem Layout
if(isset($newlayout) and isset($origin)) {
setcookie("layout_cookie",$newlayout);
header("Location: sites/" + $origin + "?layout=layout_" + $_COOKIE["layout_cookie"]);
}
//Layout laden beim ersten Aufruf der Seite
if(!$_COOKIE["layout_cookie"]) {
header("Location: sites/home.php?layout=layout_" + $standardlayout);
}
else {
header("Location: sites/home.php?layout=layout_" + $_COOKIE["layout_cookie"]);
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!-- ERSTELLT MIT PSPad -->
<!-- Homepage: Copyright 2005 by Adrian Oeftiger | Beta-Version-->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Oeftiger</title>
</head>
<body>
PHP-Fehler:<BR><BR>
Wenn Sie diese Fehlermeldung erhalten, wurde die<BR>
PHP-Anweisung für Layouteinstellungen nicht ausgeführt...<BR>
Bitte neu laden!<BR><BR>
Falls Sie nach erneutem Laden diesen Schriftzug immer noch<BR>
sehen, wird gerade an der Datei gearbeitet.<BR>
Der Autor bittet um Verständnis für Verzögerungen...<BR><BR>
Adrian Oeftiger
</body>
</html>
[link:http://oeftiger.germanclanzone.de/oeftiger-new/index.php
Mit freundlichen Grüßen,
Adrian
echo $begrüßung;
die header() Funktion scheint nicht ausgeführt zu werden...
setcookie("layout_cookie",$newlayout);
Das Cookie, das du hier setzt,
header("Location: sites/" + $origin + "?layout=layout_" + $_COOKIE["layout_cookie"]);
befindet sich noch nicht im Array der vom Browser mitgesendeten Cookies, da es erst mit Ausliefern dieser Seite beim Browser landet.
Außerdem ist beim Location-Header eine vollständige URL Pflicht. Die dir noch fehlenden Angaben kann die einer der Einträge von $_SERVER liefern.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
[...]
PHP-Fehler:<BR><BR>
Dein HTML-Code ist auch nicht valide.
echo "$verabschiedung $name";
Hallo!
echo $begrüßung;
wie wärs mit ner deklarierten Variable, oder ist das Absicht? :)
Außerdem ist beim Location-Header eine vollständige URL Pflicht. Die dir noch fehlenden Angaben kann die einer der Einträge von $_SERVER liefern.
Ich habe leider nicht auf Anhieb die Einträge von $_SERVER gefunden unter SELFPHP usw.
Wie kann ich einfach die aktuelle URL der Datei davorsetzen, also welche Variable in $_SERVER ?
Mit freundlichen Grüßen,
Adrian
echo $begrüßung;
Ich habe leider nicht auf Anhieb die Einträge von $_SERVER gefunden unter SELFPHP usw.
phpinfo() oder print_r($_SERVER) (letzteres am besten mit einem <pre> davor) liefert dir den Inhalt.
echo "$verabschiedung $name";