用链接更改PHP GET?

tkb*_*kbx 1 php

我想创建一个更改PHP $_GET变量的链接.例如:

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
Run Code Online (Sandbox Code Playgroud)

我知道你可以这样做只是改变页面(href="1.html"),但我想在保持已经存在的GET变量的同时做同样的事情.

dec*_*eze 7

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

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

请参见http://php.net/http_build_query.这是易于理解的最小版本.正确地说,您还需要对生成的查询字符串进行HTML转义(因为您将其放入HTML中):

printf('<a href="index?%s">Click me</a>', htmlspecialchars(http_build_query($query)));
Run Code Online (Sandbox Code Playgroud)