szq 发表于 2012-7-26 16:20:07

ci框架生成图片验证码失败

有个问题请教下前辈们,我最近在学习ci框架,目前遇到这么一个问题,就是按照手册上代码练习的时候验证码图片生成失败!但在项目目录下(backup)能生成图片。就是在网页上显示不出来,出现一个红叉.
代码如下:
<?php
/*
*
*    CI框架辅助函数之验证码辅助函数
*/

    class Szq_captcha extends CI_Controller
    {
      function __construct()
      {
            parent::__construct();

            $this->load->helper("captcha");

      }

      function index()
      {


          $this->load->helper('captcha');
          $vals = array(
          'img_path' => './backup/',
          'img_url' => 'http://localhost/ci_study/index.php/szq_captcha/'
         );

          $cap = create_captcha($vals);

          $data = array(
            'captcha_time' => $cap['time'],
            'ip_address' => $this->input->ip_address(),
            'word' => $cap['word']
            );

          $query = $this->db->insert_string('captcha', $data);
          $this->db->query($query);

         echo '提交下面的验证码:';
         echo $cap['image'];
         echo '<input type="text" name="captcha" value="" />';


      }
    }
?>
麻烦大侠们帮忙给看下,谢谢!
file:///C:/Documents%20and%20Settings/Administrator/Application%20Data/Tencent/Users/2583007384/QQ/WinTemp/RichOle/UC1JP_H%5DMCL1H$18UCXNDSK.jpg


wwwhx110com 发表于 2014-10-21 00:13:08

楼上的朋友,我知道是为空不能写入数据库,但这个涵数的反回的值是空的请看以下代码

#生成验证码
                $vals = array(
                  'word' => rand(1000, 10000),
                  'img_path' => './staticfile/captcha/',
                  'img_url' => base_url('staticfile/captcha').'/',
                  'img_width' => '65',
                   // 'img_height' => '33',
                  'expiration' => 7200
                  );
                $cap = create_captcha($vals);
                var_dump($cap);//返回空值
所以写入数据库就报错,但我在本地测试一点问题都没有,传上服务器就有问题了


wwwhx110com 发表于 2014-10-17 13:36:37

我的也是这个问题

发生了一个数据库错误

Error Number: 1048

Column 'captcha_time' cannot be null

INSERT INTO `hx_captcha` (`captcha_time`, `ip_address`, `word`) VALUES (NULL, '110.208.164.81', NULL)

Filename: D:\wwwroot\utek_cc\system\database\DB_driver.php

Line Number: 330

Closer 发表于 2014-10-17 14:36:54

真心的覺得,去網路找個字典來查看單字很困難嗎...

Column 'captcha_time' cannot be null

很明顯地告訴你你的 captcha_time 不可為空
因為你寫入資料庫時他的 value 是 NULL
所以發生了錯誤,請再檢查一次你 insert_string 的函式

szq 发表于 2012-7-27 16:41:48

额。。。。问题解决了。原来是img_url项写错了。以后一定要细心。。。。。。

收藏家 发表于 2012-7-27 17:08:28

本帖最后由 收藏家 于 2012-7-27 17:10 编辑

{:soso_e154:}我想请教下楼上的,你真的实验成功了么?

szq 发表于 2012-7-30 11:57:10

收藏家 发表于 2012-7-27 17:08 static/image/common/back.gif
我想请教下楼上的,你真的实验成功了么?

嗯,成功了。图片不好上传,总之是成功了。

hihily 发表于 2012-8-17 09:18:21

szq 发表于 2012-7-27 16:41 static/image/common/back.gif
额。。。。问题解决了。原来是img_url项写错了。以后一定要细心。。。。。。 ...

你这img_url应该写成什么啊 我的状况和你一样的 显示图片叉叉

上官元恒 发表于 2012-8-22 23:42:21

   'img_url' => 'http://localhost/ci_study/index.php/backup/'

上官元恒 发表于 2012-8-22 23:44:44

hihily 发表于 2012-8-17 09:18 static/image/common/back.gif
你这img_url应该写成什么啊 我的状况和你一样的 显示图片叉叉

看手册,'img_path'和 'img_url'的区别

android_zhu 发表于 2013-4-12 13:50:46

我用楼主的代码实验了一下,结果报错
提示captcha_time字段不能为空。错误提示信息如下:
A Database Error Occurred

Error Number: 1048

Column 'captcha_time' cannot be null

INSERT INTO `captcha` (`captcha_time`, `ip_address`, `word`) VALUES (NULL, '127.0.0.1', NULL)

Filename: C:\wamp\www\ci-demo\system\database\DB_driver.php

Line Number: 330

aqxinzhuan 发表于 2014-8-4 15:45:56

print_r($cap);瞧瞧就知道哪边不符合了
页: [1] 2
查看完整版本: ci框架生成图片验证码失败