Codeigniter session Funktioniert Nicht auf allen Controllern
was wäre der beste Weg, um Sitzungen verwendet werden, in allen meinen Controllern? ich denke, es gibt ein paar Möglichkeiten, es zu tun:
1) define () - Sitzung in globalen Variablen. Ich habe gehört, dass dies nicht der beste Ansatz
2) stellen Sie eine Allgemeine MY_controller und verlängern jeder andere controller zu. set-up-sessions, und das machen Sie in allen Klassen
3) etwas, das hat zu tun mit dem hinzufügen von &get_instance() in der __constructor () - Funktion, die auf der Oberseite jedes Reglers
was wäre die beste Möglichkeit für das einstellen Sitzungen über alle Controller?
ich war nicht in der Lage, eine der folgenden Methoden verwenden. irgendwelche Ideen wäre hilfreich. Dank
BTW, das problem war, dass codeigniter nicht wie gleichzeitige ajax-Anfragen. Sie stören sich gegenseitig-und session-Daten gelöscht erhält.
- ein
$_SESSION
ist ein super Globale, seine zur Verfügung stehenden Rahmen alle Ihre Controller. Können Sie erklären, was Sie bedeuten, durch die Sitzung, wenn nicht $_SESSION? - nicht global in codeigniter
Du musst angemeldet sein, um einen Kommentar abzugeben.
Möglicherweise müssen Sie einige config-Variablen in
application/config/config.php
Datei$config['cookie_domain']
und$config['cookie_path']
zu sein scheint, dieses problem verursacht. Wenn ja, dann einfach unset Ihren Wert auf "" und geben Sie es ein versuchen.Sobald Sie eine Sitzung:
Können Sie nennen es überall:
Jedoch für Sitzung Arbeit, die Sie brauchen, um zu initialisieren, die Session-Klasse ist erste Hand! Dies kann durch den Aufruf dieser Funktion:
Oder Sie können mit CodeIgniter zu auto-load es:
application/config/autoload.php
Es ist eine best practice zu setzen, eine Sitzung in der Steuerung.
Sehe ich keine Komplikationen in hier.
controller
aus, die ich rief diemodel
das hat set_userdata(). aber wenn ich versuche, echo diese Variablen in einem anderen controller Sie sind einfach nicht da. hat das zufällig du?Jedem, der Probleme mit codeigniter Sitzungen, stört es nicht.
Sie werden über die cookies, und die haben eine Menge Fehler, wenn Sie haben viel von ajax auf Ihrer website. Schalter im einheitlichen Sitzungen.
Versuchen Sie, die
$config['cookie_secure']
zuFALSE
wenn in der Entwicklung Modus