ショッピングローン(分割払い)のモジュール

困った時はこちらで質問してください。回答を担当する人は特に決まっていませんので、分かる方は回答をお願いします。
アバター
kimono
記事: 1995
登録日時: 2005/9/27 13:30
お住まい: 大阪府大阪市天王寺区上本町
連絡を取る:

投稿記事by kimono » 2005/10/03 17:28

お世話様です。
大変有難うございます。

最初、前に教えていただいたところを
$link_button .= zen_draw_hidden_field('in_shohin_mei' . $i, $products_name);
$products_name = $products->fields['products_name'];
$products_name = zen_trunc_string($products_name, 25, 'false');
としたのですが、今度は商品名が全く表示されなくなり(おそらく . $i,のあたりが関係しているのでしょうか・・・)$products_nameのところにもつけてみたりと色々やりましたが、上手くいかなっかったので、一行にしようと思い、
$link_button .= zen_draw_hidden_field('in_shohin_mei' . $i, zen_trunc_string($products->fields['products_name'], 25, 'false'));
にしました。そうすると、一応商品名が表示されるものの、全角で8文字しかなくなり、おかしいと思い数字を30.40.50としたところ、今度は商品名が全て表示され、20にしたところ、全角で20文字表示されてしまいました。
???
なんかはまってしまった感じです;;

ちなみに、同様に数量、金額も
$link_button .= zen_draw_hidden_field('in_suryo' . $i, zen_round($products->fields['products_quantity'], 0));
$link_button .= zen_draw_hidden_field('in_tanka' . $i, zen_round($products->fields['final_price'], 0));
としましたところ、数字は1.と小数点以下は表示されなくなったものの、1と0の間にあった.(点)だけ残り、金額も同様に231000.と点が消えませんでした;;

めちゃくちゃお手数をお掛けして大変申し訳ございません><


※すいません。文字数の件ですが、NICOS側で商品名の部分が全角漢字のみということで、当方で商品名に半角を使っていたりした部分が問題でしたので、こちらは解決しました。
※※ちなみに名前の部分ですが、性・名を分けることって出来ないですよね。データーベースのテーブルを見ても、orderから引っ張ってきてることが分かって、中身をみてもbilling_nameとcustomers_nameはありましたが、分かれてはないようでした。こちらはorderとかではなく、他からfirst_name、last_nameを引っ張ってくることは出来ますでしょうか?
アバター
佐々木2号
記事: 231
登録日時: 2005/5/23 13:26
お住まい: 広島県福山市
連絡を取る:

投稿記事by 佐々木2号 » 2005/10/03 20:09

佐々木2号です。

kimono さんが書きました:最初、前に教えていただいたところを
$link_button .= zen_draw_hidden_field('in_shohin_mei' . $i, $products_name);
$products_name = $products->fields['products_name'];

$products_name = zen_trunc_string($products_name, 25, 'false');
としたのですが、今度は商品名が全く表示されなくなり(おそらく . $i,のあたりが関係しているのでしょうか・・・)$products_nameのところにもつけてみたりと色々やりましたが、上手くいかなっかったので、一行にしようと思い、
$link_button .= zen_draw_hidden_field('in_shohin_mei' . $i, zen_trunc_string($products->fields['products_name'], 25, 'false'));
にしました。

えーとですね、基本的にプログラムは上から下に実行されていきますので、

コード: 全て選択

$products_name = $products->fields['products_name'];
$products_name = zen_trunc_string($products_name, 25, 'false');
$link_button .= zen_draw_hidden_field('in_shohin_mei' . $i, $products_name);

と書かないとだめですよ。
それと$iの前の(.)ドットは、結合演算子といってその前後の文字列つなぎ合わせる
記号です。$iが1のときは結果として
$link_button .= zen_draw_hidden_field('in_shohin_mei1', $products_name);
と書いたことと同じになります。

kimono さんが書きました:そうすると、一応商品名が表示されるものの、全角で8文字しかなくなり、おかしいと思い数字を30.40.50としたところ、今度は商品名が全て表示され、20にしたところ、全角で20文字表示されてしまいました。
???
なんかはまってしまった感じです;;

