CGI-BBS > SO−HO > ショッピングバスケット > 簡易ショッピングバスケットで送金種別によって割引したい。


カレッヂ
カレッヂ


質問者 大谷  投稿日 9/27(金) 18:13:01
初めて質問させていただきます。
現在、簡易ショッピングバスケットを使っています。
ここの書き込みを参考にして、複数の注文ページを設置しています。
送金方法が、代金引換、銀行振込、郵便振替、Smash決済の四種類あるのですが、
<inputo type="radio">を使って、選択出来るようにしています。
そのうち銀行振込と郵便振替のみ表示価格より5%の割引を実施しています。
現在は、注文後に手作業で変更をしていますが、
CGIの改造によって、自動でできれば大変助かります。
どなたか、お助け下さい。よろしくお願いいたします。

プロバイダ参照:http://www.anm-1.com/
サーバのOS:UNIXサーバ
パソコンのOS:Win95系
エディタ:TeraPad
FTPソフト:FFFTP
サーバ移転:していない
改造:している 改造前正常動作
CGI習熟度:middle

回答者 呑兵衛@大阪  [削除]  投稿日 10/1(火) 22:31:59
どこにそのradio選択を埋め込んでいるかで処方が変わってきます。
ヒントになるとすれば、どのラベルに着目するか、そのラベルをどう拾い上げどう処理するか、
実は単純なことなのです。
たとえば、デコード部分で
$FORM{$name} = $value; なんてのを作り(又はあったりすると)、その後で
if ($FORM{radio_a} == 1) { $FORM{商品単価} = $FORM{商品単価} - 500; }
とかできます。これは form で送られてきた
name="radio_a" value='1' を検知し name='商品単価' value = '何万円'(つまり $FORM{商品単価} は 何万円が代入されている連想配列になっている。) 
から500を減算する、という動きを命令します。
さて、頑張ってください。ラベルが2バイト文字の場合注意が必要です、念のため。
質問者 大谷  [削除]  投稿日 10/2(水) 15:41:55
呑兵衛@大阪さん、ありがとうございます。実際のフォームは下記のようになっております。

    <FORM action="cgi-bin/cargo/cargo.cgi" method="POST">
    <INPUT type="hidden" name="action" value="regist">
    <INPUT type="hidden" name="goods" value="******">
    <INPUT type="hidden" name="unit" value="10000">
    <!-- 購入命令 name=action value=regist -->
    <!-- 商品名入力 name=goods value=商品名 -->
*****
    <!-- 単価指定 name=unit value=単価 -->
特価 10,000円
    <!-- 購入数入力 name=amount value=数量 -->
購入数
    <SELECT name="amount" size="1">
      <OPTION value="0">0
      <OPTION value="1">1
      <OPTION value="2">2
      <OPTION value="3">3
      <OPTION value="4">4
      <OPTION value="5">5
    </SELECT>
台<BR>
    <!-- 備考入力 name=rem value=送金 -->
<INPUT type="radio" name="rem" value="銀行振込" checked>銀行振込 <INPUT type="radio" name="rem" value="郵便振替">郵便振替
<INPUT type="radio" name="rem" value="Smash">Smash<BR>
<INPUT type="submit" value="カゴへ">
    </FORM>

 ここで、銀行振込と郵便振替を選択された場合のみ、表示価格から5%の割引をしたいのですが、
ご教示いただいた方法ですと、送金方法が数字で送信されてしまうのですよね?
 現在のままで変更するのは難しいのでしょうか?
 よろしくお願いいたします。

 ご教示いただいた方法を参考にして、色々やってみるつもりではおりますが、
やはりちゃんと勉強しないと難しいようですね。
回答者 呑兵衛@大阪  [削除]  投稿日 10/2(水) 19:41:17
value 値は事例です。好きにやってください。
そのラジオ選択、商品ページにやってるんですね。
だったらスクリプトのカスタマイズなどというシチ面倒くさいことなどやめて、
1ページ目に5%割引を選択するかしないか、するならカードは使えないよ、という案内に
OKを出せば、5%割引した金額を表示する商品ページに、
カードを使うんじゃ、という人には割引なしのページに、
移動させるほうが早い、と思う。そこで振込方法の選択をさせればOK。
でしょう?
質問者 大谷  [削除]  投稿日 10/4(金) 18:06:33
呑兵衛@大阪様

 色々とご教示いただき、ありがとうございました。
取り敢えず、CGIの改造で送金種別によって割引が出来るようになりました。
ラベルは1バイト文字にして、表示の際には漢字表示に戻るようにも出来ました。
また、色々と教えていただけると助かります。
本当に、ありがとうございました。

このページは終了したので返信(回答)は書きこめません

Web裏技