我在我的注册表单中实施了 reCaptcha。但是当我插入正确的验证码时出现错误:
CCaptchaValidator.action“验证码”无效。在当前控制器中找不到这样的动作。
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,
));
}
}
上面的代码是我检查验证码的控制器。如果没问题,那么他应该将数据保存在数据库中并使用新创建的用户登录。如果代码错误,那么现在我只会得到一个空白的白页。请在这里需要一些帮助。
快速编辑:我用正确的代码解决了问题,我在模型规则中留下了一些垃圾,但现在很好。即使我认为当代码错误时我仍然需要一些帮助来处理这件事,因为我现在得到一个空白页。