0

私はこれに1日取り組みました。これと同じ問題が発生しますが、わかりません。

<?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 では、このメッセージが表示されます。私は何をすべきか?

この Web ページにはリダイレクト ループがあります の Web ページのリダイレクト http://localhost/simpks/index.php/Users/loginが多すぎます。このサイトの Cookie を消去するか、サードパーティの Cookie を許可すると、問題が解決する場合があります。そうでない場合は、コンピューターの問題ではなく、サーバーの構成の問題である可能性があります。いくつかの提案があります: この Web ページを後でリロードします。この問題の詳細をご覧ください。エラー 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;
            }
        }

    }

?>
4

3 に答える 3

0

私もその問題に直面していますが、両方のページのコントローラーでリダイレクトメソッドを使用しているためrefresh、リダイレクトメソッドに追加して試してください。

ページの下部で読む更新を伴う CI リダイレクト

<?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');
    }
}
于 2013-09-17T17:06:30.403 に答える
0

redirect('Users/login');ビュークラスでセッションチェックを行う必要はありません。消すだけ。

リダイレクトが必要な場合は、users/test などの別のページに配置します。users/test でセッションの有効期限が切れている場合、users/test コントローラーでリダイレクト メソッドを呼び出します。構造を改善するには、ビューでphp関数を最小限に抑える必要があると思います。

于 2013-02-24T00:29:30.227 に答える
0

ビューで呼び出す場合は、ローダーの代わりにインクルードを使用してください。元 :include 'includes/footer';

于 2013-02-23T23:53:42.037 に答える