2013-04-05 52 views
0

我想从URI中获得ref的值,看起来像这样http://localhost/project/?ref=6 现在我知道$_GET['ref']在codeigniter中不起作用。我试图通过设置$config['allow_get_array'] = TRUE;来启用它,但它不起作用。

我在某处读到关于使用$this->input->get('ref')但没有运气的地方。在使用之前,我在config.php中加载了input库。

注:我想在模型

加入到访问的config.php

$config['uri_protocol'] = "PATH_INFO"; 
$config['permitted_uri_chars'] = 'a-z 0-9~%.:_\-?'; 

这个值和评价现有$config['uri_protocol'] = 'REQUEST_URI';$config['permitted_uri_chars'] = 'a-z 0-9~%.:_\-';

控制器代码:

parse_str($_SERVER['QUERY_STRING'], $_GET); 
     $ref = $this->security->xss_clean($_GET['ref']); 
     log_message('info','>>>>>>>>>>>>>>>>>>enter email_invites method::'.$ref); 

但我仍然没有得到任何价值,不知何故,我没有看到我的任何日志消息。

回答

2

这条线将解析URL并填充$_GET阵列与URL的参数:

parse_str(substr(strrchr($_SERVER['REQUEST_URI'], "?"), 1), $_GET); 

然后,它可以被访问,你通常会访问一个数组,例如:

$ref = $_GET['ref']; 

你的配置 - application/config/config.php - 应设置如下:

$config['uri_protocol'] = "PATH_INFO"; 
+0

没有运气。另外我现在没有看到我的日志消息。 – 2013-04-05 01:27:01

+0

''_SERVER ['REQUEST_URI']'和'$ _GET'在'parse_str(...')行后的值是什么? – jleft 2013-04-05 01:35:29

+0

请不要重复的答案,而应该链接已经答案的问题以评论或重复表决的形式。 – hakre 2013-04-05 01:49:40