1

我有一个输出搜索结果的搜索页面。在运行搜索之前,您可以根据以下条件过滤结果。

1. status 
2. order by
3. record type

查看记录会将用户重定向到编辑表单页面,如果他们单击取消按钮,他们会重定向回搜索结果。

这是我所做的:

  1. 我将 GET 参数(status、order_by 和 record_type)存储在会话变量中
  2. 当用户在编辑表单上单击取消时,我使用会话变量重定向回搜索结果,如下所示:

    如果(@$_POST['cancelbtn']){

        if (isset($_SESSION['searchForm'])){
                header("location:searchForm.php?products=".$_SESSION['product']."&ticket_status=".$_SESSION['status']."&order_by=".$_SESSION['order_by']."&record_type=".$_SESSION['record_type']."&searchbtn=Go!");
        }
    

    }

以上对我有用,但我想知道这是否是最好的方法?谢谢。

4

1 回答 1

0

这不是一个糟糕的方法,但我会尝试并在未来证明它。不要在会话中存储每个单独的变量,而是尝试存储 URL。这样,如果您将搜索表单更改为具有一些附加参数,则无需更改大部分代码。

//Your search results page
$_SESSION['searchResults'] = $_SERVER['REQUEST_URI'];

//Your form page
if (array_key_exists('cancelButton', $_POST) {
    header('Location: '.$_SESSION['searchResults']);
    exit;
}

希望这可以帮助

于 2012-09-23T00:44:43.343 回答