首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >更改超链接中的$_GET变量,而不是追加它

更改超链接中的$_GET变量,而不是追加它
EN

Stack Overflow用户
提问于 2014-05-12 15:13:54
回答 2查看 96关注 0票数 0

我有一个软件下载页面,您可以在其中提出不同类别的软件。如统计软件、办公软件、安全软件等。结果可以通过GET进行过滤,就像url.com?type=office会把你带到办公软件。

我还有一些链接,可以通过操作系统(如so url.com?type=office&os=windows )将其过滤掉。

但是,我如何有一个像so <a href="url.com?os=windows">Only Windows</a>这样的链接,同时保留以前所有的选择,比如软件类型,同时不追加url,避免出现这样的情况

代码语言:javascript
运行
复制
url.com?type=office&os=windows&os=windows&os=linux

有什么想法吗?

谢谢!

EN

回答 2

Stack Overflow用户

发布于 2014-05-12 15:19:28

您可以创建这样的链接。

代码语言:javascript
运行
复制
$type = $os = "";

if(isset($_GET["type"])){
  $type = $_GET["type"];
}

if(isset($_GET["os"])){
  $os = $_GET["os"];
}

$link = "<a href='url.com?type=$type&os=$os'>Some Text </a>";
echo $link;
票数 1
EN

Stack Overflow用户

发布于 2014-05-12 15:34:22

$_SERVER['REQUEST_URI']将返回带有所有查询字符串的url。您可以这样做:

代码语言:javascript
运行
复制
<?
$url = $_SERVER['REQUEST_URI'];
$url = substr($url, strpos($url, "?") + 1);  
parse_str($url, $url);

var_dump($url);
?>

这将创建一个包含您的值、array(3) { ["os"]=> string(7) "windows" ["type"]=> string(6) "office" }等的数组。您可以使用查询根据这些值重新构建查询。

或者,如果您使用parse_str($url, $url);,它将为每个查询名称和值设置变量。(即$os = windows;)。然后,您可以检查是否设置了这些内容,并相应地用大小写或if语句构建您的url。如果你需要帮助的话请告诉我。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23612757

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档