2010-12-31 31 views
2

私の商品ページには、「検索結果に戻る」ためのリンクを掲載しています。検索結果ページはクエリ文字列で生成されるため、同じクエリ文字列変数をリンクに含める必要があります。検索結果に戻る

私はHTTP_REFERERを使用しようとしましたが、これにはクエリ文字列変数が含まれています。

また、私はこのセッションではセッションを使用するのが理想的ではないと思います。

EDIT:HTTP_REFERERでもう一度テストしましたが、これは実際にはうまくいきます。最初のインスタンスで間違っていたはずですが、実際にはクエリ文字列変数が追加されます。だから私はおそらくこれに固執するでしょう。

私は、HTTP_REFERERに頼ることはできませんが、実際には「検索結果に戻る」リンクの場合に問題になることを認識していますか?

+0

製品ページがない場合は、検索によってつながる何? – ajreal

+0

その後、私はバックリンクを表示しないと思いますか? – GSTAR

+0

あなたは既にあなたが差別化を行うことができる場合、問題を解決する方法を自分自身にお答えします – ajreal

答えて

1

何とか検索クエリの用語を追跡する必要があります。$_sessionを使用しない場合は、$_getまたは$_postを使用してください。次に、「検索結果に戻る」リンクにクエリを適用します。

なぜ$_sessionは理想的ではありませんか?製品ページ

session_start(); 

$_session['searchterms'] = $_GET['searchterms']; 

//loop products: 
//<a href="productpage.php">product 1</a> 
//etc. 

:検索結果ページで

echo "<a href=\"search_results.php?searchterms=$_sesssion['searchterms']\">Back to search results</a>"; 
+0

ありがとうございます。私はURLに追加の変数を入れないことを好み、セッションはマルチウィンドウ/マルチタブセーフではありません。私はおそらく隠された形か何かを掲示しなければならないでしょう。 – GSTAR

0

の提案 - それはあなたのアプリケーションに適している場合は、(クライアント上の結果をキャッシュ試みることができますブラウザ)側に表示されます。
この例は、javascript、hereおよびhereを使用して確認できます。

2

結果が既に生成されている場合、あなたが本当に何かを生成したくない:

<a href="#" onClick="history.go(-1)">Back to results</a> 
+0

私はこの回答が6歳であることを理解しています。したがって、2000年代のほとんどのビューから更新する2セントです: 'href =" javascript:window.history.back(); 'もfirefoxでも動作します。 – Nihvel