如果可能的话,我需要帮助使用$ _GET变量。现在我正在使用它们在需要时加载我网站的不同部分,但我无法弄清楚如何在设置$ _GET变量时清除屏幕,好像正在加载新页面一样。我想知道它是否可能。
举个例子说我有一个体育类别页面列出了网站上所有可用的运动,在控制器中我有这段代码,当用户点击体育列表中的足球时激活:
if (isset($_GET['football']))
{
....
}
所以目前所有足球信息都会与所有类别信息一起显示。有没有办法删除类别信息,只是在那里没有使用JavaScript的体育信息?
任何指向正确方向的人都会非常感激。
谢谢
答案 0 :(得分:1)
不使用查询字符串键来区分,而是使用公共密钥(在我的示例中为category
)并更改值,例如http://example.com/page.php?category=football
。
然后,您可以对值进行切换,并显示类别内容或类别列表(如果未请求特定类别):
$category = isset($_GET['category']) ? $_GET['category'] : 'none';
switch($castegory){
case 'football':
//show football content
break;
case 'golf':
//show golf content
break;
default:
//show list of categories
}
答案 1 :(得分:0)
我认为您正在寻找的是else
声明。或者,您需要编写代码,只有在未设置$_GET['football']
的情况下才会显示类别。
答案 2 :(得分:0)
$ _GET方法通常用于从网页的URL中检索变量。 虽然它可以以其他方式填充,我相信。 清理它只是取消它。像这样:
unset($_GET["football"]);
此外,如果您使用它从您的URL检索数据,您只需刷新页面,而不是像这样的变量 原始网址:www.stackoverflow.com?id = 10 将其刷新为空www.stackoverflow.com
使用这两种方法,您应该能够从任何数据中清除您的获取。根据您的情况使用。
答案 3 :(得分:0)
假设当用户点击"足球"完成新的HTTP请求,然后您可以:
if(!isset($_GET["football"])) ...
{
// Code to display categories
}
如果您没有其他HTTP请求,则必须使用Javascript,隐藏包含类别列表的元素。
希望这会有所帮助......