我为此工作了一天。我得到这个same problem,但我不明白。
<?php
class Users extends CI_Controller
{
function index()
{
redirect('Users/login');
}
function login()
{
$data['title'] = 'Selamat datang di Sistem Informasi Koperasi';
$data['main_content'] = 'login';
$this->load->view('Users/template', $data);
}
function logout()
{
$this->session->sess_destroy();
$this->session->set_flashdata('info_login', 'Anda sudah keluar dari sistem');
redirect('Users/login');
}
function validate()
{
//Load User Model
$this->load->model('Users_Model');
//Validate User
$query = $this->Users_Model->validate();
if($query != '') {
//Mengambil Roles dari Groups
$roles = $this->Users_Model->roles($query->group_id);
//$this->login_model->last_login($query);
$data = array(
'username' => $query->username,
'roles' => $roles,
'is_logged_in' => true
);
$this->session->set_userdata($data);
if($roles == 'administrators') {
redirect('Administrators/index');
} elseif($roles == 'managers') {
redirect('Managers/index');
}
else {
$this->session->set_flashdata('info_login', 'Mohon maaf anda belum terdaftar sebagai Group! Silahkan hubungi admin!');
redirect('Users/login');
}
} else {
$this->session->set_flashdata('info_login', 'Maaf,username dan password yang anda masukkan salah,silahkan coba kembali!');
redirect('Users/login');
}
}
}
在Chrome和Firefox中,我收到此消息。我该怎么办?
这个网页有一个重定向循环
http://localhost/simpks/index.php/Users/login
的网页导致了太多的重定向。清除此站点的cookie或允许第三方cookie可以解决问题。如果没有,它可能是服务器配置问题,而不是您的计算机的问题。以下是一些建议:稍后重新加载此网页。详细了解此问题。错误310(net :: ERR_TOO_MANY_REDIRECTS):重定向太多。
这是我的视图template.php
<?php
$this->load->view('includes/header',$main_content);
$this->load->view('Users/'.$main_content);
$this->load->view('includes/footer');
?>
这是我的模型Users_Model.php
<?php
class Users_Model extends CI_Model{
function validate(){
$this->db->where('username',$this->input->post('username'));
$this->db->where('password',md5($this->input->post('password')));
$query = $this->db->get('Users');
if($query->num_rows == 1){
$row = $query->row();
return $row;
}
}
function roles($id){
$this->db->where('id',$id);
$query = $this->db->get('Groups');
if($query->num_rows == 1){
$row = $query->row();
return $row->name;
}
}
}
?>
如果在视图中调用它,请使用include而不是loader。例如:include 'includes/footer';
您不必在视图类中放置redirect('Users/login');
进行会话检查。擦掉它。
如果您需要重定向,请将其放在另一个页面中,例如users / test。如果会话在用户/测试控制器中的用户/测试呼叫重定向方法中过期。为了更好的结构,我认为你应该在视图中最小化PHP功能。
我也面临这个问题,但两个页面的控制器我重定向方法所以我在重定向方法中添加一个refresh
,尝试一下。
阅读页面底部CI redirect with refresh
<?php
class Users extends CI_Controller
{
function index()
{
redirect('another_controller/login');
}
}
Create another controller - another_controller.php
class another_controller extends CI_Controller
{
function login()
{
$this->load->view('home');
}
}