ちょっとよくわかりませんが、リンクボタンのHTMLのソースがそのような結果だった
のでしょうか? それともNICOS側の方でしょうか?

kimono さんが書きました:ちなみに、同様に数量、金額も
$link_button .= zen_draw_hidden_field('in_suryo' . $i, zen_round($products->fields['products_quantity'], 0));
$link_button .= zen_draw_hidden_field('in_tanka' . $i, zen_round($products->fields['final_price'], 0));
としましたところ、数字は1.と小数点以下は表示されなくなったものの、1と0の間にあった.(点)だけ残り、金額も同様に231000.と点が消えませんでした;;

実は、 zen_round()を使用しなくてもphpのround()を使えば出来るのですが、
round()は、phpのバージョンによって動きが違うのでphpのバージョンを限定
できないzencartではzen_round()で同様の処理を行っています。

# というかosCommerceから枝分けれした当時のままのなのでしょうか
# osCommerceのtep_round()は別の方法でphpのバージョン差異を
# 吸収させています。そっちのほうがシンプルでいい感じです。

で、小数点ですが、その前に金額は、税込みですか税別ですか?
小数点以下の処理は、切捨て、切り上げ、四捨五入のどれになりますか?

単純にzen_round()の結果から小数点をとりたいのであれば、

コード: 全て選択

$link_button .= zen_draw_hidden_field('in_tanka' . $i, (int)zen_round($products->fields['final_price'], 0));

とすればOKです。(int)は値を整数に変換します。
ただし、未知の端数をキャストすると予期せぬ結果となることがありますので
ご注意を。

kimono さんが書きました:※すいません。文字数の件ですが、NICOS側で商品名の部分が全角漢字のみということで、当方で商品名に半角を使っていたりした部分が問題でしたので、こちらは解決しました。

商品名の件は解決?でいいんですかね

kimono さんが書きました:※※ちなみに名前の部分ですが、性・名を分けることって出来ないですよね。データーベースのテーブルを見ても、orderから引っ張ってきてることが分かって、中身をみてもbilling_nameとcustomers_nameはありましたが、分かれてはないようでした。こちらはorderとかではなく、他からfirst_name、last_nameを引っ張ってくることは出来ますでしょうか?

性・名の間に半角スペースが必ず入ってますよね、これを境に姓と名を分けることが
出来そうですね。
または、クレジット申込者=注文顧客であれば
$_SESSION[customer_last_name] と $_SESSION[customer_first_name] に
それぞれ姓と名が入っているのでその値をもってきてもよいかと思います。

最後に苦言をいうようで恐縮ですが、zencartをカスタマイズするのはいいのですが、
もし、それを実際に公開してショップ運営しようとお考えでしたら、もう少しプログラムの
スキルを身に着けてからのほうがいいと思いますよ。
他のスレッドでも同じようなことが書き込まれていたと思いますが、
きちんとした理解をもたずに勘だけでソースをいじるのは思わぬ不具合を招く
リスクがありますから自分が書いたものがどういう意味でどう動くかぐらいは
意識してないと問題が起きたときに対処できないと思います。

ただ誤解しないでほしいのですが、自分でカスタマイズすることを否定して
いるのわけではないです。最初は、だれでも初心者ですからね、
私も時間が許されればわかる範囲でしたらお応えしますので、
がんばってください。 
アバター
kimono
記事: 1995
登録日時: 2005/9/27 13:30
お住まい: 大阪府大阪市天王寺区上本町
連絡を取る:

投稿記事by kimono » 2005/10/04 13:35

お世話様です。
先に、
最後に苦言をいうようで恐縮ですが、zencartをカスタマイズするのはいいのですが、
もし、それを実際に公開してショップ運営しようとお考えでしたら、もう少しプログラムの
スキルを身に着けてからのほうがいいと思いますよ。
他のスレッドでも同じようなことが書き込まれていたと思いますが、
きちんとした理解をもたずに勘だけでソースをいじるのは思わぬ不具合を招く
リスクがありますから自分が書いたものがどういう意味でどう動くかぐらいは
意識してないと問題が起きたときに対処できないと思います。

