2012-01-20 10 views
0

最近、修正が必要なショッピングカートの実装がありました。セッションをCookieに置き換える

ショッピングカートオブジェクトは$_SESSION['cart']に格納されています。ブラウザが閉じられた後にセッションがアクティブなままでないため、ブラウザが閉じられてカートが失われるという問題があります。

これを解決する方法は、カートのオブジェクトを、セッションではなく寿命の長いクッキーに保存することです。

クイックフィックスを知っている場合や、すべてのソースファイルを確認してセッションをクッキーに置き換える必要がある場合は、私の質問にお答えください。

答えて

4

セッションは通常Cookieによって識別され、デフォルトでは、ブラウザが閉じられた後にCookieが削除されます。ですから、永遠に続くセッションを作る必要がある場合は、PHPエンジンのパラメータsession.cookie-lifetimeを調整する必要があります。 こちらはthe docs on thatです。

+0

「session.cookie-lifetime」はセッションの有効期間をブラウザの存続期間を超えて延長することはできません。 – Dimme

+1

ドキュメンテーションのコメント:_値0は、「ブラウザが閉じられるまで」を意味します。デフォルトは0ですが、0より大きい場合もあります。1年に数秒を置くことができ、非アクティブなセッションは1年続けられます。 – AlexZam

+0

は、セッションのGC maxtimeを微調整する必要があるかもしれません。そうしないと、セッションデータがクッキーが期限切れになる前にガベージコレクションされる可能性が非常に低くなります。 – CD001

1

あなたはすべての編集を行う必要があると思います。幸いにも、便利な検索と置換ツール(Linux用)Regexxerと呼ばれ、複数のファイルの検索と置き換えのためのグラフィカルインタフェースを提供します。

1

serialize()とbase64_encode()& base64_decodeを使わずに、その種のデータをクッキーに保存できるかどうかはわかりません。おそらく何かを心に留めておくべきこと。

関連する問題