2011-10-10 13 views
0

私は奇妙な問題に直面しています。 私のrouter.phpファイルにこのコードを追加しました。Codeignitor URIルーティングがパラメータまで動作しない

$ route ['mission'] = "content/index/mission";

ここで知っているように、コンテンツはコントローラであり、インデックスは関数であり、ミッションはその関数のパラメータです。

しかし、ブラウザで確認すると、コンテンツ/インデックスに移動します。 つまり、インデックス関数に必須パラメータを渡していません。

いくつかの簡単な解決策を提案できますか?

+1

あなたは私達にあなたのコンテンツコントローラ?とインデックス機能を表示することができますか? – Anil

+0

私は自分のコンテンツコントローラーを見て、犯人を見つけました。そこでは、私の中学生がうまいセグメンテーションでパラメータを取得していました:それはなぜ機能していなかったのですか?私の一日を作ってくれてありがとう。 –

答えて

2

パラメータを関数パラメータで受け取り、URIセグメントを使用していないことを確認してください。
コントローラ:

// This is incorrect, and will not work 
public function index() 
{ 
    $param = $this->uri->segment(3); // This wont work 
} 

// This is correct and will work. 
public function index($param = null) // use null to prevent "undefined var error" 
{ 
     if($param != null) 
     { 
      // The param was passed and do your stuff here 
     } 
}  
+0

ありがとう、あなたを愛して:) –

+0

私はcodeigniter、すばらしいフレームワークが大好きです!私は必要に応じてテストするために私のビューファイルにuri-> segment(x)を使用します(ページxまたはページy?さもなければ、上記のようにこれはベストプラクティスです。 – Anil

関連する問題