2014-10-17 73 views
2

我试图做一些事情非常简单,笨,但不知道为什么它如此固执..代码点火器获取URL

在我的一个网页,我检查用户是否有权限:

 // Validate our user 
     if ($this->global_model->get_permission() != 'Admin') 
     { 
      redirect('/permissions/index/'.current_url()); 
     } 

在权限控制,我记录他们来自何处:

$this->global_model->log_data('permission','Invalid Permissions | Referer : ' . $this->uri->segment(3)); 

由于其中具有/的URL,它给我http:为URI3 。

如何在URL中传递此值,但获得整个值?

回答

2

您可以创建这样一个解决办法,以避免分裂的URI:

redirect('/permissions/index/' . base64_encode(current_url())); 

然后在其他用途​​(参数旁边方法名):

$url = base64_decode($this->uri->segment(3)); 
$this->global_model->log_data('permission','Invalid Permissions | Referer : ' . $url); 
+0

酷,奏效为了我!我不得不添加'='到'$ config ['permitted_uri_chars']'希望这不是一个大问题。 – SBB 2014-10-17 01:48:01

+0

@SBB哦,是的我忘记了,它包含在CI的一个过滤器中,我很高兴这有帮助 – Ghost 2014-10-17 01:48:36