2017-08-24 67 views
0

所以,我一直試圖讓這個工作一段時間。我無法像我那樣工作。記住PHP會話中的URL一次

我想要做的是: 我有一個搜索和篩選頁面(用戶從複選框中選擇產品排序)。現在,當用戶完成過濾時,URL有一組特定的值。

https://mydomein.nl/subsdir/?_sft_brand=nike&_sft_type=sneaker 

如果用戶點擊產品,它會顯示產品頁面。在那個頁面上有一個按鈕,說的是Back to overview。目前它鏈接到/subdir/,但這會刪除一組值(當然)。

我想將這樣的鏈接像這樣https://mydomein.nl/subsdir/?_sft_brand=nike&_sft_type=sneaker存儲在會話中,以便用戶不必再次過濾。

我試圖在REQUEST_URI存儲在使用此代碼會話:

$page = $_SERVER["REQUEST_URI"]; 
$_SESSION['page'] = $page; 
echo "http://".$_SERVER['SERVER_NAME'].$_SESSION['page']; 

但是,每次更新你點擊一個新的鏈接上時的URL。我已經嘗試了很多變種,但都覆蓋了第一個REQUETS_URI。我想只存儲過濾器網址,而不是用戶點擊下一步的網址。所以我可以使back to overview鏈接像<a href="<?php echo $page; ?>">。並一直把它連接回正確的過濾器等等。

任何好主意的?感謝您的閱讀和幫助!

+0

檢查isset會議,如果沒有再設置其他值忽略。 - 基本上你想要的僞代碼。 – Script47

回答

1

簡單的解決方案,你應該做的是,當用戶點擊備份,當你打與相應的參數或過濾器搜索按鈕概述按鈕,你應該指的是被調用的函數,你可以在裏面搜索查詢會話

要做的步驟

  • 第一次使用post方法而不是在搜索時得到。
  • 在您的搜索功能首先檢查您的$ _POST是否爲空
  • 如果您的$ _POST不爲空在會話中設置您的發佈值並使用帖子值進行搜索。
  • 如果您的帖子爲空,請檢查您的會話是否爲空。如果您的會話不是空的,則使用會話值搜索並返回結果。
  • 如果您的會話是空的,則沒有值(我的意思是檢索所有產品,並顯示它)搜吧
  • 現在,當用戶點擊處理概述然後重定向到搜索功能。
+0

我明白你的意思了。除了我不知道從哪裏開始...唉...的新的這整個PHP的事情... –

+0

如果您發佈的搜索功能。搜索表單,我可以做一些改變 –

+0

我想要做更多的挖掘。感謝您的步驟,它將幫助分配。 –