這個知識點,就可以通過「登入」和「註冊」的頁面來學習這個知識點了
首先先做乙個「登入」功能
一、登入功能(父類)
(1)登入的控制器
在我的控制器資料夾中新建乙個登陸控制器
我的路徑是這樣的:
然後裡面要書寫正確才可以,其中要有命名空間,還有繼承父類的控制器
<?php(2)編寫登入的頁面namespace home\controller;
use think\controller;
class logincontroller extends controller
else
}}
我的這個頁面我放在了
這個登入頁面都是寫過很多遍了,就不解釋了,這裡用的還是表單元素
(3)補充php頁面中的否則語句
else執行看下結果:else
}
1)輸入賬號和密碼,密碼是錯誤的時
2)輸入賬號和密碼,密碼是正確的時
3)時間已過,跳轉到首頁面
這樣有個bug就是,這個首頁即使沒有登入也可以檢視這個頁面,所以我們要加乙個條件,來判斷這個沒有登入時,不能走這個頁面,也就是返回登入頁面,但是每個方法都要判斷就會顯得很繁瑣,又不能直接修改原控制器檔案,所以,可以在他們之間在建乙個控制器檔案,作為他們的橋梁
(4)搭建的他們之間的橋梁
(4.1)新建的乙個控制器類檔案
<?php(4.2)這樣之後,將除了login的控制器外,其他的都要修改成這橋梁控制器類namespace home\controller;
use think\controller;
class fucontroller extends controller
}}
namespace home\controller;執行之後檢視效果,直接登入首頁的頁面,會出現下面的頁面use home\controller\fucontroller; //使用橋梁的控制器類
class homecontroller extends fucontroller //繼承的就不是原類了,而是寫的控制器類檔案
二、註冊功能(表單驗證)
自動驗證是thinkphp模型層提供的一種資料驗證方法,可以在使用create建立資料物件的時候自動進行資料驗證。
其中有兩種驗證:靜態驗證和動態驗證
(1)靜態驗證
注意:靜態定義方式因為必須定義模型類,所以只能用d函式例項化模型
1.我們可以在indexcontroller.class.php類檔案中新建乙個方法
public function zhuce()2.在view檔案中新建乙個index資料夾,新建註冊的顯示頁面else
}
注意:如果使用收集表單元素,裡面的name要和資料庫中的保持一致
看下執行效果3.新增表單驗證
(1)靜態驗證
注意:在模型類裡面通過$_validate屬性定義驗證規則。
這裡要新建乙個模板檔案usermodel.class,記得要在model資料夾中
<?php再寫驗證的時候要記住一下幾點:namespace home\model;
use think\model;
class usermodel extends model
(1)驗證字段 (必須)
需要驗證的表單字段名稱,這個欄位不一定是資料庫字段,也可以是表單的一些輔助字段,例如確認密碼和驗證碼等等。有個別驗證規則和字段無關的情況下,驗證欄位是可以隨意設定的,例如expire有效期規則是和表單字段無關的。如果定義了字段對映的話,這裡的驗證欄位名稱應該是實際的資料表字段而不是表單字段。
(2)驗證規則 (必須)
要進行驗證的規則,需要結合附加規則,如果在使用正則驗證的附加規則情況下,系統還內建了一些常用正則驗證的規則,可以直接作為驗證規則使用,包括:require 字段必須、email 郵箱、url url位址、currency 貨幣、number 數字。
(3)提示資訊 (必須)
用於驗證失敗後的提示資訊定義
(4)驗證條件 (可選)
包含下面幾種情況:
(5)附加規則 (可選)
配合驗證規則使用,包括下面一些規則:
(6)驗證時間(可選)
這裡的驗證時間需要注意,並非只有這三種情況,你可以根據業務需要增加其他的驗證時間。
4.我們可以讓上面的註冊頁面再一些時候顯示驗證資訊
4.1使用者名為空時,提示資訊
protected $_validate = array(4.2怎麼使用這個驗證資訊,我們要在indexcontroller.class.php類檔案中編寫array('uid','require','使用者名稱不能為空!'), //判斷使用者名稱是不是空的
);
public function zhuce()4.3執行可以看下結果else
else}}
這是靜態驗證,不能出現在文字框的後面,這樣可以用動態驗證,其他的條件可以根據注意的那幾條自己進行練習
(2)動態驗證
注意:使用模型類的validate方法動態建立自動驗證規則。
總的來說就是要用ajax來寫,給想要顯示驗證的上新增乙個id,便於傳值;而且也要引入jquery檔案
主體中的內容使用者名稱:js的編寫 方法中的寫法(完整的)
public function yanzheng()最後的顯示頁面中的內容else
else} }
success: function(data)執行看下提示結果else
}
父級和表單驗證就是這樣的,熟悉他的使用規則就可以了
ThinkPHP框架表單驗證
thinkphp框架的表單驗證分為靜態驗證和動態驗證。靜態驗證 首先在model檔案下建立乙個表的模型,驗證哪個表就鍵哪個表的模型。如驗證users表,則建立textmodel.class.php的檔案。定義乙個textmodel類,繼承父類model 在類裡面新增二維陣列,陣列裡存放驗證條件。條件...
Form表單 浮動框架及CSS
form表單 表單的核心是資料 value 設定其中的初始文字 size 設定其輸入框的寬度 單位是 字元寬 其中能放置該數量的字元 maxlength 設定該輸入框最多能輸入的字元個數 readonly 這是乙個 無值 屬性,表示 唯讀 則寫法是 readonly readonly disable...
tp框架表單驗證 及ajax
之前的表單驗證都是用js寫的,這裡也可以使用tp框架的驗證。但是兩者比較而言還是js驗證比較好,因為tp框架驗證會執行後台 這樣執行速度和效率就會下降。自動驗證是thinkphp模型層提供的一種資料驗證方法,可以在使用create建立資料物件的時候自動進行資料驗證。驗證的 要寫在模型層即model裡...