我的 PHP 表单正在清除 URL 中的 $_GET 参数

My PHP form is clearing the $_GET parameters in my URL

默认情况下,当您访问此页面时,$_GET['page'] 设置为 1。我有一个搜索框,允许用户使用 $_GET['search'] 作为搜索参数搜索同一页面;但是它会清除 $_GET['page'] 参数。

有什么方法可以让我在使用搜索框时将两个参数都保留在 URL 中?

这是我的代码:

搜索表单:

<form action="page.php?page=1" method="get">
    <input type="text" placeholder="Search" name="search" />
</form>

page.php:

<?php
    if (isset($_GET['search']) && isset($_GET['page'])) {
        // My query goes here
    }
?>

page 参数作为隐藏 HTML 字段传递。

<form action="page.php" method="get">
    <input type="text" placeholder="Search" name="search" />
    <input type="hidden" name="page" value="1" />
</form>

在您的搜索表单中,您需要一个按钮,您可以添加一个隐藏的输入类型并在他的值中打印您的 $_GET['page'],如下所示:

<form action="page.php" method="get">
    <input type="text" placeholder="Search" name="search" />
    <input type="hidden" name="page" value="<?php echo $_GET['page']; ?>" />
    <input name="btn" type="submit" value="Send" />
</form>