0

現在設定されている GET パラメータに応じて、いくつかのリンクを作成しようとしています。

私の URL は次のようになります。

http://mysite.com/index.php?bar=test&page=page

私のコードでは、次のことを行います。

$bar = $_REQUEST['bar'];
<a href="index.php?bar=<?php echo $bar?>&page=anotherpage"

しかし、リンクをクリックするたびに、文字列全体が URL に再度追加されます。

最初のクリックのように、次の URL が表示されます。

http://mysite.com/index.php?bar=test&page=anotherpagepage=anotherpage

そして次のクリックで以下が作成されます:

http://mysite.com/index.php?bar=test&page=anotherpagepage=anotherpagepage=anotherpage

等々。

URLが常に次のようになるように、リクエストを1回だけ取得する方法はありますか?

http://mysite.com/index.php?bar=test&page=anotherpage

何度リンクをクリックしても?

どうもありがとう!

4

2 に答える 2

1

最初の例でアンパサンドが抜けています。(&)。これを試してください:

$bar = $_REQUEST['bar'];
<a href="index.php?bar=<?php echo $bar?>&amp;page=anotherpage"

または、使用する前に変数をエスケープして、XSS、クロス サイト スクリプティングのセキュリティ脆弱性を防止することをお勧めします。urlencode()URL に使用します。
http://nl.php.net/manual/en/function.urlencode.php :

$bar = $_REQUEST['bar'];
<a href="index.php?bar=<?=urlencode($bar)?>&amp;page=anotherpage"
于 2012-09-25T21:22:55.473 に答える