登録フォームにreCaptchaを実装しました。しかし、正しいキャプチャコードを挿入するとエラーが発生しました:
CCaptchaValidator.action"captcha"が無効です。現在のコントローラーでそのようなアクションを見つけることができません。
public function actionCreate()
{
$model=new TblUsers;
// Uncomment the following line if AJAX validation is needed
$this->performAjaxValidation($model);
if(isset($_POST['TblUsers']))
{
Yii::import('ext.recaptchalib',true);
$privatekey = '6LfgNLoSAAAAAGBVyqeKK9qH_wG5HIGIDd2KotLB';
$resp = recaptcha_check_answer($privatekey, $_SERVER['REMOTE_ADDR'],
Yii::app()->request->getParam('recaptcha_challenge_field'),
Yii::app()->request->getParam('recaptcha_response_field' ) );
$model->attributes=$_POST['TblUsers'];
if($resp->is_valid)
{
if($model->save())
if($this->_identity===null)
{
$this->_identity=new UserIdentity($model->username,$model->password);
$this->_identity->authenticate();
}
if($this->_identity->errorCode===UserIdentity::ERROR_NONE)
{
$duration=$this->rememberMe ? 3600*24*30 : 0; // 30 days
Yii::app()->user->login($this->_identity,$duration);
$this->redirect(array('site/index'));
return true;
}
else
return false;
}
}
else
{
$this->render('create',array(
'model'=>$model,
));
}
}
上記のコードは、キャプチャをチェックする私のコントローラーです。問題がなければ、データベースにデータを保存して、新しく作成したユーザーでログインする必要があります。コードが間違っていると、今のところ、空白の白いページしか表示されません。ここで助けが必要かもしれません。
高速編集:Ups正しいコードの問題を修正し、モデルルールにジャンクを残しましたが、今は問題ありません。コードが間違っているときに問題を処理するためにまだいくつかの助けが必要だとしても、今は空白のページが表示されます。