Re: [解決済み] 1.04にしたら買い物カゴに商品が追加できなくなった

フォーラム 使い方全般 [解決済み] 1.04にしたら買い物カゴに商品が追加できなくなった Re: [解決済み] 1.04にしたら買い物カゴに商品が追加できなくなった

#62337
nanbu
キーマスター

mamekichi さん、情報ありがとうございます。

正にその通りです。何らかの理由でzrea では$_SERVER が取得できないと思い前回修正案を提示させて頂きましたが、取得できないのではなくて別の値が入ってしまっていたのですね。

そもそもこの様なサーバーはEC構築には不向きなのですが、上位のCORESERVERも恐らく同じ仕組みでしょう。(更にセーフモードでしたよね)

次のような修正が有効でしたら正式にWelcart 本体に組み入れたいと思います。お手数でなければ試してみていただけますでしょうか。

usc-e-shop/classes/usceshop.class.php

【修正1】

5536 $postfix = ( isset($_SERVER['REMOTE_ADDR']) && !empty($_SERVER['REMOTE_ADDR']) ) ? $_SERVER['REMOTE_ADDR'] : 'REMOTE_ADDR';
5537 $sessid = $chars . '_' . $postfix;

 ↓

5536 $postfix = ( isset($_SERVER['REMOTE_ADDR']) && !empty($_SERVER['REMOTE_ADDR']) ) ? $_SERVER['REMOTE_ADDR'] : 'REMOTE_ADDR';
追加行 $postfix = apply_filters('usces_sessid_force', $postfix);
5537 $sessid = $chars . '_' . $postfix;

【修正2】

5548 $postfix = ( isset($_SERVER['REMOTE_ADDR']) && !empty($_SERVER['REMOTE_ADDR']) ) ? $_SERVER['REMOTE_ADDR'] : 'REMOTE_ADDR';
5549 if( 'acting' != $addr && 'mobile' != $addr && $postfix != $addr ) {

 ↓

5548 $postfix = ( isset($_SERVER['REMOTE_ADDR']) && !empty($_SERVER['REMOTE_ADDR']) ) ? $_SERVER['REMOTE_ADDR'] : 'REMOTE_ADDR';
追加行 $postfix = apply_filters('usces_sessid_force', $postfix);
5549 if( 'acting' != $addr && 'mobile' != $addr && $postfix != $addr ) {

【フィルター】

テーマ内functions.php に追記

add_filter('usces_sessid_force', 'my_sessid_force');
function my_sessid_force( $notuse ){
return $_SERVER['HTTP_X_FORWARDED_FOR'];
}