我无法使用codeigniter从网址获取ID

时间:2015-09-06 12:01:12

标签: codeigniter

我正在尝试开发一个博客网站。这是我的问题:我无法从网址获取ID。

使用我的htaccess(我删除了index.php),现在这是我当前的链接:http://localhost/blogcodeigniter/posts/test_title_id_1

这是我在控制器中的功能:

public function post_look_up() {
    $id = $this->uri->segment(3);
    echo $id;
}

这是我的路线:

$route['posts/(:any)']='blog/post_look_up';

2 个答案:

答案 0 :(得分:1)

由于您已经重写了controller/method,因此您希望使用URI类' rsegment()方法

$id = $this->uri->rsegment(3);

$id = $this->uri->segment(2);

您可以看到新设置的路线只有2个段。 Reference

答案 1 :(得分:1)

如果采用此约定,则必须标识字符串中的最后一个数字。

$segment = $this->uri->segment(2); //or  3
$post_id = preg_replace('(\d+)$', '', $segment);

但我不会这样。我只会根据slug加载帖子,只使用$ this-> uri-> segment(2)从db获取帖子。