0

PHPセッションを使用してカテゴリ変数を管理しています。

ユーザーが次のようにクリックした場合:

  1. 索引
  2. カテゴリ (カテゴリはセッション変数を設定します)
  3. product (製品はその変数をフェッチします)

その後、ユーザーがホーム リンク(インデックス ページを更新する) を押す代わりに、ブラウザーの戻るボタンを押すと、次のことが起こります。

  1. ユーザーは、以前にカテゴリ変数が設定されたインデックス ページにたどり着きました。
  2. インデックスから製品を直接クリックすると、古いカテゴリが表示されます。

基本的に、ユーザーがブラウザの戻るボタンを押したとき (ページが更新されていないとき) に新しいセッション変数を設定する方法はありますか?

4

2 に答える 2

1

これがまさに、リクエストを自己完結型に保つ必要がある理由です。ナビゲーションを構築するために必要なすべての情報は、何らかの方法でリクエスト自体、つまり URL に含まれている必要があります。ユーザーが見ている製品またはリクエストにすでに含まれているその他の情報からカテゴリを推測するか、選択したカテゴリをクエリ パラメータ ( ...?cat=42) で転送する必要があります。このようにして、各リクエストは必要なすべての情報をそれ自体で表現し、別の場所に保存された個別の状態を台無しにすることはありません。

于 2012-08-13T14:06:53.593 に答える
0

製品をクリックすると、製品がリストされているカテゴリから現在のカテゴリが設定されます。古い保存カテゴリを無視して、代わりに製品のカテゴリを使用してください。

戻るボタンをクリックするユーザーは、基礎となる http リクエストに関して特別でもユニークでもありません。ブラウザーはキャッシュを使用して Web サーバーに別の要求を行うことさえしないか、リンクをクリックして前のページを再度フェッチするような要求を行います。

あなたはそれを検出するためにjavascriptでいくつかの凝ったことをすることができますが、それがエレガントまたは最善の解決策になるとは思えません。

于 2012-08-13T14:04:07.370 に答える