上篇文章我們介紹了登錄功能,實(shí)現(xiàn)了登錄頁面,下一步需要對前臺(tái)提交的用戶名密碼等信息進(jìn)行驗(yàn)證,判斷能否登錄,首先在form中補(bǔ)全action字段內(nèi)容(如果為空,默認(rèn)跳轉(zhuǎn)當(dāng)前控制器),這個(gè)就是點(diǎn)擊提交信息后跳轉(zhuǎn)驗(yàn)證的地址,method為提交方式(post|get|put等),賬號(hào)密碼一般為post提交。
然后需要注意input的name值,這里填寫的name就是在后臺(tái)接收參數(shù)的內(nèi)容。
前臺(tái)構(gòu)建完成,現(xiàn)在看后臺(tái)邏輯驗(yàn)證,首先構(gòu)建doLogin方法,用tp5自帶的驗(yàn)證器驗(yàn)證是否傳遞字段,有興趣的可以詳細(xì)了解下Validate。
上述有幾個(gè)常用方法 $this->request ,獲取請求信息,此對象中基本包含了請求的所有信息,get post header 等等,參數(shù)也可以直接獲取post()就是獲取所有post參數(shù),post(“username”) 就是獲取post的username參數(shù)。
此時(shí)參數(shù)已全部獲取到,下一步就是對賬號(hào)密碼進(jìn)行驗(yàn)證,首先需要根據(jù)賬號(hào)查詢出數(shù)據(jù)庫里的用戶信息,判斷賬號(hào)是否存在,若存在則將post密碼進(jìn)行加密,判斷密碼是否一致,不一致則返回錯(cuò)誤信息并跳轉(zhuǎn)前臺(tái)頁面,驗(yàn)證通過時(shí)調(diào)用session方法將用戶信息存儲(chǔ)到session中。
成功后提示登錄成功并跳轉(zhuǎn)指定url
這樣就進(jìn)入系統(tǒng)了。