本文實例講述了ThinkPHP中Session用法。分享給大家供大家參考。具體如下:
在ThinkPHP封裝了Session類別,使用者可以直接使用,常用的方法有:
Session::set(name, value):註冊 session 。
Session::is_set(name):檢查Session的值是否設定。
Session::get(name):讀取 session 。
Session::clear():清空Session。
Session::destroy():銷毀 session 。
ThinkPHP 預設開啟了session 會話,因此在使用Session 類別之前不需要使用session_start() 函數來開啟會話.
使用session 實例
下面以表單提交的方式註冊頁面分別以範本方式與操作中以Session::get 方式讀出session 值.
註冊session
User 模組sessionTest 操作註冊session 範例:
class UserAction extends Action{ public function session(){ if(!emptyempty($_POST['username'])){ Session::set('username',$_POST['username']); } $this->display(); } }
sessionTest.html 範本(片段):rrrereee
如testuser),點擊提交按鈕後,提交至sessionTest 方法(即當前頁面)處理並註冊session 值,以模板標籤present 來控制輸出邏輯,檢測到已經註冊$_SESSION['username'] 變數即輸出:<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>
public function user(){ // 由于直接在操作里输出,为避免乱码 header("Content-Type:text/html; charset=utf-8"); if(Session::is_set('username')){ echo Session::get('username').' 你好'; }else{ echo 'session 未注册'; } }