ただ誤解しないでほしいのですが、自分でカスタマイズすることを否定して
いるのわけではないです。最初は、だれでも初心者ですからね、
私も時間が許されればわかる範囲でしたらお応えしますので、
がんばってください。

大変、おっしゃるとおりです。今回はこれだけ大変なこととはわからず、皆様に多くのご迷惑をお掛けいたしていますことをお詫びしたいと思います。
これだけ大変なら最初から頼んでおけばよかったなと思います。
しかし、また誰でも最初は・・・とおっしゃっているように、いじらなければ理解できないことも事実です。
先に通常サイトの方でxoopsで構築し、同様にzencartもできるのかなと思っていましたが、xoopsはsmartyを使っており、全然違うような気がします。
それでなのですが、正直ここまでお世話になりまして、また今後もおそらくわからないことあれば相談すると思います。しかし、少しでも嫌な気持ちを抱えたまま続けるのは、問題があると思います。ですので、ほんの気持ちではありますが、会社というわけにはいきませんので、私の個人の勉強費用ということで送らせていただければ幸いと思います。
これからも一緒に頑張っていければ幸いと思いますので、何卒宜しくお願いいたします。

ちなみに、ECクレジットの方は、先日教えていただきましたソースを見ながら、修正し、問題なくなったと思ったのですが(ソースで吐き出された情報form 縲鰀/formを新規で秀丸を立ち上げ、htmlで保存し、送っていて動くようになった)、実際のzenの方よりボタンで送信するとエラーになりました。
全く、同じもののはずなのに!と悩みましたところ、先日hiraさんに教えていただきました属性ではないかと思います。秀丸で新規でs-jisで立ち上げ、そこにソースをそのまま貼り付け送っていたため、s-jisで送っており、実際の方はeucだったということです。
ちなみに、少し色々やってみましたが、
$products_name = $products->fields['products_name'];
$products_name = zen_trunc_string($products_name, 25, 'false');
$product_name=mb_convert_encoding($product_name, "EUC", "SJIS");
$link_button .= zen_draw_hidden_field('in_shohin_mei' . $i, $products_name);

では上手く変換されず、ソースをeucで開くと普通に文字が表示され、nicosでもエラーになってしまいました。
$link_button .= zen_draw_hidden_field('in_simei_sei', mb_convert_encoding($_SESSION[customer_last_name], "EUC", "SJIS")) . "\n";
は変換されたのか、ソースをeucで開くと文字化けしておりました。
では、form出力の際にsjisに変換されればいいのだからと思い、 mb_http_output('SJIS');を元々のクロネコの232行目あたりに入れてみましたが、こちらも駄目で、SJISになっているかどうかの確認も出来ませんでした。

金額については、税込みで、小数点以下切捨てになります。
商品名の件は解決いたしました。大変有難うございます。
性・名も問題なく出来ました。

前回で最後と申しましたが、こちらが最後になるのではと思います。
大変お手数ですが、何卒宜しくお願いいたします。
アバター
佐々木2号
記事: 231
登録日時: 2005/5/23 13:26
お住まい: 広島県福山市
連絡を取る:

投稿記事by 佐々木2号 » 2005/10/04 15:53

佐々木2号です。
kimono さんが書きました:大変、おっしゃるとおりです。今回はこれだけ大変なこととはわからず、皆様に多くのご迷惑をお掛けいたしていますことをお詫びしたいと思います。

いえいえ、お詫びだなんて全く必要ないですよ。

kimono さんが書きました:これだけ大変なら最初から頼んでおけばよかったなと思います。
しかし、また誰でも最初は・・・とおっしゃっているように、いじらなければ理解できないことも事実です。

そのとおりです。

kimono さんが書きました:先に通常サイトの方でxoopsで構築し、同様にzencartもできるのかなと思っていましたが、xoopsはsmartyを使っており、全然違うような気がします。

