我正在使用Yii創建我的網頁。當我創建的頁面,創建的Yii比下非常相似的一種形式:我無法重新加載我的聯繫表格的驗證碼
<?php
/* @var $this SiteController */
/* @var $model ContactForm */
/* @var $form CActiveForm */
$this->pageTitle=Yii::app()->name . ' - Contact';
$this->breadcrumbs=array(
'Contact',
);
?>
<?php if(Yii::app()->user->hasFlash('contact')): ?>
<div class="flash-success">
<?php echo Yii::app()->user->getFlash('contact'); ?>
</div>
<?php else: ?>
<div class="form">
<?php $form=$this->beginWidget('CActiveForm', array(
'id'=>'contact-form',
'enableClientValidation'=>true,
'clientOptions'=>array(
'validateOnSubmit'=>true,
),
)); ?>
<p class="note"><?php echo Yii::t('app','Fields with');?> <span class="required">*</span> <?php echo Yii::t('app','are required.');?></p>
<?php echo $form->errorSummary($model); ?>
<div class="row">
<?php echo $form->labelEx($model,'name'); ?>
<?php echo $form->textField($model,'name'); ?>
<?php echo $form->error($model,'name'); ?>
</div>
<div class="row">
<?php echo $form->labelEx($model,'email'); ?>
<?php echo $form->textField($model,'email'); ?>
<?php echo $form->error($model,'email'); ?>
</div>
<div class="row">
<?php echo $form->labelEx($model,'subject'); ?>
<?php echo $form->textField($model,'subject',array('size'=>60,'maxlength'=>128)); ?>
<?php echo $form->error($model,'subject'); ?>
</div>
<div class="row">
<?php echo $form->labelEx($model,'body'); ?>
<?php echo $form->textArea($model,'body',array('rows'=>6, 'cols'=>50)); ?>
<?php echo $form->error($model,'body'); ?>
</div>
<?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"><?php echo Yii::t('app','Please enter the letters as they are shown in the image above.');?>
<br/><?php echo Yii::t('app','Letters are not case-sensitive.');?></div>
<?php echo $form->error($model,'verifyCode'); ?>
</div>
<?php endif; ?>
<div class="row buttons">
<?php echo CHtml::submitButton('Submit'); ?>
</div>
<?php $this->endWidget(); ?>
</div><!-- form -->
<?php endif; ?>
在開始時,這種形式的工作,但在那之後,我提高了網頁加入更多功能。幾分鐘前,我正在檢查所有頁面,並看到重新加載的captcha按鈕不起作用。現在,當我嘗試重新加載驗證碼,網頁被重新加載並使用此代碼顯示一個空白頁面:
{"hash1":774,"hash2":774,"url":"\/MyApp\/site\/captcha.html?v=526045d3d1187"}
我試圖尋找在谷歌的一些類似的錯誤,但我沒有發現任何東西。說實話,我不明白髮生了什麼事。我想我在我的網頁的另一個文件中添加的代碼會產生這個錯誤,但我沒有任何想法......我不明白這個代碼是什麼意思。
請,我需要你的幫助!
有人可以幫助我嗎?感謝
編輯:
如果我期待我的瀏覽器網頁的源代碼,我搜索「captcha.html」,我可以看到下面的代碼:
<script type="text/javascript">
/*<![CDATA[*/
jQuery(function($) {
jQuery('#yw0').after("<a id=\"yw0_button\" href=\"\/MyApp\/site\/captcha.html?refresh=1 \">Obtenga un nuevo c\u00f3digo<\/a>");
jQuery(document).on('click', '#yw0_button', function(){
jQuery.ajax({
url: "\/MyApp\/site\/captcha.html?refresh=1",
dataType: 'json',
cache: false,
success: function(data) {
jQuery('#yw0').attr('src', data['url']);
jQuery('body').data('captcha.hash', [data['hash1'], data['hash2']]);
}
});
return false;
});
但我沒有找到在任何地方captcha.html ...
編輯2: 我發現這個問題。我在我的wep頁面的主頁末尾添加了javascript代碼。我加了這個:
<script type="text/javascript" src="<?php echo Yii::app()->theme->baseUrl; ?>/scripts/jquery-1.4.1.min.js"></script>
<script type="text/javascript" src="<?php echo Yii::app()->theme->baseUrl; ?>/scripts/jquery-ui-1.8.12.custom.min.js"></script>
<script type="text/javascript" src="<?php echo Yii::app()->theme->baseUrl; ?>/scripts/jquery-photostack.js"></script>
<script type="text/javascript" src="<?php echo Yii::app()->theme->baseUrl; ?>/scripts/jquery-coin-slider.min.js"></script>
如果我刪除這段代碼,驗證碼可以正確地重新加載。請有人能告訴我我在這裏做得不好嗎?爲什麼我的JavaScript代碼產生這個?我該如何解決它?
讓人想到的食物:「總是使用作品的增量副本」,這樣你就可以恢復過去曾經工作過的東西。現在,我注意到'captcha.html' - 如果該文件中有任何PHP,並且您沒有正確設置Apache將'.html'作爲PHP?如果是這種情況,那麼這將停止它的軌道。 –
感謝Fredd-ii-,我不知道文件captcha.html在哪裏,我試圖找到它,但我不能....所以我確信我沒有在那裏引入任何PHP代碼.. 。當我做出改變時,我總是嘗試修改所有內容,但是要告訴你事實,我沒有修改這個按鈕,現在我不知道這是什麼問題... –
不客氣。那麼試試看看你能否找到它。這是非常奇怪的,由「Yii」創造,但沒有保存在任何地方。 –