Erläuterung zur Verwendung der Sitzung in thinkphp

韦小宝
Freigeben: 2023-03-20 19:56:01
Original
1858 Leute haben es durchsucht

Wenn wir die Grundlagen von PHP lernen, werden wir auf die Sitzungskontrolle stoßen. Ich konnte es einfach nicht verstehen. Später habe ich es während der Entwicklung herausgefunden So einfach. Vielleicht ist das Verständnis noch zu gering. Heute werden wir darüber sprechen, wie man Session im ThinkPHP-Framework verwendet! 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 Sitzungsfunktion vor der Verwendung der Session-Klasse zu verwenden Sitzungsinstanz verwenden

Registrieren Sie die Sitzung, indem Sie das Formular unten absenden, und lesen Sie den Sitzungswert im Vorlagenmodus und bei der Operation mit Session::get auf den anderen beiden Seiten.

Sitzung registrieren

BenutzermodulsitzungBeispiel für eine Registrierungssitzung für Testvorgänge:

sessionTest.html-Vorlage (Fragment):

Wann Geben Sie den Benutzernamen ein (z. B. testuser) und senden Sie ihn nach dem Klicken auf die Schaltfläche „Senden“ an die sessionTest-Methode (d. h. die aktuelle Seite), um den Sitzungswert zu verarbeiten und zu registrieren. Verwenden Sie zur Steuerung das vorhandene
class UserAction extends Action{  
public function session(){  
if(!emptyempty($_POST['username'])){  
Session::set('username',$_POST['username']);  
}  
$this->display();  
}  
}
Nach dem Login kopieren
-Vorlagen-Tag

die Ausgabelogik und erkennt, dass $_SESSION['username'] registriert wurde. Variablen werden ausgegeben:

<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
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 present oder direkt verwenden notempty oder even switch usw. Das Tag bestimmt, ob die Sitzungsvariable registriert ist, um zu entscheiden, ob der entsprechende Sitzungswert ausgegeben wird (der Wert der Sitzungsvariablen direkt als Ausgabearray-Einheit ausgegeben wird) oder andere Seitenelemente angezeigt werden Vorlagen-Tag-Teil dieses Tutorials und das obige Beispiel.

Erkennung im Betrieb

Im Betrieb können Sie die Methode Session::is_set verwenden, um zu überprüfen, ob der Wert von Session ist beispielsweise wie folgt eingestellt:

Andere Modulseiten

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
Auf anderen Seiten (z. B. Index/Index) , beurteilen und lesen Sie das Sitzungscode-Snippet:

ThinkPHP Die Sitzung ist möglicherweise ungültig (kann nicht an andere Seiten übergeben werden):

<present name="_SESSION[&#39;username&#39;]">
{$_SESSION[&#39;username&#39;]} 你好!
<else />未登录
</present>

session 无效(无法传递)
Nach dem Login kopieren
Der erste Buchstabe der Session-Klasse wird nicht großgeschrieben, z. B.: session::set.

Auf der Seite werden Informationen ausgegeben, z. B. Eintragsdatei

enthält Leerzeilen. usw.

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

Vorschläge für Umfangsprobleme:

Die Session-Klasse von ThinkPHP ist nur ein einfacher Wrapper für die Sitzung. Tatsächlich können Sie die native Sitzungsfunktion von PHP direkt im Betrieb verwenden. Dies ist auch die offizielle Empfehlung.

Sie sollten sich auch diese ansehen:

Einführung in PHP-Sitzungssteuerungssitzung und Cookies

Detaillierte Erläuterung des Sessionid-Verarbeitungsmechanismus in Laravel

Das obige ist der detaillierte Inhalt vonErläuterung zur Verwendung der Sitzung in thinkphp. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage