1

Code Igniter を使用して PHP ページを開発しています。コントローラーからのいくつかの機能があります:

public function language_testing($language_code, $logout=0)
{      
      echo ($language_code);
      //come actions
}

そして、次のURLを送信しようとしています:http://mypage.com/index.php/controller/language_testing/bg#9

しかし、私の関数は「bg#9」ではなく「bg」を表示します。「#」の後のコンテンツを取得するにはどうすればよいですか?教えてください。私はそれがとても必要です。

4

5 に答える 5

1

に表示される値を取得するには、次の URL に投稿する必要があります$logout

http://mypage.com/index.php/controller/language_testing/bg/9

そうしないと、シャープ記号の後のデータにサーバーからアクセスできません。

于 2012-07-20T12:59:21.447 に答える
1

http://au.php.net/manual/en/function.parse-url.php

$urlComp=parse_url($yourURL);
echo $urlComp['fragment'];
于 2012-07-20T13:07:04.843 に答える
0

関数のパラメーターを変更する必要があり、コードにもパラメーターをもう 1 つ追加します。

public function language_testing($language, $code , $logout=0){      
  echo ($language);
  echo ($code);
  //come actions

}

http://mypage.com/index.php/controller/language_testing/bg/9のように呼び出します

それはあなたの問題を解決し、両方の値を連結することができます

于 2012-07-20T13:04:58.727 に答える
0

# は、名前参照にジャンプするためにアンカー タグで使用される HTML エンティティです。例えば:

<a href="#test">Jump to test on page</a>
<a name="test">Test</a>

したがって、パラメーターの一部として解釈されません。%23 はハッシュのエスケープ文字であるため、bg%23 を使用できるはずです。

http://mypage.com/index.php/controller/language_testing/bg%239

URLのハッシュ文字をエスケープする方法

于 2012-07-20T13:05:17.387 に答える
0

できません。は#HTML ブックマークであり、HTML 要素の ID を使用してページの周りにフォーカスをリダイレクトするために使用されます。ブラウザーは、これを URL の一部としてサーバーに送信しません。

書き換えルールに応じて、意味的に満足できるリンクを作成したい場合がhttp://site.com/path/index.php/bg/9ありhttp://site.com/path/index.php?bg=9ます。

#なんらかの理由で本当にサインを提出する必要がある場合%23は、URL を使用して提出する必要があることに注意してください (@jth_92 は私を打ち負かしました)。

于 2012-07-20T13:03:58.147 に答える