我的框架是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);
。
答案 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');
}
}