-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);
}

リンクをクリックすると、次の URL が表示されます。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 に答える