Zusammenfassung der Sitzungsbetriebsmethoden von ThinkPHP
Dieser Artikel beschreibt verschiedene Betriebsmethoden von ThinkPHP in einer Sitzung. Die Details lauten wie folgt:
Die offizielle Dokumentation der ThinkPHP-Betriebssitzung lautet wie folgt:
Start Sitzung starten
Pause Sitzung anhalten
löschen, löschen, Sitzung
zerstören, zerstören, Sitzung
holen, Sitzungswert abrufen
getLocal, privaten Sitzungswert abrufen
Sitzungswert festlegen
setLocal privaten Sitzungswert festlegen
Name abrufen oder set session_name
is_set Ob der Sitzungswert festgelegt werden soll
is_setLocal Ob der private Sitzungswert festgelegt werden soll
id Sitzungs-ID abrufen oder festlegen
Pfad session_save_path abrufen oder festlegen
setExpire Ablaufzeit der Sitzung festlegen
setCookieDomain Set gültiger Domänenname
setCallback legt die Rückruffunktion fest, wenn das Sitzungsobjekt deserialisiert wird
Der am häufigsten verwendete Beispielcode für Operationsmethoden lautet wie folgt:
// 检测Session变量是否存在 Session::is_set('name'); // 给Session变 量赋值 Session::set('name','value'); // 获取Session变量 Session::get('name');
Bezogen auf Sitzung Der Konfigurationsparametercode lautet wie folgt:
'SESSION_NAME'=>'ThinkID', // 默认Session_name 'SESSION_PATH'=>'', // 采用默认的Session save path 'SESSION_TYPE'=>'File', // 默认Session类型 支持 DB 和 File 'SESSION_EXPIRE'=>'300000', // 默认Session有效期 'SESSION_TABLE'=>'think_session', // 数据库Session方式表名 'SESSION_CALLBACK'=>'', // 反序列化对象的回调方法
Der Parameter SESSION_NAME muss notiert werden, falls dies nicht erforderlich ist Teilen Sie den Wert der Sitzung zwischen verschiedenen Projekten. Bitte legen Sie einen anderen Wert fest, andernfalls behalten Sie den gleichen Standardwert bei.
Was sollten Sie tun, wenn derselbe SESSION_NAME-Wert festgelegt ist, Sie aber einen privaten Sitzungsbereich basierend auf dem Projekt erstellen möchten? ThinkPHP unterstützt auch private Sitzungsoperationen mit dem Projekt als Sitzungsraum. Am Beispiel der vorherigen allgemeinen Operationen ändern wir sie wie folgt:
// 检测Session变量是否存在(当前项目有效) Session::is_setLocal('name'); // 给Session变 量赋值(当前项目有效) Session::setLocal('name','value'); // 获取Session变量(当前 项目有效) Session::getLocal('name');
Auf diese Weise kommt es zu keinen Konflikten mit der globalen Sitzungsoperation und sie kann für einige spezielle Situationen verwendet werden.
ThinkPHP unterstützt Sitzungsvorgänge im Datenbankmodus. Wenn Sie den Datenbankmodus verwenden, stellen Sie sicher, dass Sie den Wert von SESSION_TABLE festlegen und die folgende DDL in Ihre Datenbank importieren. :
CREATE TABLE `think_session` ( `id` int(11) unsigned NOT NULL auto_increment, `session_id` varchar(255) NOT NULL, `session_expires` int(11) NOT NULL, `session_data` blob, PRIMARY KEY(`id`) )
Beachten Sie, dass die Datenbankverbindung im Db-Sitzungsmodus die Datenbankkonfigurationsinformationen des Projekts für die Verbindung verwendet. Zusätzlich zur Datenbankmethode können Sie auch andere Methoden zum Speichern von Sitzungen hinzufügen, z. B. Speichermethoden, Memcache-Methoden usw. Wir müssen nur den entsprechenden Filter hinzufügen und die Methode session_set_save_handler verwenden. Die spezifische Methodendefinition finden Sie hier zu FilterSessionDb unter Think.Util.Filter Implementierung der .class.php-Datei.
Eine einfache Anmeldebeurteilung erstellt
Nach der Anmeldeerkennung wird der Sitzungswert zugewiesen, sodass der Sitzungswert entweder leer oder falsch ist
$_SESSION[C('USER_AUTH_KEY')] = $logInFind['id'] ;
Wobei [C('USER_AUTH_KEY')] die integrierte Methode und Funktionsklasse von ThinkPHP ist. Wenn die Datei config.php nicht konfiguriert ist, ist sie standardmäßig leer
Geben Sie ihr den aus $logInFind['id'] extrahierten Kontowert. Standardmäßig wird die Seite Sitzung geschlossen und sie wird automatisch gelöscht und verschwindet !
Verwenden Sie das folgende Format, um andere Seiten zu beurteilen
if(!isset($_SESSION[C('USER_AUTH_KEY')])) { //isset 是检测变量是否赋值! $this->redirect('Login','Login'); //转到注册页面 }
Weitere ThinkPHP-bezogene Artikel zu Sitzungsbetriebsmethoden finden Sie auf der chinesischen PHP-Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Das Problem wurde im Springboot-Projekt-Produktions-Session-Out-Timeout gefunden: In der Testumgebung wurde der Session-Out durch Ändern der application.yaml konfiguriert, nachdem die Session-Out-Konfiguration überprüft wurde In Kraft trat, wurde die Ablaufzeit für die Veröffentlichung in der Produktionsumgebung direkt auf 8 Stunden festgelegt. Allerdings habe ich am Mittag die Rückmeldung von Kunden erhalten, dass die Projektablaufzeit kurz eingestellt wurde. Wenn eine halbe Stunde lang keine Aktion ausgeführt wird, läuft die Sitzung ab und erfordert wiederholte Anmeldungen. Lösen Sie das Problem der Handhabung der Entwicklungsumgebung: Das Springboot-Projekt verfügt über integriertes Tomcat, sodass der in application.yaml im Projekt konfigurierte Sitzungsausgang wirksam ist. Produktionsumgebung: Die Produktionsumgebung ist freigegeben

Ein Sitzungsfehler wird normalerweise durch den Ablauf der Sitzungslebensdauer oder das Herunterfahren des Servers verursacht. Die Lösungen: 1. Verlängern Sie die Lebensdauer der Sitzung. 3. Verwenden Sie Cookies. 4. Aktualisieren Sie die Sitzung.

Lösung des domänenübergreifenden Problems von PHPSession Bei der Entwicklung der Front-End- und Back-End-Trennung sind domänenübergreifende Anforderungen zur Norm geworden. Wenn es um domänenübergreifende Probleme geht, nutzen wir in der Regel Sitzungen und verwalten diese. Aufgrund von Richtlinieneinschränkungen für den Browserursprung können Sitzungen jedoch standardmäßig nicht über Domänen hinweg gemeinsam genutzt werden. Um dieses Problem zu lösen, müssen wir einige Techniken und Methoden verwenden, um eine domänenübergreifende gemeinsame Nutzung von Sitzungen zu erreichen. 1. Die häufigste Verwendung von Cookies zum domänenübergreifenden Teilen von Sitzungen

Lösung für das Problem, dass die PHP-Sitzung nach der Aktualisierung verschwindet: 1. Öffnen Sie die Sitzung über „session_start();“ 2. Schreiben Sie alle öffentlichen Konfigurationen in eine PHP-Datei 3. Der Variablenname darf nicht mit dem Array-Index identisch sein; 4. Überprüfen Sie einfach den Speicherpfad der Sitzungsdaten in phpinfo und prüfen Sie, ob die Sitzung im Dateiverzeichnis erfolgreich gespeichert wurde.

Die Standardablaufzeit der Sitzungs-PHP beträgt 1440 Sekunden, also 24 Minuten. Das heißt, wenn der Client länger als 24 Minuten nicht aktualisiert wird, läuft die aktuelle Sitzung ab, wenn der Benutzer den Browser schließt Die Sitzung wird nicht mehr existieren.

Problem: Heute ist in unserem Projekt ein Zeitüberschreitungsproblem aufgetreten, und Änderungen an den application.properties von SpringBoot2 wurden nie wirksam. Lösung: Die server.*-Eigenschaften werden verwendet, um den eingebetteten Container zu steuern, der von SpringBoot verwendet wird. SpringBoot erstellt eine Instanz des Servlet-Containers mithilfe einer der ServletWebServerFactory-Instanzen. Diese Klassen verwenden server.*-Eigenschaften, um den kontrollierten Servlet-Container (Tomcat, Jetty usw.) zu konfigurieren. Wenn die Anwendung als WAR-Datei auf einer Tomcat-Instanz bereitgestellt wird, gelten die server.*-Eigenschaften nicht. Sie gelten nicht,

1. Implementieren der SMS-Anmeldung basierend auf der Sitzung 1.1 Ablaufdiagramm der SMS-Anmeldung 1.2 Implementieren des Sendens eines SMS-Bestätigungscodes Beschreibung der Front-End-Anfrage: Beschreibung der Anfragemethode POST-Anfragepfad/Benutzer/Code-Anfrageparameter Telefon (Telefonnummer) Rückgabewert Keine Back-End-Schnittstelle Implementierung: @Slf4j@ ServicepublicclassUserServiceImplextendsServiceImplimplementsIUserService{@OverridepublicResultsendCode(Stringphone,HttpSessionsession){//1 Überprüfen Sie die Mobiltelefonnummer, wenn

JavaScript-Cookies Die Verwendung von JavaScript-Cookies ist die effektivste Möglichkeit, Präferenzen, Käufe, Provisionen und andere Informationen zu speichern und zu verfolgen. Informationen, die für ein besseres Besuchererlebnis oder Website-Statistiken benötigt werden. PHPCookieCookies sind Textdateien, die auf Client-Computern gespeichert und zu Nachverfolgungszwecken aufbewahrt werden. PHP unterstützt transparent HTTP-Cookies. Wie funktionieren JavaScript-Cookies? Ihr Server sendet einige Daten in Form eines Cookies an den Browser Ihres Besuchers. Browser können Cookies akzeptieren. Falls vorhanden, wird es als reiner Textdatensatz auf der Festplatte des Besuchers gespeichert. Wenn ein Besucher nun eine andere Seite der Website erreicht
