从URL中删除特定段

时间:2013-04-06 05:16:54

标签: php codeigniter codeigniter-url

我使用的是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段,以便我的网址变为:http://localhost/users/user_info/name。我怎样才能做到这一点?我读过有关uri段的内容,但它没有解决我的问题。

2 个答案:

答案 0 :(得分:0)

如果您尝试获取当前网址并从中删除/ 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;

删除最后一个网址细分,如果访问网页/users/user_info/name则输出/users/user_info/name/id

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

答案 1 :(得分: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捕获用户。你准备好了......