1

我正在使用 codeigniter 并且有一个简单的用户登录设置。用户提交他们的凭据,检查数据库是否有效,如果他们是模型,则向控制器传递会话 ID 并重定向到用户页面。如果数据不正确,用户将被重定向到带有错误消息的登录页面。这里没有什么花哨的。问题是它在IE7中不起作用。我不确定是因为重定向还是会话创建。在除 IE 之外的所有浏览器中都可以正常工作。我测试了 ie 8 和 windows 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;
    }
}
?>
4

2 回答 2

1

在重定向中添加网站网址:

redirect(site_url('admin/show_admin_home'));
于 2013-04-27T07:22:31.240 回答
0

更改配置设置

$config['sess_cookie_name'] = 'cisession'; $config['sess_expiration'] = 84200; $config['sess_expire_on_close'] = 假;$config['sess_encrypt_cookie'] = 假;$config['sess_use_database'] = 假;$config['sess_table_name'] = 'cisessions'; $config['sess_match_ip'] = 假;$config['sess_match_useragent'] = FALSE; $config['sess_time_to_update'] = 300;

于 2013-05-24T08:47:54.330 回答