Yii Web サイトからダウンロードした Yii Framework demo-blog-contact の正確なコードを、同じバージョンのライブラリを持つ他の yii アプリケーションにコピーする方法を知りたいのですが、キャプチャは表示されません。
コントローラー/アクションページに移動すると、キャプチャの代わりに壊れたリンクが表示され、新しいページで壊れたリンクの画像を開くと、別の壊れたリンクが表示されます。
CCaptchaの一般的な問題についてこのリンクを見ました。gdライブラリが稼働中であることを 確認しました。リンクとまったく同じ内容の関数 actions()があり、アプリケーションでアクセス制御フィルターを定義していません。
私はこのリンクを見ましたが、許可の問題はありません。このリンクはありません。
このリンクが言ったのとまったく同じことをしましたが、成功しませんでした。これらのキャプチャを表示するための助けをいただければ幸いです。
コントローラー:
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(); ?>