1

所以这目前为我加载页面。

/controllername/view/id/27/title/shoes

但是,我希望用户能够输入:

/控制器名称/27/鞋子

查看文件。所以在路由文件中,我做了这样的规则,

$route['controllername/(:num)/(:any)'] = "controllername/view/id/$1/title/$2";

原始地址适用于 uri_to_assoc(n) 因为我将其作为

    $array = $this->uri->uri_to_assoc(3);
    $id = $array['id'];
    $title = $array['title'];

但是一旦我路由它并使用新地址访问文件,我就会收到错误消息:未定义索引:id 消息:未定义索引:标题

我使用原始 url 访问它的方式没有收到这些错误。我猜 uri_to_assoc(3) 的值会在 url 更改后发生变化,但我认为路由功能会解决这个问题。谁能帮我摆脱这些变量错误?

4

1 回答 1

1

在这种情况下,您需要ruri_to_assoc

http://codeigniter.com/user_guide/libraries/uri.html

$this->uri->ruri_to_assoc(n)

此函数与 [uri_to_assoc] 相同,只是它在您使用 CodeIgniter 的 URI 路由功能时使用重新路由的 URI 创建一个关联数组。

无论如何,您仍然应该验证您的数组索引,以防 URL 本身无效。

于 2012-08-07T22:21:57.417 回答