Les exemples de cet article décrivent l'utilisation de Session dans ThinkPHP. Partagez-le avec tout le monde pour votre référence. Les détails sont les suivants :
La classe Session est encapsulée dans ThinkPHP et les utilisateurs peuvent l'utiliser directement. Les méthodes couramment utilisées sont :
Session::set(name, value) : Enregistrer la session. .
Session::is_set(name) : Vérifiez si la valeur de Session est définie.
Session::get(name) : lecture de la session.
Session::clear() : effacez la session.
Session::destroy() : Détruire la session.
ThinkPHP ouvre la session par défaut, il n'est donc pas nécessaire d'utiliser la fonction session_start() pour ouvrir la session avant d'utiliser la classe Session
Utilisez l'instance de session
Soumis dans le formulaire ci-dessous Enregistrez la session en mode modèle et utilisez le mode Session::get dans l'opération sur les deux autres pages Enregistrer la sessionOpération de test de session du module utilisateur pour enregistrer la session. session Exemple :class UserAction extends Action{ public function session(){ if(!emptyempty($_POST['username'])){ Session::set('username',$_POST['username']); } $this->display(); } }
<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>
Détection en fonctionnement
Dans l'opération, vous pouvez utiliser la méthode Session::is_set pour vérifier si la valeur de la Session est définie. Par exemple, l'utilisateur du module Utilisateur opère comme suit :
Autres pages du modulepublic function user(){ // 由于直接在操作里输出,为避免乱码 header("Content-Type:text/html; charset=utf-8"); if(Session::is_set('username')){ echo Session::get('username').' 你好'; }else{ echo 'session 未注册'; } }
Dans d'autres pages (telles que Index/index), jugez et lisez l'extrait de code de la session :
la session n'est pas valide (ne peut pas être passée )
<present name="_SESSION['username']">{$_SESSION['username']} 你好!<else />未登录</present>
Utilisez la première lettre de la classe Session sans majuscules, telle que : session::set.
La page contient des informations, telles que le fichier d'entrée a des lignes vides, etc.
Sur le serveur (Linux/Unix) Le chemin de stockage de la session (session.save_path ) a des autorisations incorrectes, ce qui entraîne l'incapacité de stocker correctement les informations de session.
Suggestions pour les problèmes de portée :
La classe Session de ThinkPHP ne fait cela que pour les sessions. Sans emballage simple, vous pouvez réellement utiliser le natif de PHP fonction de session directement en fonctionnement, ce qui est également la recommandation officielle
J'espère que ce que décrit cet article sera utile à la programmation du framework ThinkPHP de chacun.
Pour des explications plus détaillées sur l'utilisation des sessions dans ThinkPHP, veuillez prêter attention au site Web PHP chinois !