如何使用CodeIgniter发送参数和重定向

时间:2016-04-24 12:38:01

标签: php codeigniter

我的框架是codeigniter。

我想这样做: 当用户未登录并点击没有足够权限查看它的url时,我想将用户按当前url重定向到login页面并在{{1}之后},我将用户重定向到上一个login

例如:

url

我的代码:

//user is not login and click on below `url`. I want to keep `profile` address
//and redirect to `enter` page with `profile` address.
www.example.com/profile

//after login, user will redirect to previous url (www.example.com/profile).

//登录页面

function userNotLogin(){

        $cu = current_url();
        $cu = urlencode($cu);
        redirect(base_url().'index/enter/'.$cu);
}

function enter($before_url) { if($this->isLogged()) { if($before_url) { var_dump($before_url); return; }else{ redirect(base_url()); } }else{ $data = array(); $this->view('page_register_login' , $data ); } } 会返回var_dump($before_url);

1 个答案:

答案 0 :(得分:0)

为此你需要使用CodeIgniter的 user_agent 库。

喜欢那样 -

$this->load->library('user_agent');
redirect($this->agent->referrer());

它将100%工作,请使用此...

Exmaple -

public function login()
    {
        $this->load->library('user_agent');
        $username = $this->input->post('username');
        $password = $this->input->post('password');
        $arr = array(
            'username' => $username,
            'password' => md5($password),
            'user_type' => 'admin'
            );
        $result = $this->common_model->getMultiple('panel_login',$arr);
        if(!empty($result )){
            $this->session->set_userdata('unique_id',$result[0]['s_no']);
            $this->session->set_userdata('username',$result[0]['username']);
            $this->session->set_userdata('password',$result[0]['password']);
            $this->session->set_userdata('type',$result[0]['user_type']);
            $this->session->set_userdata('status',$result[0]['status']);
            $this->session->set_userdata('user_activity',time());
            redirect($this->agent->referrer()); 
        }else{
            redirect('login_view');
        }

    }
相关问题