Ho un modulo di registrazione utente, in cui sto cercando di visualizzare un'immagine Captcha utilizzando Yii widget di CCaptcha, tuttavia il mio link immagine appare rotto, file di controller:
CCaptcha visualizzazione senza Yii immagine
public function actions()
{
return array(
// captcha action renders the CAPTCHA image displayed on the contact page
'captcha'=>array(
'class'=>'CCaptchaAction',
'backColor'=>0xFFFFFF,
),
);
}
File Modello:
public function rules()
{
return array(array('verifyCode','captcha','allowEmpty'=>!CCaptcha::checkRequirements(),'on'=>'insert'),
);
}
E vista del file:
<?php if(CCaptcha::checkRequirements()): ?>
<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 shown.
<br/>Letters are not case-sensitive.</div>
<?php echo $form->error($model,'verifyCode'); ?>
</div>
<?php endif; ?>
Come risposta fornita da qualche parte ho anche provato dando le regole di accesso in mio file controller come
public function accessRules()
{
return array(
array('allow',
'actions' => array('captcha'),
'users' => array('*'),
),
);
}
Ma nulla sembra funzionare.
Ho testato il tuo codice e non ci sono stati errori! Aggiungo solo 'on' => 'insert' ma è apparso l'immagine del captcha! – SoldierCorp
Ho scritto 'on' => 'insert' anche nella mia classe modello. ma senza fortuna lì. Lo strumento yiic ha generato il captcha dell'app visibile, il che significa che c'è qualcosa, mi manca o non si scrive correttamente. –