zencart:管理画面オンラインユーザーのカートが表示されない

Posted on 日曜日, 5 月 3rd, 2009 at 5:17 PM

管理画面よりオンラインユーザーを表示した時
通常は、右側にユーザのショッピングカートが表示される。
しかしなぜかショッピングカート部分が非表示となっている。

毎度のことだがいつも曖昧・・。とりあえず思う動作をしたようだしこれでいいのか?って程度だ。(翌日)。 どうも今回の「動作をした。」はウソみたいだ・・・・^^;セッションIDが付加されたら 非表示になってる。。。とりあえず・・・IDを外したら一応動作したかも?(更に翌日)・・・あれ。IDが付いていても表示されている。なぜだろう。。更にユーザー新規登録者がログイン中は、右側のカートが非表示になっている。(左のオンラインユーザーの情報のみが画面いっぱいに広がっている・・)その顧客がログアウトした後は、右側カートが表示されている。。。。よくわからん。
(・・したがって・・これより下については、全く不明)

以前の    zencart:セッション が怪しいと思われる。?w

今回の表示オンラインユーザーのファイルは次の場所にある。
/admin/whos_online. 

375行目辺り
if (STORE_SESSIONS == 'db') {
を次のようにすることにより正しく表示されるようになった。
if (STORE_SESSIONS == '') {

ちなみに以前の一部の顧客がログイン出来ないという理由であったが
この一部の顧客がログイン出来るようになったのかは未だ判明していない。。。--;
したがって、この方法が合っているかどうかも定かではない。。

-------------
しかしPHP4.3.2 を使用している場合は、
strict_sessions.
 session_regenerate_id(); の直後に以下を追記

setcookie( session_name(), session_id(), 0, ‘/’ );
という表示のサイトを発見したが・・・・strict_sessions.って どこだろ。。
(v1.3.0.2-l10n-jp-1 用らしぃ)
------------
問題発生
左側オンラインユーザーと右側ユーザーのショッピングカート
が正しく表示されるようになったが
一番左○の色 アクティブカートの場合でも赤になっている。(通常:緑)
だが右側ユーザーのショッピングカート内は、正しく表示されている。(商品が入っている)
/admin/includes/configure.
define('STORE_SESSIONS', 'db'); // leave empty '' for default handler or set to 'db'
次のようにしたが、右側ユーザーのショッピングカートが再度非表示になった^^;
define('STORE_SESSIONS', ''); // leave empty '' for default handler or set to 'db'
--------------
ちなみに・・・いろいろ試してみた。
右側ユーザーのショッピングカート ○
/admin/includes/configure.
define('STORE_SESSIONS', ''); // leave empty '' for default handler or set to 'db'
/admin/whos_online.
if (STORE_SESSIONS == 'db') {
------------
右側ユーザーのショッピングカート ○
/admin/includes/configure.
define('STORE_SESSIONS', 'db'); // leave empty '' for default handler or set to 'db'
/admin/whos_online.
if (STORE_SESSIONS == '') {
--------------
右側ユーザーのショッピングカート ×
/admin/includes/configure.
define('STORE_SESSIONS', ''); // leave empty '' for default handler or set to 'db'
/admin/whos_online.
if (STORE_SESSIONS == '') {
==============
なぜでしょう。。
結局色の表示は・・・結局・・。
全て db と した場合のみ 正しく表示されるようだ。(/includes/configure. も)
顧客のログイン不可な理由がわからないのでとりあえず保留。
===========
その他参考までに
b. edit /includes/functions/sessions.と/admin/includes/functions/sessions.

function _sess_write($key, $val) {
// The following is only to work around a 5.2.0 bug:
global $db;
if (!is_object($db)) {
// 5.2.0 bug workaround ...
$db = new queryFactory();
$db->connect(DB_SERVER, DB_SERVER_USERNAME, DB_SERVER_PASSWORD, DB_DATABASE, USE_PCONNECT, false);
}

global $SESS_LIFE;

===============

2009.05.16 以下を変更

管理画面-セッションの管理-セッション再発行-true → false

関連記事

You can leave a response, or trackback from your own site.

One Trackback/Ping

  1. みめも » zencart:セッション    5 月 03 2009 / 5pm

Leave a reply

Name (*)
Mail (will not be published) (*)
URI
Comment