網頁會話即是實現頁面跳轉及資料傳遞,在web開發中,cookie和session的使用是極其重要的,get和post是最常使用的頁面間資料傳遞的方法,相對於php指令碼基礎,在thinkphp中對網頁會話都進行了上層封裝。
指令碼的會話基礎:php的會話控制
頁面跳**
在控制器或模板中要做頁面跳轉時使用
1exit(header("location: ../控制器/方法"));
在檢視的html裡如果要超連結到本地的控制器則需要使用
1 href=""
js傳遞引數:
利用其傳遞get資料到後台,實現資料互動
1 window.location.href="../控制器/方法?u_id="+u_id+"&u_state=停用";
get和post的資料獲取:
1<?php23
4use
think\request;56
class
xiao726
27//
獲取post資料
28if($methodx=="post")
3334}35
36 }
session的基本使用:
1<?php23
4//匯入必要的模組
5use
think\session;67
class
xiao817
18//
獲取某個值
19echo session::get('name1');
2021
//刪除某個值
22//session::delete('name1');
23//清空所有
24 session::clear();
2526
//session陣列的設定
27 session::set("n2.nn1","aa1");
28 session::set("n2.nn2","aa2");
29//
獲取某個值
30echo session::get("n2.nn1");
31//
列印陣列中所有值
32 dump(session::get("n2"));
3334}35
36 }
cookie的基本使用:
1<?php23
4//匯入必要的模組
5use
think\cookie;67
class
xiao820
//刪除某個
21 cookie::delete('name');
22//
清空所有
23 cookie::clear();24}
2526 }
利用session的登入判斷:
session的值是儲存在web伺服器中的,利用其來做當次的登入判斷是常用的一種方式,首先應該在使用者名稱密碼匹配成功後進行session的寫操作,接下來是驗證session內容,進行登入判斷。
本來覺得驗證寫在控制器中就好了,結果發現一旦程式龐大後每個控制器中的方法就多了,因為每個方法就代表著乙個入口,所以這是不可取的。如果把session判斷寫在模板的建構函式中,因為模板表示這乙個資料庫的資料表且基本上控制器中的方法都會設計到資料表的操作,這樣整體下來很好的實現了登入驗證功能。
先導入必要模組:
1use think\session;
模板的建構函式編寫:
1//建構函式
2function
類名()
1112 }
注意:
建構函式需要與類同名,經過測試發現php自帶的萬能類構造方法__construct()是不能使用的
PHP之ThinkPHP框架(資料庫)
php是 後台開發語言,其重要的操作物件莫過於資料庫,之前有了解過mysqli和pdo,但thinkphp的資料庫互動必須使用其特定的封裝方法,或者可以認為其是對php資料庫操作的進一步封裝,以達到更加安全和高效。thinkphp內建了抽象資料庫訪問層,把不同的資料庫操作封裝起來,我們只需要使用公共...
thinkphp框架漏洞
thinkphp框架爆出了乙個任意 執行漏洞,其危害性相當的高,漏洞利用方法如下 index.php module aciton param1 index.php module aciton param1 其中的function all代表任何函式,比如 index.php module acito...
Thinkphp框架基礎
mvc model 模型 模型 資料 層 view 檢視 檢視層 controller控制器 邏輯層 m 運算元據 資料連線,資料訪問 v 提供顯示模板 c 實現業務邏輯 mvc 約定勝於配置 action 操作,放在控制器裡面的方法 之前訪問的方式 訪問的具體頁面 mvc訪問的方式 訪問控制器下的...