2012-09-23 86 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