我有一个软件下载页面,您可以在其中提出不同类别的软件。如统计软件、办公软件、安全软件等。结果可以通过GET进行过滤,就像url.com?type=office
会把你带到办公软件。
我还有一些链接,可以通过操作系统(如so url.com?type=office&os=windows
)将其过滤掉。
但是,我如何有一个像so <a href="url.com?os=windows">Only Windows</a>
这样的链接,同时保留以前所有的选择,比如软件类型,同时不追加url,避免出现这样的情况
url.com?type=office&os=windows&os=windows&os=linux
有什么想法吗?
谢谢!
发布于 2014-05-12 15:19:28
您可以创建这样的链接。
$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;
发布于 2014-05-12 15:34:22
$_SERVER['REQUEST_URI']
将返回带有所有查询字符串的url。您可以这样做:
<?
$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。如果你需要帮助的话请告诉我。
https://stackoverflow.com/questions/23612757
复制相似问题