从CodeIgniter

时间:2017-04-26 13:51:34

标签: php codeigniter get routing

我是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变量中得到空值。

感谢任何帮助。

4 个答案:

答案 0 :(得分:2)

有一个配置选项取消设置$_GET数组,但前提是您决定更改
这是默认情况下在application / config / config.php中的外观:

$config['allow_get_array'] = TRUE;

如果您已将其更改为false - 请将其切换回true。除此之外,默认情况下没有理由不这样做。

答案 1 :(得分:1)

Codeigniter与URI Segments一起使用。您可以在网址中直接传递值,用 / 分隔,然后在base_url之后使用位置抓取它们

  

$这 - > URI->段(3)

点击此链接:Codeigniter Documentation

答案 2 :(得分:1)

你可以做这样的事情

方法01

class Main extends CI_Controller{

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

}

然后网址应为

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');  
    }

}

答案 3 :(得分:0)

从最后一个uri细分中删除/

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

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