2012-08-10 9 views
6

मैं एक उपयोगकर्ता पंजीकरण फार्म है, जिसमें मैं Yii का उपयोग करके एक कैप्चा छवि प्रदर्शित करने कोशिश कर रहा हूँ प्रदर्शित CCaptcha विजेट, हालांकि मेरी छवि लिंक, टूटा हुआ प्रतीत होता नियंत्रक फ़ाइल:
CCaptcha कोई छवि Yii

public function actions() 
    { 
     return array(
      // captcha action renders the CAPTCHA image displayed on the contact page 
      'captcha'=>array(
       'class'=>'CCaptchaAction', 
       'backColor'=>0xFFFFFF, 
      ), 
     ); 
    } 

मॉडल फ़ाइल:

public function rules() 
{ 
    return array(array('verifyCode','captcha','allowEmpty'=>!CCaptcha::checkRequirements(),'on'=>'insert'), 
); 
} 

और दृश्य फ़ाइल:

<?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; ?> 

उपलब्ध कराए गए एक जवाब के रूप में कहीं न कहीं मैं भी रूप में

public function accessRules() 
{ 
    return array(
     array('allow', 
     'actions' => array('captcha'), 
     'users' => array('*'), 
     ), 
    ); 
} 

मेरी नियंत्रक फ़ाइल में पहुँच नियम देने की कोशिश की लेकिन कुछ भी नहीं काम कर रहा है।

+0

मैंने आपके कोड का परीक्षण किया और कोई त्रुटि नहीं हुई! बस मैं इसे 'चालू' => 'सम्मिलित' जोड़ता हूं लेकिन कैप्चा की छवि दिखाई देता हूं! – SoldierCorp

+0

मैंने अपने मॉडल वर्ग में 'ऑन' => 'डालने' भी लिखा है। लेकिन वहां कोई भाग्य नहीं है। यिक उपकरण जेनरेट किया गया ऐप का कैप्चा दृश्यमान है जिसका अर्थ है, कुछ है, मैं गुम हो रहा हूं या गलत तरीके से लिख रहा हूं। –

उत्तर

8

समस्या नियंत्रक फ़ाइल के साथ था, यह किया जाना चाहिए था,

public function accessRules() 
    { 
     return array(
      array('allow', 
       'actions'=>array('create', 'captcha'), 
       'users'=>array('*'), 
      ), 
    } 


जबकि मैं अंत है, जो मैं पता लगा पर कैप्चा के लिए कार्रवाई कहा था Yii में अनुमति नहीं है। * के लिए सभी अनुमति कार्यों को एक साथ होना चाहिए।

-1

वाईआई कैप्चा एक पीएनजी छवि तैयार करेगा। टूटे हुए छवि लिंक के लिए एक संभावित व्याख्या एक लापता जी.डी. विस्तार या Imagick विस्तार है, जो आपके error.log में निम्न पाठ की उपस्थिति से पहचाना जा सकता होगा:

कॉल अपरिभाषित समारोह imagecreatetruecolor को

विवरण और फिक्स के लिए "call to undefined function imagecreatetruecolor" error in PHP & pChart