Php 验证码对yii不起作用
用户模型:Php 验证码对yii不起作用,php,yii,captcha,Php,Yii,Captcha,用户模型: public function rules() { return array( ... array('verifyCode', 'captcha', 'on'=>'register'), ... ); } 用户控制器 public function actionRegister() { $model=new User; if(isset($_POST['User'])) {
public function rules()
{
return array(
...
array('verifyCode', 'captcha', 'on'=>'register'),
...
);
}
用户控制器
public function actionRegister()
{
$model=new User;
if(isset($_POST['User']))
{
$model->attributes=$_POST['User'];
if($model->save()){
$this->redirect(array('login'));
}
}
...
$this->render('register');
}
View-register.php
<?php $this->widget('CCaptcha'); ?>
<div class="captcha"><?php echo CHtml::activeTextField( $model,'verifyCode', array('class'=>'captcha')); ?></div>
<?php echo $form->error($model,'verifyCode'); ?>
这会使验证码正常,但验证不会发生。可能是什么问题?我认为您的问题在于on=>寄存器尝试“on”=>“insert”并读取 及 及
/我认为您的问题在于on=>注册尝试“on”=>“insert”并读取 及 及
/您可能应该指定框架。我正在使用Yii框架,正如帖子标题中所述。您可能应该指定框架。我正在使用Yii框架,正如帖子标题中所述。为了简洁起见,我之前没有粘贴整个代码。当然,之后会有一个
render
函数调用,否则就不会首先呈现验证码。我已经根据您使用$model->validate()而不是$model->save()时发生的情况更新了我的代码。即使我提供了错误的CAPT,我也会始终返回true。为了简洁起见,我之前没有粘贴整个代码。当然,之后会有一个render
函数调用,否则就不会首先呈现验证码。我已经根据使用$model->validate()而不是$model->save()时发生的情况更新了代码。即使我提供了错误的验证码,也会始终返回true