2017-05-26 8 views
1

Ich habe seltsame Situation.Site funktioniert perfekt auf localhost, aber nicht auf dem Server

Ich verwende dieses Stück Code, um den Benutzer von der Website abzumelden:

case 'exit': 
    setcookie("hash", "", time() - 3600, '/'); 
    header('Location: /main'); 
    exit(); 
    break; 

Genau der gleiche Code wird auf localhost verwendet wird, ist nur dass es abzumelden wird nicht auf dem Server. Geht einfach auf die /main Seite und das war's. Der Benutzer bleibt eingeloggt, funktioniert aber perfekt auf localhost.

+0

Haben Sie überprüft, ob der Cookie erfolgreich erstellt wurde oder nicht? Irgendein Fehler erzeugt (Fehlerprotokoll überprüfen)? – Raptor

+0

Welche Protokollierung/Debugging hast du bisher gemacht? "Es funktioniert nicht" ist als Diagnosewerkzeug nicht sehr hilfreich. – GordonM

+0

Das ist das Problem, es gibt keinen Fehler oder irgendetwas, also habe ich keine Ahnung, warum es auf dem Hosting verursacht wird. – Jordn

Antwort

0

Ich hatte dieses Problem auch, ich fand heraus Cookies und Sitzungen werden von den meisten Webservices als die erste Zeile der Datei benötigt. Denken Sie daran, dass header() aufgerufen werden muss, bevor eine tatsächliche Ausgabe gesendet wird.

Mehr über Header: http://php.net/manual/en/function.header.php

+0

Nun, wenn ich meinen Code anschaue, scheint es, dass ich es richtig mache? – Jordn

0

sollten Sie geben vollständige Route auf dem Server. // Beispiel Header ("Location: http://www.example.com/login");

+0

Wie könnte das Problem sein? Problem ist, dass das Cookie auf dem Server nicht geändert wird. – Jordn

Verwandte Themen