やっぱり、zencartのカスタマイズは、いわゆるプログラマーといわれる人以外には、
敷居が高いことは、否めないですね。 オーバーライドやテンプレートシステムも
構造が理解できてソースが読める人には、いいのですが、そうでない人にとっては、
かえって難解な印象を感じるのではないかと思います。

ちなみに私もzencart以外の開発は、Smartyをほぼ100%使ってます。
ZencartのテンプレートもSmarty採用になるとデザインカスタマイズの敷居が
下がりそうですね。 1.3でテンプレートシステムが(Smarty採用でないにしても)
大きく進化するそうですからちょっと期待しています。

kimono さんが書きました:それでなのですが、正直ここまでお世話になりまして、また今後もおそらくわからないことあれば相談すると思います。しかし、少しでも嫌な気持ちを抱えたまま続けるのは、問題があると思います。ですので、ほんの気持ちではありますが、会社というわけにはいきませんので、私の個人の勉強費用ということで送らせていただければ幸いと思います。
これからも一緒に頑張っていければ幸いと思いますので、何卒宜しくお願いいたします。

個人的にどうこうというのはありませんのでお気をつかわれなくてもいいですよ。
kimonoさんがあきらめずに最後までやりきるその経過をここに書き込んで
いただいくことによって、また次に同じような問題で困っている方の参考に
役立ちます。 それが当コミュニティの財産だと私は思っていますから
それと、ZenCart採用サイトが増えることは、ZenCartに関連するお仕事を
されている方にもいい影響があるのではないかと思います。

最近、「osCommerceインストール済み」とかうたっているホスティングサービスが
増えていますが、「ZenCartインストール済み」ホスティングサービスが出てきたり
するといいですね :D

えー、話を本題にもどして、
kimono さんが書きました:ちなみに、ECクレジットの方は、先日教えていただきましたソースを見ながら、修正し、問題なくなったと思ったのですが(ソースで吐き出された情報form 縲鰀/formを新規で秀丸を立ち上げ、htmlで保存し、送っていて動くようになった)、実際のzenの方よりボタンで送信するとエラーになりました。
全く、同じもののはずなのに!と悩みましたところ、先日hiraさんに教えていただきました属性ではないかと思います。秀丸で新規でs-jisで立ち上げ、そこにソースをそのまま貼り付け送っていたため、s-jisで送っており、実際の方はeucだったということです。
ちなみに、少し色々やってみましたが、
$products_name = $products->fields['products_name'];
$products_name = zen_trunc_string($products_name, 25, 'false');
$product_name=mb_convert_encoding($product_name, "EUC", "SJIS");
$link_button .= zen_draw_hidden_field('in_shohin_mei' . $i, $products_name);

では上手く変換されず、ソースをeucで開くと普通に文字が表示され、nicosでもエラーになってしまいました。
$link_button .= zen_draw_hidden_field('in_simei_sei', mb_convert_encoding($_SESSION[customer_last_name], "EUC", "SJIS")) . "\n";
は変換されたのか、ソースをeucで開くと文字化けしておりました。
では、form出力の際にsjisに変換されればいいのだからと思い、 mb_http_output('SJIS');を元々のクロネコの232行目あたりに入れてみましたが、こちらも駄目で、SJISになっているかどうかの確認も出来ませんでした。

mb_convert_encoding()は、
変換後の文字列 = mb_convert_encoding(変換前の文字列,変換後のエンコーディング, 変換前のエンコーディング)
ですからEUC-JP から SJIS への変換でしたら

コード: 全て選択

mb_convert_encoding($_SESSION customer_last_name], "SJIS", "EUC-JP")

だと思いますが、、、
また第三引数は、指定してもそれが絶対ではなく優先されるだけで変換前の
エンコーディングは自動検出されるので

コード: 全て選択

mb_convert_encoding($_SESSION[customer_last_name], "EUC", "SJIS")

と書いても、実際の動作は EUC -> EUC に変換もしくは何も変換しないと
なっているのではないかと思います。
mb_http_output()は、使い方が違うのでそれではだめですね。

