-1

我正在使用 codeigniter 2.xx,这是我的视图代码:

<a  href="users/user_info/<?=$row->user_name;?>/<?php echo $row->user_id;?>"></a>

这是我的控制器代码:

function user_info($name, $id)
{   
    $info['info']       =   $this->user_model->user_info($id);
    $data['content']    =   $this->load->view('home',$info,true);
    $this->load->view('template',$data);
}

当我点击链接时,我得到这个网址:http://localhost/users/user_info/name/id

我想删除最后一个 id 段,所以我的 url 变为:http://localhost/users/user_info/name。我怎样才能做到这一点?我阅读了有关 uri 段的信息,但它并没有解决我的问题。

4

2 回答 2

0

如果您尝试获取当前 URL 并从中删除 /id,只需:

$url = $_SERVER["REQUEST_URI"];

$paths = explode('/', trim(parse_url($url, PHP_URL_PATH), '/'));

unset($paths[count($paths)-1]);

$new_url = '/' . implode('/', $paths);

echo $new_url;

删除最后一个 URL 段,/users/user_info/name如果访问页面则输出/users/user_info/name/id

或者,您可以将 $url 更改为 href="..." 中的字符串,但是您不能直接从 href 中删除代码吗?

于 2013-04-06T05:32:17.040 回答
0
<a  href="/users/user_info/<?=$row->user_name;?>"></a>

(在 href 添加斜线开始)和控制器..

function user_info($name)
{   
    $info['info']       =   $this->user_model->user_info($name);
    $data['content']    =   $this->load->view('home',$info,true);
    $this->load->view('template',$data);
}

在您的用户模型设置函数 user_info 以通过用户名而不是用户 ID 捕获用户。你准备好了..

于 2013-04-06T05:34:10.923 回答