【问题标题】:PHP passing URL parameters best practicePHP 传递 URL 参数最佳实践
【发布时间】:2012-09-23 08:44:43
【问题描述】:

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

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!");
        }
    

    }

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

【问题讨论】:

    标签: php


    【解决方案1】:

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

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

    希望对你有帮助

    【讨论】:

    • 干杯,这就是我一直在寻找的东西。将对其进行测试并返回。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-07-12
    • 2018-05-10
    • 2023-03-30
    • 2021-04-18
    • 1970-01-01
    • 1970-01-01
    • 2017-12-01
    相关资源
    最近更新 更多