フォームのvalueが正しくSJISに変換されているか簡易的に確認する方法としては
WindowsのIEを使ってページを表示して右クリック -> ソースの表示 をすると
メモ帳でソースが開くと思います。メモ帳は、SJISでしか開けませんのでページ内の
日本語は文字化けしてNICOSに送信するフォームのvalueだけは、文字化けして
いなければOKということになります。

金額については、税込みで、小数点以下切捨てになります。

常に小数点以下切捨てということでしたら単純に、

コード: 全て選択

$link_button .= zen_draw_hidden_field('in_tanka' . $i, (int)$products->fields['final_price']);

でもいいですが、10円単位以下の端数がある商品の場合は、税計算の関係で
合計金額に1円単位の誤差が生じることがあります。

商品名の件は解決いたしました。大変有難うございます。
性・名も問題なく出来ました。

前回で最後と申しましたが、こちらが最後になるのではと思います。
大変お手数ですが、何卒宜しくお願いいたします。

あともう一息ですね、最後といわずうまくいったらまたフィードバックをいただけると
ありがたいです。
アバター
kimono
記事: 1995
登録日時: 2005/9/27 13:30
お住まい: 大阪府大阪市天王寺区上本町
連絡を取る:

投稿記事by kimono » 2005/10/04 21:04

お世話様です。
何度も本当に申し訳ございません&有難うございますm(__)m

今回こちらを触ることで、zencartがどのような構成になっていてとかだいぶわかるようになってきました。とは言っても、根本を理解していないため、まだまだなのですが・・・
正直言って、オーバーライドとかあるのは知っていても、使いにくいなとか思いますが、今回触ったお陰で、zencartの仕組上仕方ないのかなと思ったりもしております。
別のスレッドでよくしていくようなことについてなどあり、本当は言いたいことなどいっぱいあるのですが、仕事をしながらの都合上、どうしても後回しになっているのも事実です。
まだまだお話したいことはたくさんあるのですが、時間がないため、先に報告のみしておきます。

とりあえず、eucをsjisに吐き出すことに成功いたしました。
金額などについても問題なさそうです。
しかし、やはりそのままではNICOSにエラーになってしまいます。
おそらく、元々のcheckout_successのページがeucだからでしょうか。。。
同じ物をsjisフォーマットのhtmlではエラーにならずに、出力元のhtmlがeucだとエラーになってしまいます。漢字などは問題なく変換出来ているのですが・・・
例えば、format縲鰀/formatを秀丸でsjisで適当にhtmlの名前をつけて保存し、それをIEで開き、ボタンを押すと送れ、eucで保存し、IEで開いて送るとエラーになる状態です。
おそらくこのようなことはないのかもしれませんが、また何かわかりましたら、こちらも報告します。

とりあえず、中間報告までに。
アバター
佐々木2号
記事: 231
登録日時: 2005/5/23 13:26
お住まい: 広島県福山市
連絡を取る:

投稿記事by 佐々木2号 » 2005/10/04 23:16

佐々木2号です。

NICOSの仕様がわからないのとテストできる環境がないのでこれ以上、私に
出来ることはあまりないですが、、、 気になっていたのがvalueの文字列を
いくらSJISに変換してPOSTしてもともとEUC-JPのページからだと文字化けした
EUC-JPの文字として送信されるんじゃないかとおもいますが
# それを先に言えって :oops:

つまり「佐々木ニ号」をSJISに変換にしてEUC-JPで出力されたHTMLで表示すると
「拷X万)号」に文字化けします。でそのまま「拷X万)号」として送信されます。
NICOS側は、「拷X万)号」を受け取るので全角入力のみ許可となっていれば
当然エラーになります。

SJISしか処理できないというのもちょっとお粗末な気もしますが、ASP.NETはよく
わかりませんがだめなんですかね?
ためしにSJISに変換せずに素直にすべてEUC-JPで送信してみたらどうでしょう?

