我使用codeigniter,并有一个简单的用户登录设置。用户提交他们的凭据,与DB检查它们是否有效,如果有效,则模型向控制器传递会话ID并重定向到用户页面。如果数据不正确,用户将被重定向到带有错误消息的登录页面。这里没什么特别的。问题是它不能在IE7中工作。我不确定是否因为重定向或会话创建。在除IE以外的所有浏览器中都可以正常工作。我在windows 7上测试了ie8,效果很好。奇怪的是,它不能在装有windows 7 IE7的电脑上运行。有人能告诉我为什么每次用户登录时登录页面都会刷新吗?我被告知尝试添加以下代码
$this->load->library('session');
$this->load->model('login_model');
$num_rows=$this->login_model->validate();
if($num_rows == 1)
{
$data = array(
'is_logged_in' => true,
);
$this->session->set_userdata($data);
redirect('admin/show_admin_home');
}
else
{
$data['message']="चुकीचे युझर नेम अथवा पास वर्ड";
$this->load->view('login',$data);
}
登录模型代码:-
<?php
class Login_model extends CI_Model {
function validate()
{
$username = $this->input->post('username');
$password = $this->input->post('inputPassword');
$this->db->select('*');
$this->db->where('login_username', $username);
$this->db->where('login_password', $password);
$query = $this->db->get('login');
return $query->num_rows;
}
}
?>
在重定向中添加站点url:
redirect(site_url('admin/show_admin_home'));
更改配置
$config['sess_cookie_name'] = ' session';$config['sess_expiration'] = 84200;$config['sess_expire_on_close'] = FALSE;$config['sess_encrypt_cookie'] = FALSE;$config['sess_use_database'] = FALSE;$config['sess_table_name'] = ' session ';$config['sess_match_ip'] = FALSE;$config['sess_match_useragent'] = FALSE;$config['sess_time_to_update'] = 300;