質問 > フロント機能 > ログイン状態で商品購入後にログアウトされる |
フロント機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
yk_ons |
投稿日時: 2013/6/5 19:59
対応状況: −−−
|
新米 登録日: 2011/10/12 居住地: 投稿: 6 |
ログイン状態で商品購入後にログアウトされる ------------------------------------------------------------------------------------------
[EC-CUBE] 2.12.4(2.12.3から差分ファイルでアップデート) [レンタルサーバ] GMOクラウド専用サーバ [OS] CentOS5.4 [PHP] 5.1.6 [データベース] MySQL 5.0.22 [WEBサーバ] Apache 2.2.3 [ブラウザ] Firefox 21 ------------------------------------------------------------------------------------------ お世話になります。 会員でログインした状態で商品の購入手続きを完了し、 もう一度商品を購入しようとすると、カートから購入手続きへ 遷移するタイミングでログアウトされ、空カートの画面に 戻されてしまいます。 ------------------------------------------------------------ ログイン ⇒ 商品購入完了 ⇒ カートに商品を追加 ⇒ 購入手続きへ進む ⇒ ログアウトされカートが空に ------------------------------------------------------------ ログアウトされるまでは、会員ページの閲覧や フォームの送信などは問題無く行えます。 また、管理画面にログインしているとそちらも同じタイミングで ログアウトされてしまいます。 目に付く変化としては、購入手続きに進んでから空カートに戻る際、 URLに付与されている「transactionid」の値が変化しているようです。 (例) http://www.example.com/cart/?transactionid=28b41260eea7a8xxxxxx ↓ http://www.example.com/cart/?transactionid=e4761760dbcfdxxxxxx いくらかカスタマイズを行なっているため、それが原因かもと思ったのですが、 別の領域に2.12.4をインストールしたところ、そちらでも同様の現象が発生しました。 PHPの設定なのか、モジュールが足りていないのか、 原因が分からず困っております。 何かお分かりになる方がいらっしゃいましたら、 ご教示の程よろしくお願い申し上げます。 |
seasoft |
投稿日時: 2013/6/6 2:06
対応状況: −−−
|
神 登録日: 2008/6/4 居住地: 投稿: 7367 |
Re: ログイン状態で商品購入後にログアウトされる 当方開発環境(2.12デベロッパー版)では再現しませんね。。。
MySQL のオーバーフローで、類似した現象を生じる事象は見たことがありますが、それとも若干違うタイミングのようですし・・・ とりあえず、切り分けの意味で PostgreSQL で発現するか試すのも良いかもしれません。
|
yk_ons |
投稿日時: 2013/6/6 21:07
対応状況: −−−
|
新米 登録日: 2011/10/12 居住地: 投稿: 6 |
Re: ログイン状態で商品購入後にログアウトされる seasoft様
ご回答ありがとうございます。 データベースのみPostgreSQL(8.1.4)に変更してみましたが、 同様の現象が発生しました。。 どこでデータが消えるのかを検証したところ、 SC_Helper_Purchase.phpの223行目付近で消えている感じです。 --------------------------------------------------- // exit; //←ここで終了してカートに戻ると消えない // 購入ボタンを押してから変化がないか $quantity = $objCartSession->getTotalQuantity($cartKey); // exit; //←ここで終了してカートに戻ると消える --------------------------------------------------- もう少し調査してみようと思います。 |
seasoft |
投稿日時: 2013/6/7 0:07
対応状況: −−−
|
神 登録日: 2008/6/4 居住地: 投稿: 7367 |
Re: ログイン状態で商品購入後にログアウトされる やはり違いますね。。。
getTotalQuantity のロジックを見ましたが、(ツッコミどころは多々ありますが) 本件の原因となりそうには見えませんね・・・ exit; でなく、return; で検証するのも、手だと思います。 あと、APC などの、PHP 高速化モジュールが導入されていたりしますか?
|
yk_ons |
投稿日時: 2013/6/7 18:39
対応状況: 解決済
|
新米 登録日: 2011/10/12 居住地: 投稿: 6 |
Re: ログイン状態で商品購入後にログアウトされる seasoft様
ご返事ありがとうございます。 高速化モジュール等は特に導入しておりません。 また、当件ですが一応解決しました。 購入完了時に $_SESSION[savecart_*****] を手動で 空にしてみたところ、ログアウトされる現象が無くなりました。 ※SC_Helper_PurchaseのcleanupSessionに以下を追加 -------------------------------------------------- foreach( array_keys($_SESSION) as $k ){ if( preg_match("/^savecart_/",$k) ){ unset($_SESSION[$k]); } } -------------------------------------------------- 根本的な解決になっているのかどうか分かりませんが、 とりあえずは問題無く動いているようなので、 しばらくこれで様子を見てみようと思います。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |