CodeIgniter: Speichern der letzten Aktivität in die Datenbank
Erstellt habe ich zwei Tabellen in der Datenbank, mit Benutzer und die andere mit sessions. Ich dachte, dass gäbe es kein problem mit der Speicherung der letzten Aktivität in Sitzungen, aber dann fand ich heraus, dass die sessions löschen, und ich kann das irgendwie nicht speichern Letzte Aktivität. Da würd ich gern haben Letzte Aktivität irgendwo gespeichert, ich brauche eine Lösung, wie kann ich es speichern in die Tabelle users auf über fünf Minuten - das gleiche wie CodeIgniter, ändern Sie den session-Daten.
So, wie das zu tun?
- schalten Sie db_session in der config
- ich habe das schon getan, da alle session-Daten geht auf session-Tabelle.
- Was ist dein Ziel? Ich weiß, Sie möchten zur Verfolgung von Benutzer-Aktivität, aber warum? Was ist die tracking-Daten? Wie werden Sie es verwenden? Wie lange wird Sie halten? Sie haben darüber gesprochen, über Ihre Umsetzung, aber als ich sah all die Kommentare unten, es scheint, wie wir Ihnen helfen können mehr, wenn wir verstehen, die zugrunde liegenden Ziele. Der Grund ich sagen dies ist weil aus den Kommentaren von Murch, Frage ich mich, wenn Sie nicht gehen über es der beste Weg.
- WesleyMurch mein problem gelöst, also danke für die Nachfrage.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Vergessen, die session-Tabelle, aktualisieren Sie einfach die Benutzer-Tabelle für jede Anforderung. Ich würde dies tun in den Konstruktor von Ihrer Basis-controller, so dass es automatisch ausgeführt (siehe
MY_Controller
Beispiele wenn Sie nicht vertraut mit dieser). So etwas wie dieses:Zur Nutzung dieser Basis-controller, verlängern Sie es mit Ihren anderen Controller. Beispiel:
Könnten Sie in der Lage sein, dies zu tun in der gleichen Stelle, wo Sie zunächst das abrufen der angemeldete Benutzer Benutzer statt.
class SomeController extends MY_Controller {}
. Verstehen Sie? Brauchen Sie Hilfe für die Berechnung der X-Minuten?$this->session->set_userdata('last_activity', now());