それは間違いなくあなたのカスタム ルートです。文字列 id?page=2 が 1 つのパラメーターとして渡されると思うので、yoursite.com/user/id/?page=2 を試していただけますか。渡された URL キーの配列を出力してデバッグを行うこともできます。
echo '<プレ>';
print_r($this->uri->segment_array());
エコー '</pre>'
コントローラーアクションに渡されるすべてのパラメーターを取得します。この回答も見ることができます:それが必要な場合は、コア URI クラスの拡張についてcodeigniter で URL の疑問符を処理します。これが役立つことを願っています。それ以外の場合は、より多くの情報が役立ちます。たとえば、site.com/user/id のような通常のリクエストを使用している場合と、site.com/user/id を実行している場合にコントローラーに渡される URL キーは何ですか?ページ = 2 リクエスト。
****** 編集 ********** CI 1.7.1 または 1.7.2 を使用している場合、_fetch_uri_string メソッドには次のようなものがあるため、[1] => ページを取得しています。
if (is_array($_GET) && count($_GET) == 1 && トリム(キー($_GET), '/') != '')
{
$this->uri_string = key($_GET);
戻る;
}
あなたは site.com/user/id/?page=2 を持っているので、これは次を意味します: $_GET['page'] = 2 そして page は $_GET のキーの名前です
アプリケーションでこのクラスを拡張し、ここに独自のロジックを追加する方法については、上記のリンクを使用してください。たとえば、このようなものは 1.7.1 または 1.7.2 で機能します。
if (is_array($_GET) && count($_GET) == 1 && トリム(キー($_GET), '/') != '')
{
// この行は必要ないのでコメントしてください
//$this->uri_string = key($_GET);
//現在のページ番号があればそれを取得する
$page_number = (int) $_GET['page'];
// 適切な ID を使用して uri_string をここに設定し、ID (ここでも取得する必要があります) とページ番号を 2 番目のパラメーターとして渡してから、単に戻ります。さらに実行を停止するには
$this->uri_string = 'dashboard/index/id/'.$page_number
戻る;
}
//ダッシュボード コントローラーで:
// デフォルト値を 0 に設定し、さらに処理します
public function index($id=0, $page_number=0)
{
}
お役に立てれば