バージョン選択

フォーラム

メニュー

オンライン状況

57 人のユーザが現在オンラインです。 (42 人のユーザが フォーラム を参照しています。)
登録ユーザ: 0
ゲスト: 57
もっと...

サイト内検索

質問 > フロント機能 > ログアウト後にお客様情報がクリアされない

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
ゲスト
投稿日時: 2007/5/9 20:23
対応状況: −−−
ログアウト後にお客様情報がクリアされない
お世話になります。

(1)ログインする
(2)買い物かごに商品をいれる
(3)購入手続きを最後まで終了せずにログアウトする
  (かごの中には商品がはいったままの状態)
(4)(ログインしていない状態で)購入手続きを行う

上記のようなオペレーションを行うと、「お客様情報入力」画面に
はじめにログインしたお客様情報が出力されてしまいます。

この現象は、FireFox1.5でおこりますが、IE6ではおこらず、お客様情報は全てクリアされている状態で表示されます(これが正しい)

(環境)
 EC-CUBEバージョン 1.3.0
 PHPバージョン PHP 4.4.4
 DBバージョン MySQL 4.1.21

どなたかアドバイスいただけますでしょうか。
よろしくお願いします。
tajimadnes
投稿日時: 2007/5/11 9:55
対応状況: −−−
新米
登録日: 2007/5/10
居住地:
投稿: 2
Re: ログアウト後にお客様情報がクリアされない
PHP, MySQLのバージョンが違いますが試してみました。
かごの中に商品は残ってますが、購入手続きに進むにはログインしなおさなければなりませんでした。
あ、Firefoxのバージョンも違った。
参考にならずすみません。
ゲスト
投稿日時: 2007/5/11 16:21
対応状況: −−−
Re: ログアウト後にお客様情報がクリアされない
こんにちは。
返信ありがとうございます。
投稿した者の代理で追記させていただきます。

こちらでも再度検証した結果、ログイン後何もせずにログアウトした時は現象は起こらないようです。
ログイン中に購入の「ご入力の確認ページ」を表示させてからログアウトした後お客様情報入力画面に行くと情報が残った状態になります。
なので、ご入力の確認ページを表示させる時に何処かに情報を書き込み、ログアウト時に情報がクリアされていない。
という事なのだと予想はできたのですが、回避方法がわかりません。
(FireFoxではFireFoxを再起動しないと情報はクリアされないようです。)

また、Macで検証した結果。
Safari 1.3.2
IE 5.2
でも同様の現象が確認できました。

どなたかお解りになりますでしょうか?
よろしくお願いいたします。
ramrun
投稿日時: 2007/5/11 18:10
対応状況: −−−
仙人
登録日: 2006/11/3
居住地:
投稿: 789
Re: ログアウト後にお客様情報がクリアされない
興味があったので確認してみました。

うちではIE6、IE7、Firefox2すべてで同事象を確認できました。

ログイン状態でお届け先の次の処理に入ったとき、データベースのdtb_order_tempテーブルに、一時的に顧客情報が記録されるようです。

セッションではなくデータベースに格納している情報なので、ログアウトしても残っています。

またログアウト時に$_SESSION['customer']の解放をしているようですが、上記dtb_order_tempテーブルから情報を取り出すためのユニークIDが$_SESSION['site']に入っているため、呼び出されるようです。

