Sitzung verloren nach Seitenumleitung in PHP

8

Wenn ich die PHP-Header-Umleitung verwende, sind alle Sitzungsvariablen verloren ... Einige Leute sagen, dass exit (); unmittelbar nach dem Header (""); wird das Problem lösen, aber es scheint nicht die Lösung zu sein ...

Kann jemand bitte helfen?

So speichern Sie die Variable in der Sitzung:

%Vor%

Umleitungscode:

%Vor%     
King Julien 11.06.2010, 13:59
quelle

7 Antworten

11

Sie müssen exit(); nach der Header-Umleitung eingeben, ansonsten haben Sie gerade zwei Seiten Inhalt in eine Seite geladen.

Stellen Sie außerdem sicher, dass session_start(); am Anfang aller Ihrer Skripte steht.

    
Lizard 11.06.2010, 14:13
quelle
4

Sie starten die Sitzung nicht. Um Sitzungsvariablen zu verwenden und sie über Seiten hinweg mitzuführen, müssen Sie

eingeben %Vor%

oben auf jeder Seite vor allem anderen.

    
Joseph 11.06.2010 14:46
quelle
2

Ich habe versucht, die Session-ID selbst zu setzen mit:

%Vor%

Aber wie die Dokumentation sagt, müssen Sie dies vor

verwenden %Vor%

Wird nach session_start () verwendet, löscht die Session-Parameter.

    
rage 09.06.2015 22:47
quelle
1

Einfach! Stellen Sie sicher, dass die Seite, von der Sie kommen (z. B. www.example.com), zu einem Hinweis (z. B. www.example.com/redirect.php) www am Anfang weitergeleitet wird. Wenn Sie das von Seite zu Seite ändern, dann werden die Dinge wackelig.

    
dvancouver 11.04.2012 11:12
quelle
0

Diese Sitzungen funktionieren nicht immer so, wie wir es manchmal erwarten. Ich hatte ein ähnliches Problem mit meiner Website mit Sitzungen, die verloren gehen. Ich habe es im Grunde genommen gelöst, indem ich den Wert, den ich in der Sitzung behalten möchte, beim ersten Laden der Seite in das versteckte Textfeld einfüge. Dann das zweite Mal, wenn ich die Seite aufrufen (Seite einreichen) lese ich einfach den Wert aus dem versteckten Textfeld und fahre mit dem Rest meines Codes fort.

Das ist einfacher und sauberer als Sitzungen in diesem Fall zu verwenden!

    
user1495956 02.07.2012 11:45
quelle
0

beenden; sollte nach Header-Umleitung oder session_regenerate_id (true) platziert werden; kann verwendet werden

    
Lovepreet Singh 26.10.2016 17:27
quelle
0

Sie müssen nur die Dateiberechtigung im Verzeichnis / var / lib / php überprüfen Geben Sie dem Verzeichnis / var / lib / php / session eine öffentliche Genehmigung.

und alles fertig.

    
Arvind 12.03.2018 08:48
quelle

Tags und Links