我改变了routes.php
$route['category']='Home/category';
使网址看起来像www.website.com/Hategory www.website.com/Home/category。由于Home是我的默认控制器。
但如果我在类别功能中使用$this->uri->segment();
,它就不起作用了。这是我的控制器
class Home extends CI_Controller {
public function category()
{
$value=$this->uri->segmet(3);
}
}
我的网址是www.website.com/category/books
如果我不改变路线,我会得到结果。但通过改变路线,我需要这个工作。请帮我。感谢
答案 0 :(得分:1)
您好请检查代码中的段拼写
class Home extends CI_Controller {
public function category()
{
$value=$this->uri->segmet(3); //wrong
$value=$this->uri->segment(3);
}
}
答案 1 :(得分:0)
您可以通过以下方式调试您拥有的内容:
var_dump($this->uri->segment_array());
这会在URI中为您提供array of all segments。
您也可以尝试使用此方法进行调试:
var_dump($this->uri->rsegment_array());
这将在URI
中为您提供array of all routed segments您可以使用$this->uri->segment()
或$this->uri->rsegment()
找到更适合您应用的内容。
答案 2 :(得分:0)
首先,你需要加载URL库,而不是你的URL是:
www.website.com/category/books
并且您希望从网址获取books
而不是网段:
$value=$this->uri->segment(2); //books
答案 3 :(得分:0)
我的网址库处于自动加载状态。无论如何我解决了它。我刚配置了这样的路线
big.mark