我的 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>

页.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>