あとは、NICOSのサポートに聞くか、zencart自体をSJISで出力させるか
しかないでしょうね。
アバター
佐々木2号
記事: 231
登録日時: 2005/5/23 13:26
お住まい: 広島県福山市
連絡を取る:

投稿記事by 佐々木2号 » 2005/10/04 23:31

佐々木2号です。

ちょっと補足というか訂正
佐々木2号 さんが書きました:つまり「佐々木ニ号」をSJISに変換にしてEUC-JPで出力されたHTMLで表示すると
「拷X万)号」に文字化けします。でそのまま「拷X万)号」として送信されます。
NICOS側は、「拷X万)号」を受け取るので全角入力のみ許可となっていれば
当然エラーになります。

NICOS側で「拷X万)号」をSJISとして解釈しても「佐々木ニ号」にもどらずさらに
文字化けしてエラーになります、が正しいかな。。。 だと思う。。。間違っていたら
誰かつっこんでください
アバター
taki
記事: 13
登録日時: 2005/5/16 14:05
お住まい: 神奈川県横浜市港北区新横浜
連絡を取る:

投稿記事by taki » 2005/10/05 11:12

takiです(かなりひさしぶり)
佐々木2号さんの仰る通りにEUC-JPのままPOSTされているのだと思います。
下記のURLが参考になるかと思います、JAVAScript経由でEUC-JPのPOSTデータをSJISとして送り込めばよいかと・・・。
http://search.web-sun.com/zatu/charset.html

ではでは
アバター
kimono
記事: 1995
登録日時: 2005/9/27 13:30
お住まい: 大阪府大阪市天王寺区上本町
連絡を取る:

投稿記事by kimono » 2005/10/05 13:24

お世話様です。
皆様本当に有難うございます。

検証致しました結果を報告致します。
・全てEUCで送る→エラーになりました。
・NICOS側sjisじゃないと受け取れないということ。それ以上はよく分からないとのこと(あまり詳しい方がその時いなかったため、再度連絡をもらうことになっております)

とにかく、今のformをsjisにして送る方法はないかと考え、一度cgiで受け取って、そこからまたformで送ればと思い、cgiのスクリプトを書き始めていましたところ、takiさんよりカキコミがありましたので、そちらを先に検証致しました。

https://www.online-kimono.jp/shop/index ... ut_successのページのソースより、form縲鰀/formを取り、そちらに加工してみました。
・秀丸をeucで開く。
・form縲鰀/formを貼り付け。
<form name="UserForm" action="https://××.nipponshinpan.co.jp/××/siharaihoho.asp" method="post" target="_blank">
<input type="hidden" name="in_shohin_mei1" value="特選 長嶋成織物 謹製 日本の名品袋帯 【五条大橋" /><input type="hidden" name="in_suryo1" value="1" /><input type="hidden" name="in_tanka1" value="231000" /><input type="hidden" name="in_kamei_psw" value="×××" />
<input type="hidden" name="in_kamei_id" value="×××" />
<input type="hidden" name="in_kamei_datetime" value="2005/10/05 12:57:01" />
<input type="hidden" name="in_redirecturl_ok" value="http://www.online-kimono.jp/shop/" />
<input type="hidden" name="in_redirecturl_can" value="http://www.online-kimono.jp/shop/" />
<input type="hidden" name="in_kbn" value="0" />
<input type="hidden" name="in_chumon_no" value="78" />
<input type="hidden" name="in_taisho_kin" value="242550" />
<input type="hidden" name="in_simei_sei" value="××" />
<input type="hidden" name="in_simei_mei" value="××" />
<input type="hidden" name="in_tel" value="○○○" />
<input type="hidden" name="in_kyaku_mail" value="××@××.com" />
<input type="hidden" name="in_zip" value="○○" />
<input type="image" src="includes/templates/template_default/buttons/japanese/button_nicos.gif" alt="NICOS ECクレジット決済の手続きへ" title=" NICOS ECクレジット決済の手続きへ " />
</form>