とりあえずログアウト時にユニークIDを解放すれば問題なさそう。

	// ログアウト $_SESSION['customer']を解放し、ログに書き込む
	function EndSession() {
		// $_SESSION['customer']の解放
		unset($_SESSION['customer']);
		$objSiteSess = new SC_SiteSession();
		$objSiteSess->unsetUniqId();
		// ログに記録する
		 :
		 :


実際、unsetUniqId()で行っている処理は
$_SESSION['site']['uniqid'] = "";

だけみたいなので、赤字部分は上記コードの方がよいかも。

残ってしまったdtb_order_tempテーブルの情報が、いつ削除されるのかは確認してません。
ramrun
投稿日時: 2007/5/12 9:52
対応状況: −−−
仙人
登録日: 2006/11/3
居住地:
投稿: 789
Re: ログアウト後にお客様情報がクリアされない
書き忘れてましたが、上の
function EndSession() {
  :

があるのは/data/class/SC_Session.phpです(汗)。

dtb_order_tempテーブルへの処理を見てみたんですが、
/html/shopping/complate.phpで
/* 受注一時テーブルの削除 */
function lfDeleteTempOrder($objQuery, $uniqid) {
	$where = "order_temp_id = ?";
	$sqlval['del_flg'] = 1;
	$objQuery->update("dtb_order_temp", $sqlval, $where, array($uniqid));
	// $objQuery->delete("dtb_order_temp", $where, array($uniqid));
}

という処理をしています。
(携帯の場合は/html/mobile/shopping/complate.php)

削除はコメントアウトされており、削除フラグを立てることで無効しているようです。

受注の際に何かあった場合、このテーブルをチェックすれば、
購入しようとしたが何らかの理由で途中で止めた人などが分かるので、
情報としては消したくないかも。
ゲスト
投稿日時: 2007/5/14 18:39
対応状況: −−−
Re: ログアウト後にお客様情報がクリアされない
ramrunさん、アドバイスありがとうございます。

/data/class/SC_Session.php
を確認してみたのですが、若干ソースの記述が違うようです。
(Versionちがい?)

データベースへ書込んでいる点や、削除フラグを立てる動きなど
は教えていただいたとおりの動きでしたので、この辺を重点的に
調べてみます。

もしEC-CUBEバージョン 1.3.0を使用している方で、何かわかる
ようでしたら情報をいただけると助かります。
ramrun
投稿日時: 2007/5/15 11:37
対応状況: −−−
仙人
登録日: 2006/11/3
居住地:
投稿: 789
Re: ログアウト後にお客様情報がクリアされない
すみません(汗)。
バージョンの違いではなく、私の書き間違いです。

SC_Session.phpではなくてSC_Customer.phpのfunction EndSession()でした...
ゲスト
投稿日時: 2007/5/15 19:54
対応状況: −−−
Re: ログアウト後にお客様情報がクリアされない
ramrunさん、ありがとうございます。

OKです。
FireFox1.5で稼動確認がとれました。

とても助かりました。
ありがとうございました。
yossy
投稿日時: 2007/9/3 21:05
対応状況: −−−
新米
登録日: 2007/7/15
居住地:
投稿: 9
Re: ログアウト後にお客様情報がクリアされない
私も同じ状況にハマりましたが解決しました。ありがとうございました。
kaworu
投稿日時: 2008/12/16 11:28
対応状況: −−−
半人前
登録日: 2008/8/29
居住地:
投稿: 23
Re: ログアウト後にお客様情報がクリアされない
私も同じような現象で困っています。
EC-CUBEのバージョンは2.1.2
PHPは5.2.6
DBはPostgre8.2.6です。

私の運営するサイトの場合、お客様に本店、支店等がありまして、それぞれにID、パスワードをお渡ししているのですが、そのため、お客様によっては同じ場所からいったんログアウトしてまた新しいIDで注文をされる場合があります。

そのさい、かごに入れた状態でログアウトすると、違うID、パスワードでログインすると、前の処理の終わっていないものがかごに入ったままになってしまいます。

ramrun様が書いていらっしゃるように、SC_Customer.phpのログアウトの際の解放のところと、Data/Class/Pages/Shopping/LC_Page_Shopping_Complete.phpの、コメントアウトしている部分をコメントアウトを外してみたのですが、うまく行きませんでした。

どなたかアドバイスいただけますでしょうか。
よろしくお願いします。
(1) 2 »
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は88,785名です
総投稿数は109,972件です

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2313
5
umebius
2085
6
yuh
1819
7
h_tanaka
1644
8
red
1570
9
mcontact
1289
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
799
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.