PHP表单操作不起作用,并且未更新querystring

PHP表单操作不起作用,并且未更新querystring,php,mysql,Php,Mysql,我试图使用MySQL数据库和PHP为一个学校项目创建一个过滤器,但每当我按下过滤器按钮时,它都不会执行该操作,因此查询字符串不会更新 它引用我的主页的原因是因为以下代码块: if (empty($_GET['page'])) { $_GET['page'] = 'home'; } if (empty($routes[$_GET['page']])) { header('Location: index.php'); exit(); } 这是在没有传递$GET['page

我试图使用MySQL数据库和PHP为一个学校项目创建一个过滤器,但每当我按下过滤器按钮时,它都不会执行该操作,因此查询字符串不会更新

它引用我的主页的原因是因为以下代码块:

if (empty($_GET['page'])) {
    $_GET['page'] = 'home';
}

if (empty($routes[$_GET['page']])) {
    header('Location: index.php');
    exit();
}
这是在没有传递
$GET['page']
时,它只会引用我的主页

因此,问题可能在于我的表单操作,这显然是正确的:
action=“index.php?page=agenda”


筛选依据:

位置 --地点--
您应该在表单中添加一个隐藏的输入字段。而是将其附加到动作字符串中

<input type="hidden" name="page" value="agenda" />

表单正在覆盖操作属性中的查询字符串参数

添加一个隐藏字段,而不是将查询字符串放入操作中

<form class="filter_form" method="get" action="index.php">
   <!-- ... the rest of your form code -->
    <input class="button filter_button" type="submit" value="filter" />
    <input type="hidden" name="page" id="page" value="agenda" />
</form>

相关帖子:

添加隐藏字段:

<input type="hidden" name="page" value="agenda" />


操作中的get参数被方法“get”否决。

您应该在表单中使用隐藏的输入元素,而不是在URL中添加参数:

<input id="page" name="page" type="hidden" value="agenda">


隐藏字段不应该是带显示的文本字段:无,它应该是实际的隐藏表单字段类型。哦,我明白了,很抱歉我不知道:')
<input id="page" name="page" type="hidden" value="agenda">