mamekichi
投稿の際は下記の情報をお書き添えください。
-------------------------------------------
WordPress のバージョン:(例 6.0.2)
Welcart のバージョン:(例 2.8.1)
PHP のバージョン:(例 8.0)
Welcart専用の拡張プラグインとバージョン:(例 DL Seller 3.4.1、SKU Select 1.4.2)
ご利用の親テーマとバージョン :(例 Welcart Basic 1.7.1)
ご利用の子テーマとバージョン :(例 Welcart Beldad 1.4)
症状を確認したブラウザ:
サーバー【重要】:(会社名、サービス名)
--------------------------------------------
フォーラムへの返信
-
投稿者投稿
-
mamekichi参加者
nanbu様
お世話になっています。
前回のバージョンでどこが修正出来ていなかったかわかりませんでしたが、Development Version(r1107201)で、エラーが出ないことを確認しました。
ありがとうございました。
mamekichi参加者nanbu様
こんにちは
動作確認しました。OKです。
ありがとうございました。
mamekichi参加者こんにちは
私も書き換えたいところがあって、poeditというソフトを使っています。
usces-ja.poを読み込み、編集の後に保存すると、usces-ja.moというファイルが同時に出来ています。これが実際に読み込まれるファイルです。
http://sourceforge.jp/projects/sfnet_poedit/
ただ、バージョンアップのときに上書きされてしまうので….上書きを防ぐ何かいい方法がないですかねー。
mamekichi参加者nanbu様、n.tanabe様
こんばんは
Development Versionにて確認しました。
Warningが表示されなくなりました。
大変ありがとうございました。
なお、「このメールアドレスは既に登録されています」に関しては改めてトピックを立てます。
mamekichi参加者nanbu様
お世話になります。
Macを再起動し、現象を確認しているブラウザは立ち上げずに、違うブラウザ(FireFox)で試しましたが、同じWarningが表示されました。
会員登録しない場合、「発送・支払方法」の表示までは異常はありませんが、支払い方法を選んで[次へ]をクリックすると、画面上部に表示されます。
[会員登録をしながら次へ]をクリックした場合はWarningが出ません。
なお、トピックと関連するかどうかわかりませんが、元にもどってメール以外の会員情報を修正して[会員情報を修正して次へ]をクリックすると「このメールアドレスは既に登録されています」と表示されて、先に進めませんでした。
お手数かけてすみませんが、よろしくお願いいたします。
mamekichi参加者nanbu様
ありがとうございます。
カートに追加されるようになりました。
ただ、「内容確認」のページにいくと、、下記のワーニングが表示されるようになりました。これは、会員登録せずに操作した場合です。会員としてログインした場合は表示されません。
Warning: Invalid argument supplied for foreach() in /..<省略>../wp-content/plugins/usc-e-shop/classes/usceshop.class.php on line 3367
これは、
function get_member() {
foreach ( $_SESSION as $key => $value ) {
の部分です。
トピックとずれてしまいますが、引き続きお願いいたします。
mamekichi参加者nanbu様
大変お世話になっています。
【修正1】【修正2】とFilterでOKと理解しましたが、何故か【修正2】の部分が動作しません。
$postfix=apply_filters(‘usces_sessid_force’,$postfix);
echo ‘ forced=’ . $postfix;
と書いてエコーしてみても、forced= と表示されるだけです。
試しにfilterのreturn直前に echo ‘ACTIVE’; と書いても表示されません。【修正1】の方は表示されます……。何か他に書くべきことがあるのでしょうか?
よろしくお願いいたします。
mamekichi参加者nanbu様
大変お世話になっています。
return ‘NONEADDR’;を試しましたが、結果は同じでした。
uscescv()のurlencodeの直前に$sessidをechoしましたが、
9回uscescvが呼ばれ、8回までは ***_NONEADDRでしたが、
9回目は***_acting と表示されました。NONEADDRではなく
actingにすれば動くのですが、解決になっていないですよね。
もっと調べてみます。
追伸
サーバーが返さなくなるという推測は間違いだったと思います。uscescv()のflagが8回まではtrueで9回目がfalseということですね。
追記
$sessidをechoしたときの****_NONEADDRの****の部分が、カゴに入れる前とカゴに入れた後では異なっていました。
前に戻ってカゴに入れ直すたびに値が変化します。
違っていれば同じカゴに入らないのは当然ということですね。
$postfixをactingに変えると、カゴに追加できますが、そのとき****の部分はカゴに入れる前後で同じ値が保持されています。
mamekichi参加者nanbu様
こんにちは
大変お世話になっております。
教えていただいたコードを書いて試しましたが、結果はNGでした。
そこで、関数 uscescv が $sessidを返す手前で、sessidの値をechoしてみました。
echo “sessid=” . $sessid . “n”;
$sessid =urlencode(base64_encode($sessid));
return $sessid;
}
すると、同一のsessid=なんとか_IPアドレス が 8回出力され、
最後にもう一回、sessid=なんとか_acting と出力されました。
この最後の1回をエンコードしたものが、uscesid=以下に表示されるものと同一です。
なお、my_sessid_force()の中で、$_SERVERをechoさせてみたところ、8回同じアドレスが表示されました。
アドレスは取得できているのですが、短時間に8回も9回も取得しようとするとサーバーがアドレスを返さないというような仕組みになっているのではないかと想像します。
この回数を減らすことができれば、解決しそうな気がしますが、いかがでしょうか?
よろしくお願い申し上げます。
追記1
sessid=なんとか_IPアドレスは、
0ph3096q19ff2fr5g48vd1it4c378q0ij35s6g0_219.116.225.17
sessid=なんとか_actingは、
0ph3096q19ff2fr5g48vd1it4c378q0ij35s6g0_acting
です。
追記2
参考になるかどうかわかりませんが…..
$_SERVER にもアドレスが入っていました。
でも、
$_SERVER;
とは全く別のアドレスでした。後者にはsslサーバーのアドレスが入っていました。
mamekichi参加者nanbu様
こんにちは
お世話になります。
昨日修正した箇所の1つ前の関数uscescvのif( $flag ){}において、中身の$sessid = …の行だけを残したところ(要するに$flag=FALSEと同じこと)、複数の商品がカートに入りました。
もとに戻すと、1種類しか入りませんが、そのときのsessionIDをブラウザからコピーしてデコードしてみてもaddressが得られませんでした。(デコードをしてくれるサイトを利用しましたので、操作に誤りがあるかもしれません)。
そこで思い出したのですが、xreaのSSLの注意書きとして、以下の文章があります。
—-引用開始—-
・代替サーバーを介するため、REMOTE_ADDR,REMOTE_HOSTが取得出来ません。
REMOTE_ADDRの代わりに、HTTP_X_FORWARDED_FORを使って下さい。
REMOTE_HOSTはHTTP_X_FORWARDED_FORのIPアドレスを逆引きして下さい。
—-引用終わり
このことが関係しているのではないかと思うのですが、知識がないので自信がありません。
よろしくご教授願います。
mamekichi参加者お世話になります。
テスト用の環境で1.04のusceshop.class.phpに教えていただいた修正をしましたが、残念なことに結果は同じでした。
他に何か手がかりがありましたらご教授ください。よろしくお願いいたします。
mamekichi参加者nanbu様
こんにちは
ご返事ありがとうございます。
ご返事に気がつくのが遅れまして、とりあえず、応急措置として、1.03に戻して、includes/purchase_button.phpだけ1.04のものと置き換えています。
教えていただいた方法は後ほど試してご報告いたします。
ありがとうございました。
mamekichi参加者お世話になります。
SSLをonにすると追加できなくなります。
「追伸」で正常に動作した(ローカルの)PCではSSLはoffでした。
販売用に公開しているドメインとは別のドメインに最初からインストールしてSSLのon/offを試したところ、onにすると追加できませんでした。テーマはwelcart_defaultです。
エラー表示はありません。
さて、何に手をつければよいのでしょうか…..
追記:現在1.03に切り替えて運用していますが、Paypalとポイントの不具合があります。この点だけ直すことは可能でしょうか?
よろしくお願いいたします。
mamekichi参加者追伸です。公開していないPCに1.04をインストールしたら正常に動作しました。
どちらもWelcartのデフォルトのテーマを使っています。
違いをこれから調べます。
mamekichi参加者nanbu様
こんにちは
リストへの追加ありがとうございます。
よろしくお願い申し上げます。
-
投稿者投稿