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(); } }
sessionTest.html-Vorlage (Fragment):
<p> <present name="_SESSION['username']">{$_SESSION['username']} 你好! <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>
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('username')){ echo Session::get('username').' 你好'; }else{ echo 'session 未注册'; } }
<present name="_SESSION['username']">{$_SESSION['username']} 你好!<else />未登录</present>