1

だから、これは現在私のためにページをロードします。

/ controllername / view / id / 27 / title /shoes

ただし、ユーザーが次のように入力できるようにする必要があります。

/ controllername / 27 /shoes

ファイルを表示します。したがって、ルーティングファイルで、次のようなルールを作成しました。

$ route ['controllername /(:num)/(:any)'] = "controllername / view / id / $ 1 / title / $ 2";

元のアドレスはuri_to_assoc(n)で機能します。

    $array = $this->uri->uri_to_assoc(3);
    $id = $array['id'];
    $title = $array['title'];

しかし、それをルーティングし、新しいアドレスを使用してファイルにアクセスすると、次のエラーが発生します。メッセージ:未定義のインデックス:idメッセージ:未定義のインデックス:タイトル

元のURLアクセス方法ではこれらのエラーは発生しません。URLが変更されるとuri_to_assoc(3)の値が変わると思いますが、ルーティング関数がそれを処理すると思いました。誰かが私がこれらの可変エラーを取り除くのを手伝ってくれる?

4

1 に答える 1

1

この場合、次のことが必要になりますruri_to_assoc

http://codeigniter.com/user_guide/libraries/uri.html

$this->uri->ruri_to_assoc(n)

この関数は[uri_to_assoc]と同じですが、CodeIgniterのURIルーティング機能を使用している場合に再ルーティングされたURIを使用して連想配列を作成する点が異なります。

URL自体が無効な場合に備えて、とにかく配列インデックスを検証する必要があります。

于 2012-08-07T22:21:57.417 に答える