我正在使用codeigniter并拥有简单的用户登录设置。用户提交凭据,检查数据库是否有效,如果模型通过控制器传递会话ID并重定向到用户页面。如果数据不正确,则会将用户重定向到登录页面并显示错误消息。没什么好看的。问题是它在IE7中不起作用。我不确定它是否是因为重定向或会话创建。在IE以外的所有浏览器中都能正常工我在平行线上测试了8个窗口7,工作正常。奇怪的是它在使用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;
}
}
?>
答案 0 :(得分:1)
在重定向中添加网站网址:
redirect(site_url('admin/show_admin_home'));
答案 1 :(得分:0)
更改配置设置
$ config [&#39; sess_cookie_name&#39;] =&#39; cisession&#39 ;; $ config [&#39; sess_expiration&#39;] = 84200; $ config [&#39; sess_expire_on_close&#39;] = FALSE; $ config [&#39; sess_encrypt_cookie&#39;] = FALSE; $ config [&#39; sess_use_database&#39;] = FALSE; $ config [&#39; sess_table_name&#39;] =&#39; cisessions&#39 ;; $ config [&#39; sess_match_ip&#39;] = FALSE; $ config [&#39; sess_match_useragent&#39;] = FALSE; $ config [&#39; sess_time_to_update&#39;] = 300;