私は localhost で 2 つのショッピング カート アプリケーションを開発しました。
カート 1 に sc1 の 3 つのアイテムを追加しました。
両方のアプリケーションの index.php で session(session_start();) を開始しました。問題を解決する方法。session.cookie_path を使用して解決することを知りました。試してみましたが、問題は解決しませんでした。従うべき追加の手順や含める追加の機能はありますか?
私は localhost で 2 つのショッピング カート アプリケーションを開発しました。
カート 1 に sc1 の 3 つのアイテムを追加しました。
両方のアプリケーションの index.php で session(session_start();) を開始しました。問題を解決する方法。session.cookie_path を使用して解決することを知りました。試してみましたが、問題は解決しませんでした。従うべき追加の手順や含める追加の機能はありますか?
session_name("application name")
の前に呼び出しsession_start()
ます。これは、セッションを識別するために使用される Cookie の名前を設定します (デフォルトは「PHPSESSID」です)。
アプリケーションごとに異なる名前を使用してください。
新しいセッションでブラウザーを開きますか? IE の場合 => Alt キー、ファイル、新しいセッション....
ただし、アプリケーションの場合は、session_id を確認したほうがよいかもしれません... session_id が正しい場合は、アイテムをカートに追加できます。
両方のインストールで同じセッション名を使用しています。インストールごとにセッション名を変更すれば問題ありません。
たとえば、両方にカートというセッションがある場合、sc1 に追加したものはすべて sc2 に表示されますが、セッションに保存されているアイテム ID が別のデータベースの別の ID と一致するため、アイテムは異なります。これはまさにあなたが見ているものです。
最善の解決策は、セッション名を DB 設定テーブルに保存し、それを使用してサイトごとにセッションに名前を付け、サイトごとにカスタマイズできるようにすることです。または、config.s で定義を使用できます。