Mineaki Gotoh
gij****@peak*****
2003年 4月 7日 (月) 07:10:38 JST
後藤です。 ふと思いついたのですが、 >// navigation history > if (tep_session_is_registered('navigation')) { > if (!eregi('^4\.', phpversion()) || eregi('^4.0b2', phpversion())) { > $broken_navigation = $navigation; > $navigation = new navigationHistory; > $navigation->unserialize($broken_navigation); > } > } else { > tep_session_register('navigation'); > $navigation = new navigationHistory; > } > $navigation->add_current_page(); >session変数に navigation が保存されていて、かつ、それが >navigtionHistoryのオブジェクトではない場合のみですね。 この理由って、もしかして、なんらかの理由でセッション変数がグローバル 変数として登録されていない、もしくは、別タイプの同名変数で上書きされ ているだけなのではないかと。(怪しいのはCOOKIEあたり) セッションにある"navigation"そのものが壊れている可能性は低いと思いま すので、 単に、 // navigation history if (tep_session_is_registered('navigation')) { $navigation = $_SESSION[ 'navigation' ] ; // 追加 if (!eregi('^4\.', phpversion()) || eregi('^4.0b2', phpversion())) { $broken_navigation = $navigation; $navigation = new navigationHistory; $navigation->unserialize($broken_navigation); } } else { tep_session_register('navigation'); $navigation = new navigationHistory; } $navigation->add_current_page(); で直るんじゃないでしょうか。 良かったら試してみてください。 -- 株式会社PEAK ネットワーク技術担当 後藤 <gij****@peak*****>