質問 > フロント機能 > ログアウト後にお客様情報がクリアされない |
フロント機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
ゲスト |
投稿日時: 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を解放すれば問題なさそう。
実際、unsetUniqId()で行っている処理は
だけみたいなので、赤字部分は上記コードの方がよいかも。 残ってしまったdtb_order_tempテーブルの情報が、いつ削除されるのかは確認してません。 |
ramrun |
投稿日時: 2007/5/12 9:52
対応状況: −−−
|
仙人 登録日: 2006/11/3 居住地: 投稿: 789 |
Re: ログアウト後にお客様情報がクリアされない 書き忘れてましたが、上の
があるのは/data/class/SC_Session.phpです(汗)。 dtb_order_tempテーブルへの処理を見てみたんですが、 /html/shopping/complate.phpで
という処理をしています。 (携帯の場合は/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 » |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |