header Funktion geht nicht

lifehunter

Erfahrenes Mitglied
ich habe auf meiner seite diese Funktion eingebaut, aber die geht irgendwie nicht. Habt ihr einen Tip wieso nicht?
PHP:
if(isset($_GET['logout']))
header ("Location: register/logout.php");
 
Was geht nicht? Gibt es eine Fehlermeldung? Wenn ja, welche?

Setzt doch mal geschweift Klammern, wie es bei IF üblich ist.
 
Jepp, die Fehlermeldung wäre hilfreich!

fanste hat gesagt.:
Setzt doch mal geschweift Klammern, wie es bei IF üblich ist.
Es gibt auch kurzschreibweisen die korrekt sind (wenn auch seltener benutzt). Und diese sieht eigentlich okay aus.
 
{} brauch man nur wenn es mehrere zu erfüllende dinge gibt
Also eigentlich sollte die Seite logout.php aufgerufen werden. Wurde aber nicht.
Ich könnte auch mit einem einfachen Link arbeiten, das wollte ich aber mit Absicht net machen damit man nicht sieht wohin verlinkt wird.
 
Eigentlich wird nach dem header() ein exit; empfohlen wenn ich mich recht entsinne, d.h. zwei zeilen nach dem if und {} werden obligatorisch ;))
Ansonsten mach doch vor dem if mal ein var_dump( isset($_GET['logout']) ); um zu prüfen ob das überhaupt TRUE wird und wenn nicht eben schauen warum nicht...
 
Setz mal noch ein ./ vor das register. Das hat bei mir auch schon so manches problem bei include Anweisungen behoben. Vll hilfts auch hier.
 
hm, und bei header() musst du immer aufpassen, dass davor noch nichts an den browser gegeben wurde... Aber das würde er normalerweise mit ner Fehlermeldung "Headers already sent..." dokumentieren.

Evtl. könntest du auch noch versuchen, die URL mal auszuschreiben (also mit http://www. ...)
Aber das sollte eigentlich so auch gehen.
 
Laut Spezifikation sind eigentlich nur absolute URIs gültig. Allerdings akzeptieren die meisten, wenn nicht sogar alle auch relative URIs.


Zu deinem Anliegen, lifehunter: Stelle mal die Fehlersensibilität PHPs etwas sensibler ein (vgl. error_reporting()-Funktion). Möglicherweise ist sie zu tolerant eingestellt, sodass der Fehler nicht ausgegeben wird.
 
Zurück