PHP传递URL参数的最佳实践

时间:2012-09-23 00:17:43

标签: php

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

1. status 
2. order by
3. record type

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

这就是我所做的:

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

    if(@ $ _ 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!");
        }
    

    }

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

1 个答案:

答案 0 :(得分: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;
}

希望这有帮助