【发布时间】:2013-04-14 22:20:35
【问题描述】:
我只是想知道如何将 Yii 框架 demo-blog-contact 的确切代码从 Yii 网站下载到具有相同版本库的其他 yii 应用程序中,并且它不显示验证码。
当我转到控制器/操作页面时,它显示断开的链接而不是验证码,当我在新页面中打开断开的链接图像时,它显示另一个断开的链接。
我看到这个link 是关于 CCaptcha 的常见问题,我检查了 gd 库是否已启动并正在运行,并且我的 function actions() 内容与链接说,我没有在应用程序中定义任何访问控制过滤器。
我看到了这个link,我没有权限问题,这个link,我没有ajax。
我和link 说的完全一样,但没有成功。任何帮助显示这些验证码将不胜感激。
控制器:
public function actions()
{
return array(
'captcha'=>array(
'class'=>'CCaptchaAction',
'backColor'=>0xFFFFFF,
),
'page'=>array(
'class'=>'CViewAction',
),
);
}
public function accessRules()
{
return array(
array('allow',
'actions'=>array('create', 'captcha'),
'users'=>array('*'),
));
}
型号:
<?php
class ContactsM extends CFormModel {
public $name;
public $email;
public $subject;
public $body;
public $verifyCode;
/**
* Declares the validation rules.
*/
public function rules()
{
return array(
// name, email, subject and body are required
array('name, email, subject, body', 'required'),
// email has to be a valid email address
array('email', 'email'),
// verifyCode needs to be entered correctly
array('verifyCode', 'captcha', 'allowEmpty'=>!CCaptcha::checkRequirements()),
);
}
public function attributeLabels()
{
return array(
'verifyCode'=>'Verification Code',
);
}
}
查看:
<?php $form=$this->beginWidget('CActiveForm'); ?>
<?php echo $form->errorSummary($model); ?>
<?php if(extension_loaded('gd')): ?>
<div class="row">
<?php echo $form->labelEx($model,'verifyCode'); ?>
<div>
<?php $this->widget('CCaptcha'); ?>
<?php echo $form->textField($model,'verifyCode'); ?>
</div>
<div class="hint">Please enter the letters as they are shown in the image above.
<br/>Letters are not case-sensitive.</div>
</div>
<?php endif; ?>
<div class="row submit">
<?php echo CHtml::submitButton('Submit'); ?>
</div>
<?php $this->endWidget(); ?>
【问题讨论】:
-
你从哪个类扩展你的控制器?
-
我在组件中创建了一个基本控制器并从它扩展。
-
这些教程的问题是“它们没有显示所有代码”。