Ich habe eine Webseite, die eine Anmeldung erfordert. Sobald sich ein Benutzer eingeloggt hat, starte ich die Sitzung und sobald er sich abmeldet, zerstöre ich es, aber wenn ich auf die Rückseite drücke, erscheint wieder die Benutzerprofilseite, die idealerweise nicht sein sollte, da sich der Benutzer abgemeldet hat. Es funktioniert jedoch einwandfrei, wenn ich die Seite nach dem Abmelden neu lade.
Es ist ein lokaler Chatraum, wo alle online und eingeloggt miteinander chatten können. Es gibt drei Seiten: login.php
, auth.php
, logout.php
login.php
ist die gemeinsame Anmeldeseite mit einem Formular. auth.php
hat eine div
zeigt alle vorherigen Chats bis jetzt an, eine Textbox und share button wenn ein Formular erneut an die auth.php gesendet wird, so dass jedes Mal, wenn das Formular gepostet wird, der Chatpost an die Datenbank gesendet wird und auth neu geladen wird die neueste Datenbank innerhalb der Chat-Div ..
Jetzt ist das Problem, sobald ich abmelde ich alle Variablen aufheben und die Sitzung zu zerstören, aber selbst dann, wenn ich die Zurück-Taste im Browser (Safari) drücken, ist die vorherige Version von auth.php
ohne den letzten Chat-Eintrag sichtbar, die im Idealfall sollte nicht als die Sitzung zerstört wird. Ich habe eine Sitzungsvalidierung in auth.php
eingerichtet, also möchte ich, dass auth.php
neu lädt, wenn der Benutzer sich nach dem Abmelden erneut anmeldet.% Co_de% zeigt an, dass "Sie nicht eingeloggt sind"
Ich habe es versucht
%Vor%Entschuldige die langwierige Frage, aber ich brauche wirklich Hilfe dazu.
Das funktioniert bei mir auf FF3.6, IE7, IE8, Chrome5 ( wenn die Browser-Taste gedrückt wird, die Seite ist immer RELOADED )
Eine andere Lösung besteht darin, genau die gleichen Header zu senden, die von session_start()
function gesendet werden, sehr ähnlich zu den obigen, aber noch reichhaltiger:
HINWEIS: Auch die hier gezeigte Reihenfolge ist die gleiche wie die von session_start()
gesendete Reihenfolge (Sie können dies mit HttpFox Addon für FF)
Fügen Sie für eine reine JavaScript-Lösung das einfach Ihrem HTML hinzu:
%Vor%Der Code weist der versteckten Eingabe einfach einen Wert zu, der nach dem Klicken auf die Zurück-Schaltfläche erhalten bleibt. Dies wird dann verwendet, um festzustellen, ob die Seite veraltet ist. In diesem Fall wird sie erneut geladen.
Ich verwende eine gemischte Lösung, da ich keine browserübergreifende Methode gefunden habe, die Seite neu zu laden, nachdem ich den Zurück-Knopf gedrückt habe.
Zunächst füge ich allen meinen Seiten einige Meta-Tags hinzu:
%Vor%Zweitens füge ich das folgende Javascript auf dem Tag auf allen meinen Seiten hinzu:
%Vor%Ich verwende dieses Update auf einer meiner Websites und es funktioniert gut in IE 10, Safari und Chrome.
Tags und Links php caching back-button