2013-03-12 61 views
1

我會盡量保持具體。我使用codeigniter captcha助手爲我的網站上的用戶驗證生成驗證碼,它在ly localhost上工作良好,但是當我在線上傳網站時,驗證碼未顯示任何內容,顯然,當我使用開發人員工具查看img標籤時包含驗證碼圖像根本就沒有。CodeIgniter驗證碼圖片在線時不能正常工作

的代碼是:

$this->load->helper('captcha'); 
$vals = array(
     'img_path' => './captcha/', 
     'img_url' => base_url().'captcha/', 
     'font_path' => './fonts/VeraSe.ttf', 
     ); 

$img = create_captcha($vals); 
$x = $this->session->set_userdata('captcha', $img['word']); 

$data['image'] = $img['image']; 
$data['captcha1'] = $img['word']; 
$this->load->view('signup', $data); 

並在視圖:

<?php echo $image; ?> 
+2

檢查文件夾權限。我認爲CI也使用了GD擴展。檢查擴展是否啓用。 – Samy 2013-03-12 13:09:04

+0

你的'base_url()'在你的在線網站上正確設置了嗎?看看源代碼(不是開發工具),看看什麼(如果有的話)正在echo'd – 2013-03-12 13:09:53

+0

是的@Samy說檢查GD擴展已啓用您的PHP配置 – 2013-03-12 13:10:27

回答

0

captcha helper page

的 「驗證碼」 文件夾必須是可寫的(666,或777)

驗證碼功能需求res GD圖像庫。

請確保這些在您的在線網站上是正確的。

+0

我如何確定,你能指導我... – Hunain 2013-03-12 13:15:38

+0

設置這些東西是基於你使用哪個託管服務提供商以及用於上傳文件和與文件進行交互的工具。我建議你在谷歌搜索這些東西和/或聯繫你的主機提供商支持 – 2013-03-12 13:18:24

+1

phpinfo();在您的任何頁面中使用此功能並查看輸出。檢查GD – Samy 2013-03-12 13:19:14

1

看來,劇本有一些問題,它需要額外的參數,這是工作的代碼是:

$vals = array(

    'img_path' => './captcha/', 
    'img_url' => 'http://example.com/captcha/', 
    'font_path' => './fonts/texb.ttf', 
    'img_width' => '150', 
    'img_height' => 30, 
    'expiration' => 7200 
    ); 

$cap = create_captcha($vals); 
$data = $cap['image']; 
$this->load->view(signup, $data); 

,並在視圖文件

echo $image; 
+0

我很高興你找到你的答案 – 2013-03-13 08:09:14

0

重寫htaccess文件包括:驗證碼文件夾像

RewriteCond $1 !^(index\.php|asset|captcha|inc|images|robots\.txt) 

有同樣的問題,但它爲我工作。請記住首先創建.htaccess文件的備份

0

對於我來說,足以添加名爲「captcha」的目錄來規則化文件.htaccess。 Like寫爲poly:

RewriteCond $1 !^(index\.php|asset|captcha|inc|images|robots\.txt)