codeigniter sess_destroy () funktioniert nicht richtig, was mache ich falsch?

8

Ich bin ein Neuling im Codeigniter. Ich verwende ein Login-Formular, um mich als Administrator anzumelden. Wenn sich der Administrator mit dem richtigen Benutzernamen und Passwort anmeldet, wird er mit einer Sitzungsvariablen an die Homepage weitergeleitet. Wenn er dann auf die Schaltfläche zum Abmelden klickt, soll die Sitzung zerstört werden und der Benutzer zur Anmeldeseite umgeleitet werden dh Login Formular Seite.

Der 1. Controller ist admin:

%Vor%

Der zweite Controller ist der Heimcontroller:

%Vor%

Das Modell ist admin_model:

%Vor%

Nun sollte der Benutzer sich abmelden und die Sitzung zerstören, aber wenn ich auf die Zurück-Schaltfläche meines Browsers klicke, kann ich die Seite zurückholen, die nicht sein sollte, und die Sitzung wird nicht zerstört. Bitte sag mir, was ich hier falsch mache. Ich benutze Codeigniter 2.1.0.

    
Shabib 26.01.2012, 13:47
quelle

2 Antworten

10

Nachdem ich alle Probleme durchsucht und an verschiedenen Stellen gesucht habe, habe ich endlich eine richtige Lösung für diese Frage gefunden. Das Problem kam, weil der Browser die zwischengespeicherten Seiten zeigte. Es war nicht die Sitzung, die das Problem erzeugte und es war funktioniert richtig. hier ist die Lösung: in der Heimsteuerung, die eine Funktion hinzufügt, um den Zwischenspeicher zu löschen und ihn in der Konstruktorfunktion aufzurufen tut den Trick :) Hier ist der Heimcontroller mit der Lösung:

%Vor%

jetzt danke geht an diesen Link " Logout-Funktion in Code-Zünder ", hier ist, wo ich die Lösung gefunden habe und es funktioniert perfekt:)

    
Shabib 28.01.2012, 10:12
quelle
4

Wenn Sie sich abmelden, bleibt die Session userdata für die Dauer der Erstellung der aktuellen CI-Seite bestehen, obwohl die Sitzung zerstört wurde.

Als Vorsichtsmaßnahme sollten Sie Folgendes tun:

%Vor%

Siehe: Ссылка

    
Jakub 26.01.2012 14:00
quelle