下面由thinkphp教程欄目給大家介紹Thinkphp6的驗(yàn)證碼與session,希望對需要的朋友有所幫助!
tp6 的驗(yàn)證碼與session
今天在用tp6的驗(yàn)證碼時(shí)候,做登錄驗(yàn)證。驗(yàn)證碼報(bào)錯(cuò),死活提示驗(yàn)證碼失敗。
經(jīng)過一些測試才知道,tp6的session是默認(rèn)不開啟。需要手動(dòng)取消注釋。
驗(yàn)證碼和session的關(guān)系。
其實(shí)他是吧驗(yàn)證碼的內(nèi)容存到了session中,所以要是用驗(yàn)證碼必須開啟session。
這是他的Captcha類
可以看到他在構(gòu)造函數(shù)先注入了一個(gè)session類創(chuàng)建一個(gè)session的對象保存起來,在以后的session操作就靠這個(gè)對象了。
在他的創(chuàng)建驗(yàn)證碼的方法中可以看到,他通過session的對象向session中存入了一個(gè)'captcha'的key.
在他對驗(yàn)證碼進(jìn)行驗(yàn)證的時(shí)候:
先去獲取啦一下session中儲存的驗(yàn)證碼信息。
這就是為什么在使用tp6的驗(yàn)證碼的時(shí)候必須開啟session,在tp6之前的時(shí)代,都是根據(jù)你php.ini中是否開啟啦session。在tp6他自己封裝了session的實(shí)現(xiàn),所以需要你手動(dòng)開啟session。切記!??!