最近发现一个问题,一直没想好怎么解决。昨天,想了一个小办法,算是解决了。

问题:首先打开登录画面,键入名称和密码,进入mainpage; 如果此时重新打开登录画面,仍然键入名称和密码,出现的就是关于数据库的错误了;

        但如果是清楚Cookie后,再登录,则没有问题。看来问题是出现在Cookie上。

 

环境:xp sp2; xampp1.7.4; IE6

 

方法:在start控制器中的index()方法如下:

          function index()
    {
     $data['mytitle']    = "My site";
     $data['base']       = $this->config->item('base_url');
     $data['css']        = $this->config->item('css');
     $data['mytitle']    = "A website to monitor other websites";
     $data['text']       = "Please log in here!";
 $data['diagnostic']="you are online";
 $data['error']="";
 
 $status = $this->session->userdata('status');
        if ( $status == 'OK')
 {
     $this->load->model('display');
     $this->display->mainpage($data); 
 }
 else
 {
 $this->load->library('menu');
 $mymenu=$this->menu->show_menu('hi');
 $data['menu'] = $mymenu;
 
        $this->load->view('entrypage', $data);
  } 

}

 

这里做的结果是,即使登录以后进入mainpage;再打开首页,也就是登录页面,则由于已经登录过,直接进入mainpage.

 

问题:关闭IE,重新启动计算机,发现还是直接进入mainpage. 如何关闭session呢?

方法:在application/config/config.php中,有一个关于session的参数设定,sess_expire_on_close

        将其设为TRUE即可解决问题。

posted on 2012-02-28 10:07  vesa3.0  阅读(263)  评论(0编辑  收藏  举报