2017-04-26 45 views
1

我是CodeIgniter的新手。我正在尝试从常规方法而不是段的查询字符串中读取值。从CodeIgniter的查询字符串中读取值

这是我的网址。

http://localhost/Voyager/Main/UserActivation/?u=6df497644a10241cd89fad80f5c98496

控制器:

class Main extends CI_Controller{ 

    public function UserActivation() 
    { 
     $hash=$this->input->get('u', TRUE); 
     log_message('debug', $hash, false); 
     $this->load->view('Main\view_userActivation'); 
    } 

} 

我想在控制器读取的 'U' 值。但是这不起作用。我在$ hash变量中获得空值。

任何帮助表示赞赏。

+0

[Codeigniter从url获取参数]的可能重复(http://stackoverflow.com/questions/33682673/codeigniter-get-parameters-from-url) – ggdx

+0

@DanWhite。如果你检查得当,你会发现你提到的一个关于从细分中获得价值的内容。我提到的问题是不同的。在努力提出问题之前,我已经扫描了超过4页的Google搜索结果。 –

+0

您的代码应该可以工作。只要检查你设置'$ config ['allow_get_array'] = TRUE;'在你的config.php并确保你的'url'帮手已加载 –

回答

1

Codeigniter与URI段一起使用。你在你的URL直接传递的值,其/分离和你抢他们BASE_URL后的位置像

$这个 - > URI->段(3)

检查此链接: Codeigniter Documentation

+0

太棒了。这是我发现的最简单的答案。非常感谢。 –

+0

这不适用于OP使用的链接。 –

1

你可以做这样的事情

方法01

class Main extends CI_Controller{ 

    public function UserActivation($u) 
    { 
     echo $u; 
     die; 
     $this->load->view('Main\view_userActivation'); 
    } 

} 

那么URL应该是

http://localhost/Voyager/Main/UserActivation/6df497644a10241cd89fad80f5c98496 

方法02

class Main extends CI_Controller{ 

    public function UserActivation() 
    { 
     $value = $this->uri->segment(3); 
     echo $value; 
     $this->load->view('Main\view_userActivation'); 
    } 

} 
+0

谢谢。感谢你的努力。 ) –

+0

哈哈。没有问题:) –

+0

您确定Method2将适用于OP使用的链接吗? –

2

还有那会取消$_GET阵列,但只有当你决定改变配置选项它
这是它的外观默认情况下的application/config/config.php文件:

$config['allow_get_array'] = TRUE; 

如果你把它改为false - 切换回true。除此之外,默认情况下没有理由不起作用。

+0

这是正确的答案 –

0

从最后一个uri段中删除/

http://localhost/Voyager/Main/UserActivation?u=6df497644a10241cd89fad80f5c98496

此外,另一件事。为什么你的uri控制器和方法以大写字母开头?那不应该那样。