2011-08-11 9 views
0

jqueryとcodeigniterを使用してcatchaを作成しています。私の問題は、キャプチャ画像のリフレッシュ中です。srcは更新されません。ここリフレクションイメージsrc jqueryとcodeigniterを使用

キャプチャ

<?php 

クラスGet_captchaがコントローラ jqueryの

のHTML

<img src="<?php echo site_url('get_captcha') ?>" alt="" id="captcha" /><a href="#" class="b" id="refresh-captcha">Refresh</a> 

コードの{

function Get_captcha() 
{ 
    parent::controller(); 
    $this->load->library('session'); 
    $this->load->library('form_validation');  
    $this->load->helper(array('form', 'url')); 
    $this->load->model('tools_model');      
} 

function index($random = false) 
{ 
    $rand_string = $this->tools_model->RandomString(5);  
    $new_sess_data = array("random_number"=>$rand_string); 
    $this->session->set_userdata($new_sess_data);  

    $image = imagecreatetruecolor(148, 25);  
    $dir = 'fonts/'; 

    $num = rand(1,2); 
    if($num==1) 
    { 
     $font = "Capture it 2.ttf"; // font style 
    } 
    else 
    { 
     $font = "Molot.otf";// font style 
    } 

    // random number 1 or 2 
    $num2 = rand(1,2); 
    if($num2==1) 
    { 
     $color = imagecolorallocate($image, 113, 193, 217);// color 
    } 
    else 
    { 
     $color = imagecolorallocate($image, 163, 197, 82);// color 
    } 

    $white = imagecolorallocate($image, 255, 255, 255); // background color white 
    imagefilledrectangle($image,0,0,399,99,$white); 

    imagettftext ($image, 18, 0, 38, 22, $color, $dir.$font, $this->session->userdata('random_number')); 

    header("Content-type: image/png"); 
    imagepng($image); 
} 
} 

コードを拡張を作成するコードであります

答えて

0

実際に画像を変更していないようです。ブラウザのURLを変更してイメージを再度検索する必要があります。このように見えるためにあなたのJSコードを変更してみてください:

$('#refresh-captcha').click(function(){ 
    var random = new Date().getTime(); 
    $('#captcha').attr('src','<?php echo site_url('get_captcha') ?>?random='+random); 
}); 

これは、ボタンを押すたびに「違う」となる画像を強制します。

+0

こんにちは、私はあなたのコードを試みたが、画像は表示されません。私が火かき棒を見るとき「与えられたURLを読み込めませんでした」ありがとう – tirso

+0

まあ、ロードしようとしたURLは何ですか?それは有効ですか?手動でロードしようとしましたか? site_url()は有効な完全修飾URLを出力していますか? – OverZealous

関連する問題