2012-09-23 63 views
1

我有一个搜索页面输出搜索结果。运行搜索之前,您可以根据以下条件筛选结果。PHP通过URL参数最佳实践

1. status 
2. order by 
3. record type 

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

这里是我做了什么:

  1. 我存储在会话变量的GET参数(状态,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!"); 
        } 
    

    }

对我来说,以上的作品,但我想知道这是做的最好的方法是什么?谢谢。

回答

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; 
} 

希望这有助于

+0

欢呼声,那是有点儿事情,我一直在寻找。将测试它并回来。 – greenpool