|
用$_SESSION来做了一个对验证码输入是否正确的验证,但是在上一个方法里面定义了$_SESSION的值,在下面的方法里面$_SESSION的值却没有接收过来是怎么回事呀。。代码是这个样子的。求大神帮帮忙。
class Houtaidenglu extends CI_Controller
{
public function index()
{
// $this->load->library('session');
//定义一个验证码方法,这里我们使用CI框架自带的验证码辅助函数
//首先载入辅助函数
$this->load->helper('captcha');
//自己定义一个总个数为4个字母数字组合的验证码
//定义一个$ku 把验证码中要用到的字母和数字赋给$ku
$ku = 'qwertyuiopasdfghjklzxcvbnm1234567890';
//定义一个$word 暂时不赋给其值
$word = '';
//运用for循环,在$ku 中随机的取出4个字符,拼成一个验证码
for($i=0;$i<1;$i++)
{
$word .= $ku[mt_rand(0,strlen($ku)-1)];
}
//进行配置,验证码的配置项需要用一个数组来接收
$yanzhengma = array(
'word' => $word,
'img_path' => './captcha/', //定义图片存入的路径
'img_url' => base_url().'/captcha/', //定义获取图片的路径
'img_width' => 80,
'img_height' => 25,
'expiration' => 60 //定义验证码在文件夹保存的时间 以秒为单位
);
//创建验证码,把我们的配置项填入括号里,这里返回一个数组,用$ver接收
$ver = create_captcha($yanzhengma);
//判断session是否开启,如果没有开启,就使用session_start()进行开启
// $this->load->library('session');
if(!isset($_SESSION))
{
session_start();
}
$_SESSION['code'] = $ver['word'];
$data['cap'] = $ver['image'];
$this->load->view('admin/login.html',$data);
}
public function login_in()
{
$code = $this->input->post('captcha');
if(!isset($_SESSION))
{
session_start();
}
if(strtoupper($code) != $_SESSION['code'])
{
echo"验证码错误";
}
}
} |
|