最近发现一个问题,一直没想好怎么解决。昨天,想了一个小办法,算是解决了。
问题:首先打开登录画面,键入名称和密码,进入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即可解决问题。