このままだと上記に記載の通りエラーになります。(ちなみにこのソースを○と×を直しs-jisの秀丸に貼り付けると成功します)
・takiさんに教えていただいたサイトを見ながらこのソースを加工。
<form name="UserForm" action="https://××.nipponshinpan.co.jp/××/siharaihoho.asp" method="post" target="_blank" onSubmit="return false;" Accept-charset="Shift_JIS">
<input type="hidden" name="in_shohin_mei1" value="特選 長嶋成織物 謹製 日本の名品袋帯 【五条大橋" /><input type="hidden" name="in_suryo1" value="1" /><input type="hidden" name="in_tanka1" value="231000" /><input type="hidden" name="in_kamei_psw" value="×××" />
<input type="hidden" name="in_kamei_id" value="×××" />
<input type="hidden" name="in_kamei_datetime" value="2005/10/05 12:57:01" />
<input type="hidden" name="in_redirecturl_ok" value="http://www.online-kimono.jp/shop/" />
<input type="hidden" name="in_redirecturl_can" value="http://www.online-kimono.jp/shop/" />
<input type="hidden" name="in_kbn" value="0" />
<input type="hidden" name="in_chumon_no" value="78" />
<input type="hidden" name="in_taisho_kin" value="242550" />
<input type="hidden" name="in_simei_sei" value="××" />
<input type="hidden" name="in_simei_mei" value="××" />
<input type="hidden" name="in_tel" value="○○○" />
<input type="hidden" name="in_kyaku_mail" value="××@××.com" />
<input type="hidden" name="in_zip" value="○○" />
<input type="image" src="includes/templates/template_default/buttons/japanese/button_nicos.gif" alt="NICOS ECクレジット決済の手続きへ" title=" NICOS ECクレジット決済の手続きへ " value="Shift_JIS" onClick="org=document.charset; document.charset='Shift_JIS'; document.UserForm.submit(); document.charset=org;" />
</form>

ボタンを押し、確認しましたところ、成功しました!
エンコードを確認しましたところ、元のページはeucのままで、新しく開いたnicosのページはsjisになっており、nicos側でそのまま審査の申込などが出来、情報も貼り付けられておりました。
・次にこちらをどのように貼ればいいのかと思い、htmlとphpを見比べました。
htmlでは、
<form name="UserForm" action="https://××.nipponshinpan.co.jp/××/siharaihoho.asp" method="post" target="_blank">
   ↓
<form name="UserForm" action="https://××.nipponshinpan.co.jp/××/siharaihoho.asp" method="post" target="_blank" onSubmit="return false;" Accept-charset="Shift_JIS">

<input type="image" src="includes/templates/template_default/buttons/japanese/button_nicos.gif" alt="NICOS ECクレジット決済の手続きへ" title=" NICOS ECクレジット決済の手続きへ " />
   ↓
<input type="image" src="includes/templates/template_default/buttons/japanese/button_nicos.gif" alt="NICOS ECクレジット決済の手続きへ" title=" NICOS ECクレジット決済の手続きへ " value="Shift_JIS" onClick="org=document.charset; document.charset='Shift_JIS'; document.UserForm.submit(); document.charset=org;" />

になるわけなので、phpではそれぞれ、
$link_button .= zen_draw_form('UserForm', $action, 'post', 'target="_blank"') . "\n";

$link_button .= zen_image_submit($button_image, $button_alt) . "\n";
と分かったのですが、こちらにどのように記載したらいいのかわかりませんでした。
ちなみに、当然だとは思いますが、
$link_button .= zen_draw_form('UserForm', $action, 'post', 'target="_blank"', 'onSubmit="return false;"', 'Accept-charset="Shift_JIS"') . "\n";

