當前位置:名人名言大全網 - 端午節短信 - yii驗證碼的使用以及為什麽驗證碼不刷新。

yii驗證碼的使用以及為什麽驗證碼不刷新。

在Web開發過程中,經常會用到驗證碼。防止機器人不斷提交數據。網站癱瘓了。Yii提供了壹個驗證碼插件。是驗證碼資源/lesson.html

第壹步:

用在項目上?驗證碼?需要以下設置?:?妳在線嗎?控制器?在?行動

公共函數操作()

?{

返回數組(

?captcha ' = & gt數組(

class ' = & gt' CCaptchaAction ',

' minLength ' = & gt1 ,

maxLength ' = & gt5 ,

backColor ' = & gt0xFFFFFF,

width ' = & gt100 ,

高度' = & gt40

?)

);

?}

同時呢?需要放?captacha?添加到?訪問規則?在?,?允許所有用戶訪問該方法?。?如下

添加屬性:

public $ verifyCode

?array('verifyCode ',' captcha ',' allowEmpty ' = & gt!CCaptcha::checkRequirements()),

array('captcha ',' captcha ',' allowEmpty ' = & gt!extension_loaded('gd '),' on ' = & gtLogin '),//在規則數組的末尾添加:

其次,將下面的代碼添加到您的視圖中?

& lt?PHP $ this-& gt;widget(' CCaptcha ');?& gt

//可以點擊下圖修改驗證碼。

?& ltdiv & gt& lt?PHP $ this-& gt;widget('CCaptcha ',array(' showrefresh button ' = & gt;false,' clickableImage ' = & gttrue,' imageOptions ' = & gt數組(' alt ' = & gt單擊以更改圖片',' title ' = & gt單擊以更改圖片',' style ' = & gtcursor:pointer '))));?& gt& lt/div & gt;

第三?我們需要在我們的?形式?模特?加壹個到?驗證碼?屬性存儲用戶輸入的驗證碼,然後傳遞?驗證碼?驗證器,用於驗證用戶輸入的驗證碼的準確性。

public $ verifyCode

並在規則中添加以下內容。

公共函數規則()

{

?返回數組(

...

array('verifyCode ',' captcha ',' on ' = & gt登錄',' allowEmpty ' = & gt!擴展_loaded('gd '),

...

);

}

驗證碼不刷新的原因:

後臺登錄調用驗證碼,點擊驗證碼不刷新也沒有響應(所有驗證碼配置和參數都是正確的)。當我打錯號碼的時候,發現能刷新驗證碼的頁面比不能刷新驗證碼的頁面多了壹個。js?代碼,用於處理點擊驗證碼刷新的事件。

為什麽少了壹段代碼?所以是因為管制員單獨打電話了?renderPartial?然後呢。渲染。?讓我們來談談他們的不同之處:

呈現頁面輸出時。

渲染?輸出父模板的內容,並將呈現的內容嵌入到父模板中。

renderPartial?不輸出父模板的內容。僅輸出該渲染的本地內容。

還有壹個重要的區別:

渲染?函數內部默認執行?processOutput($output)?函數,?妳會放組件嗎,比如?CTreeView?註冊了嗎?CClientScript?裏面需要的腳本被渲染輸出。

然後呢。renderPartial()?默認情況下,不會自動呈現輸出客戶端腳本,只有在指定了參數的情況下才會執行輸出:

renderPartial($view,$data=null,$return=false,$processOutput=false)

指定?過程輸出?為了什麽?真的嗎?去做吧。

就像我們遇到的問題壹樣。renderPartial?頁面不輸出驗證碼刷新的段落時?Js,所以顯示不正常。

問題幫助區的更多問題/