Heim php教程 PHP开发 Detaillierte Erläuterung der Sitzungsnutzung in ThinkPHP

Detaillierte Erläuterung der Sitzungsnutzung in ThinkPHP

Dec 22, 2016 am 10:25 AM
session

Die Beispiele in diesem Artikel beschreiben die Verwendung von Session in ThinkPHP. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:

Die Session-Klasse ist in ThinkPHP gekapselt und Benutzer können sie direkt verwenden:

Session::set(name, value): Sitzung registrieren .

Session::is_set(name): Überprüfen Sie, ob der Wert von Session gesetzt ist.

Session::get(name): Sitzung lesen.

Session::clear(): Sitzung löschen.

Session::destroy(): Sitzung zerstören.

ThinkPHP öffnet die Sitzung standardmäßig, daher ist es nicht erforderlich, die Funktion session_start() zu verwenden, um die Sitzung zu öffnen, bevor Sie die Session-Klasse verwenden.

Verwenden Sie die Sitzungsinstanz

Im folgenden Formular eingereicht Registrieren Sie die Sitzung im Vorlagenmodus und den Session::get-Modus im Vorgang auf den anderen beiden Seiten

Sitzung registrieren

Benutzermodul-SitzungTestvorgang zum Registrieren der Sitzungsbeispiel:

class UserAction extends Action{  
public function session(){  
if(!emptyempty($_POST['username'])){  
Session::set('username',$_POST['username']);  
}  
$this->display();  
}  
}
Nach dem Login kopieren

sessionTest.html-Vorlage (Fragment):

<p>  
<present name="_SESSION[&#39;username&#39;]">{$_SESSION[&#39;username&#39;]} 你好!  
<a href="__APP__/">首页</a>  
<a href="__URL__/user">本模块其他页面</a>  
<a href="__URL__/logout">注销</a><else />请输入您的用户名:  
</p>  
<form action="__SELF__" method="post">  
<p><input type="text" name="username" /></p>  
<p><input type="submit" value=" 提交 " /></p>  
</form>  
</present>
Nach dem Login kopieren

Wenn Sie den Benutzernamen (z. B. testuser) eingeben, klicken Sie auf die Schaltfläche „Senden“ und senden Sie ihn an die sessionTest-Methode (d. h. die aktuelle Seite) Verarbeiten und registrieren Sie den Sitzungswert, verwenden Sie das vorhandene Vorlagen-Tag, um die Ausgabelogik zu steuern, erkennen Sie, dass die Variable $_SESSION['username'] registriert wurde, und geben Sie Folgendes aus:


testuser Hallo! Startseite Abmelden

Andernfalls wird das Formular ausgegeben.

Überprüfen Sie, ob die Sitzung registriert ist

In der Vorlage erkennen

In der Vorlage können Sie Tags wie present oder notempty direkt verwenden oder sogar wechseln, um festzustellen, ob die Sitzung Die Variable wird registriert, um den entsprechenden Ausgabesitzungswert zu ermitteln (den Sitzungsvariablenwert direkt in Form einer Ausgabearray-Einheit auszugeben) oder andere Seitenelemente anzuzeigen. Weitere Informationen finden Sie im Abschnitt „Vorlagen-Tag“ dieses Tutorials und im obigen Beispiel 🎜>

Erkennung im Betrieb

Im Betrieb können Sie mit der Methode Session::is_set prüfen, ob der Wert der Sitzung festgelegt ist. Das Benutzermodul user funktioniert beispielsweise wie folgt:

public function user(){  
// 由于直接在操作里输出,为避免乱码  
header("Content-Type:text/html; charset=utf-8");  
if(Session::is_set(&#39;username&#39;)){  
echo Session::get(&#39;username&#39;).&#39; 你好&#39;;  
}else{  
echo &#39;session 未注册&#39;;  
}  
}
Nach dem Login kopieren
Andere Modulseiten

Beurteilen und lesen Sie auf anderen Seiten (z. B. Index/Index) den Codeausschnitt der Sitzung:

Sitzung ist ungültig (kann nicht bestanden werden). )
<present name="_SESSION[&#39;username&#39;]">{$_SESSION[&#39;username&#39;]} 你好!<else />未登录</present>
Nach dem Login kopieren
In ThinkPHP ist die Sitzung möglicherweise ungültig (kann nicht an andere Seiten übergeben werden), mögliche Gründe Wie folgt:

Verwenden Sie den ersten Buchstaben der Session-Klasse ohne Großbuchstaben, wie zum Beispiel: session::set.

Die Seite verfügt über eine Informationsausgabe, z. B. enthält die Eintragsdatei Leerzeilen usw.

Auf dem Server (Linux/Unix) Der Sitzungsspeicherpfad (session.save_path ) hat falsche Berechtigungen, was dazu führt, dass Sitzungsinformationen nicht korrekt gespeichert werden können.

Vorschläge für Bereichsprobleme:

ThinkPHPs Session-Klasse führt dies nur für Sitzungen aus. Ohne einfaches Paketieren können Sie tatsächlich PHPs native verwenden Sitzungsfunktion direkt im Betrieb, was auch die offizielle Empfehlung ist

Ich hoffe, dieser Artikel wird für die Programmierung des ThinkPHP-Frameworks hilfreich sein.

Ausführlichere Erläuterungen zur Sitzungsnutzung in ThinkPHP finden Sie auf der chinesischen PHP-Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So legen Sie das Sitzungszeitlimit in der SpringBoot-Sitzung fest So legen Sie das Sitzungszeitlimit in der SpringBoot-Sitzung fest May 15, 2023 pm 02:37 PM

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

So beheben Sie Sitzungsfehler So beheben Sie Sitzungsfehler Oct 18, 2023 pm 05:19 PM

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 für das domänenübergreifende Problem der PHP-Sitzung Lösung für das domänenübergreifende Problem der PHP-Sitzung Oct 12, 2023 pm 03:00 PM

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

Was soll ich tun, wenn die PHP-Sitzung nach der Aktualisierung verschwindet? Was soll ich tun, wenn die PHP-Sitzung nach der Aktualisierung verschwindet? Jan 18, 2023 pm 01:39 PM

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.

Was ist die Standardablaufzeit von Session PHP? Was ist die Standardablaufzeit von Session PHP? Nov 01, 2022 am 09:14 AM

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.

So lösen Sie das Problem, dass die Timeout-Einstellung für die Springboot2-Sitzung ungültig ist So lösen Sie das Problem, dass die Timeout-Einstellung für die Springboot2-Sitzung ungültig ist May 22, 2023 pm 01:49 PM

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,

So implementieren Sie die SMS-Anmeldung in der Redis-Anwendung für gemeinsam genutzte Sitzungen So implementieren Sie die SMS-Anmeldung in der Redis-Anwendung für gemeinsam genutzte Sitzungen Jun 03, 2023 pm 03:11 PM

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

Was sind die Unterschiede zwischen JavaScript- und PHP-Cookies? Was sind die Unterschiede zwischen JavaScript- und PHP-Cookies? Sep 02, 2023 pm 12:29 PM

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

See all articles