1

$_GETPHP変数を変更するリンクを作成したいと思います。例えば:

URL: http://site.com/index&variable=hello&anothervariable=dontchangeme

<a href="variable=world">Click me</a>

(after click)

URL: http://site.com/index&variable=world&anothervariable=dontchangeme

ページ()を変更するだけでこれを実行できることは知っていますがhref="1.html"、すでに存在するGET変数を維持しながら同じことを実行したいと思います。

4

4 に答える 4

7
$query = array('variable' => 'world') + $_GET;

printf('<a href="index?%s">Click me</a>', http_build_query($query));

http://php.net/http_build_queryを参照してください。それは理解しやすい最小バージョンです。正しくは、生成されたクエリ文字列もHTMLエスケープする必要があります(HTMLに入れているため)。

printf('<a href="index?%s">Click me</a>', htmlspecialchars(http_build_query($query)));
于 2012-12-17T15:59:57.950 に答える
1

変数値を変更して.を使用して、ユーザーをリダイレクトするだけheader()です。

if(isset($_GET['variable'] && $_GET['variable'] == 'hello') {
   header('Location: http://site.com/index&variable=world');
   exit;
}
于 2012-12-17T15:58:37.970 に答える
0

URLの変数またはパラメーターの前にはaが付き、?その後は。で区切られ&ます。

必要なものを入手するには、次のリンクを使用してください。

<a href="http://site.com/index?variable=world&anothervariable=dontchangeme">Click me</a>

しかし、これはハードコーディングされており、パラメーターの値を動的に変更できるという意味で動的ではないため、私の答えはおそらく最善ではありません。

于 2012-12-17T15:58:44.940 に答える
0

これでうまくいくはずです。

<a href="variable=world <?php foreach ($_GET as $key => $value) {echo '&&'.$key.'='.$value}">Click me</a>
于 2012-12-17T16:01:54.747 に答える