我花了一天的时间做这个。我得到了这个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):有太多的重定向。
这是我的浏览器
<?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;
}
}
}
?>
3条答案
按热度按时间64jmpszr1#
如果你在视图中调用它,使用include代替loader。例如:
include 'includes/footer';
qij5mzcb2#
你不需要把
redirect('Users/login');
放在视图类中进行会话检查,直接删除它就行了。如果你需要重定向,把它放在另一个页面,比如users/test。如果在users/test中会话过期,调用users/test控制器中的重定向方法。为了更好的结构,我认为你应该最小化视图中的php函数。
xdyibdwo3#
我也面临着这个问题,但两个页面的控制器我重定向方法,所以我添加了一个
refresh
在重定向方法,尝试它。在页面CI redirect with refresh底部读取