$link_button .= zen_image_submit($button_image, $button_alt, 'value="Shift_JIS"', onClick="org=document.charset; document.charset='Shift_JIS'; document.UserForm.submit(); document.charset=org;"') . "\n";
では、決済画面に行く前にエラーになってしまいました;;
アバター
taki
記事: 13
登録日時: 2005/5/16 14:05
お住まい: 神奈川県横浜市港北区新横浜
連絡を取る:

投稿記事by taki » 2005/10/05 14:15

$link_button .= zen_draw_form('UserForm', $action, 'post', 'target="_blank" onSubmit="return false;" Accept-charset="Shift_JIS"') . "\n";

ではないでしょうか?
targetから先は1つの文字列として渡す必要があります。
同じように

$link_button .= zen_image_submit($button_image, $button_alt, 'value="Shift_JIS"'  onClick="org=document.charset; document.charset='Shift_JIS'; document.UserForm.submit();・・・ ') . "\n";

じゃないかと思います。
参考サイトほかにも、Accept-charsetはIEだとだめとか書いてありましたがうまくいかなかったら後者のやり方がよいかと思います。
アバター
kimono
記事: 1995
登録日時: 2005/9/27 13:30
お住まい: 大阪府大阪市天王寺区上本町
連絡を取る:

投稿記事by kimono » 2005/10/05 15:10

お世話様です。

$link_button .= zen_draw_form('UserForm', $action, 'post', 'target="_blank" onSubmit="return false;" Accept-charset="Shift_JIS"') . "\n";

$link_button .= zen_image_submit($button_image, $button_alt, 'value="Shift_JIS" onClick="org=document.charset; document.charset='Shift_JIS'; document.UserForm.submit(); document.charset=org;"') . "\n";

と編集しましたところ、配送方法から次の決済に進む前に
Parse error: parse error, unexpected T_STRING in /home/kimono/www/online-kimono.jp/shop/includes/modules/payment/nicos_ec_credit.php on line 261
のエラーになってしまいます。261は上記二つの下の方になります。。。
先に報告です。
アバター
taki
記事: 13
登録日時: 2005/5/16 14:05
お住まい: 神奈川県横浜市港北区新横浜
連絡を取る:

投稿記事by taki » 2005/10/05 15:43

$link_button .= zen_image_submit($button_image, $button_alt, 'value="Shift_JIS" onClick="org=document.charset; document.charset=\'Shift_JIS\'; document.UserForm.submit(); document.charset=org;"') . "\n";

シングルクォーテーションの中にシングルクォーテーションがあるのでエラーになったと思われます。
アバター
kimono
記事: 1995
登録日時: 2005/9/27 13:30
お住まい: 大阪府大阪市天王寺区上本町
連絡を取る:

投稿記事by kimono » 2005/10/05 17:44

お世話様です。

スラッシュの反対マークがどうやって出すのか分からなくて、キーボードの『ろ』のところにあったのですが、いくら半角で打っても円マークになっておりました。よくよく、ここの投稿欄で確認しましたところ、半角の円マークはここでは\になるんですね~。知らなかったです;;

皆様!
お陰様で全て問題なくnicosにデーターを送ることが出来るようになりました><
本当にいくらお礼を言ってもいい表せません。
今回の件を何かの形で残していけたらと思いますし、またどなたかが困っていましたら、私も是非ともっともっと勉強し、アドバイスしていければと思います。

実際のHPの方は実はまだまだ修正していくところがいっぱいで実際のOPENまではもう少しかかりそうですが、頑張っていきたいと思います。

今、現在SQLの実行などまだまだ分からないことだらけで(実際phpmyadminを立ち上げるとデーターベースの中が文字化けしている状況で分からないんですが;;)本当にいきなり難しいものにチャレンジしてしまったなぁと思っております。
しかし、皆様のお陰でこのように出来るようになり、また次に生かせるようになると思います。

最後に、皆様大変有難うございましたm(__)m
アバター
佐々木2号
記事: 231
登録日時: 2005/5/23 13:26
お住まい: 広島県福山市
連絡を取る:

投稿記事by 佐々木2号 » 2005/10/05 19:54

佐々木2号です。

kimonoさん、おめでとうございます。
サイトオープンまでもうしばらくかかるようですが、がんばってください :D


takiさん、お久しぶりです。
フォローありがとうございます。EUC-JPのページからSJISでPOSTする方法が
あったんですね、勉強になります。

“Zen Cart 質問コーナー” へ戻る