Php 从CodeIgniter中的查询字符串读取值

Php 从CodeIgniter中的查询字符串读取值,php,codeigniter,get,routing,Php,Codeigniter,Get,Routing,我是CodeIgniter的新手。我试图用传统的方法而不是段从查询字符串中读取值 这是我的url。 http://localhost/Voyager/Main/UserActivation/?u=6df497644a10241cd89fad80f5c98496 控制器: class Main extends CI_Controller{ public function UserActivation() { $hash=$this->input->g

我是CodeIgniter的新手。我试图用传统的方法而不是段从查询字符串中读取值

这是我的url。

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


非常感谢您的帮助。

Codeigniter可以处理URI段。您可以直接在URL中传递值,并用/分隔,然后在基本URL后面的位置获取它们,如

$this->uri->segment(3)


检查此链接:

Codeigniter可用于URI段。您可以直接在URL中传递值,并用/分隔,然后在基本URL后面的位置获取它们,如

$this->uri->segment(3)


检查此链接:

您可以这样做

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

}

你可以这样做

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

}

有一个配置选项可以取消设置
$\u GET
数组,但只有在您决定更改它时才可以。
这是它在application/config/config.php中的默认外观:

$config['allow_get_array'] = TRUE;

如果已将其更改为
false
,请将其切换回
true
。除此之外,默认情况下,没有理由不起作用。

有一个配置选项,可以取消设置
$\u GET
数组,但只有在您决定更改它的情况下。
这是它在application/config/config.php中的默认外观:

$config['allow_get_array'] = TRUE;

如果已将其更改为
false
,请将其切换回
true
。除此之外,默认情况下,没有理由不起作用。

从最后一个uri段中删除
/

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


还有一件事。为什么uri控制器和方法以大写字母开头?不应该是这样。

从最后一个uri段中删除
/

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


还有一件事。为什么uri控制器和方法以大写字母开头?不应该是这样。

可能是@DanWhite的复制品。若你们检查正确,你们会发现你们提到的那个一个是关于从段中获取值的。我刚才提到的问题是不同的。在开始问问题之前,我已经扫描了超过4页的谷歌搜索结果来寻找问题。你的代码应该可以用。只需检查您设置的
$config['allow\u get\u array']=TRUE
在config.php中,并确保加载了您的
url
helper@DanWhite的可能副本。若你们检查正确,你们会发现你们提到的那个一个是关于从段中获取值的。我刚才提到的问题是不同的。在开始问问题之前,我已经扫描了超过4页的谷歌搜索结果来寻找问题。你的代码应该可以用。只需检查您设置的
$config['allow\u get\u array']=TRUE
在config.php中,确保加载了
url
帮助程序。这是我找到的最简单的答案。非常感谢,太棒了。这是我找到的最简单的答案。非常感谢,谢谢。感谢您的努力。)哈哈。无问题:)您确定Method2适用于OP使用的链接吗?谢谢。感谢您的努力。)哈哈。无问题:)您确定Method2适用于OP使用的链接吗?