カレッヂ |
質問者 まっちゃん
投稿日 8/6(月) 10:55:55
こんにちは。 みなさまにはいつもお世話になっております。 現在、簡易ショッピングバスケットで 通常単価4,250円、ラッピング有り単価4,450円というように 1つの商品に対して2つのフォームで作っております。(+200円) ここで、一つのフォームでラッピングを選択することによって 単価が+200円になるように単価設定を変えたいのですが どなたかご教授お願いいたします。 詳しくは http://www.artpal.co.jp/test/new_page_1.htm です。 javaで書かないとダメなのでしょうか? ちなみにjava知識0です。 |
回答者 fujioka
[削除]
投稿日 8/9(木) 22:10:47
お久しぶりです 早速ですが、手順としては項目を追加して、判断して単価を入れ替えると言った方法で どうでしょうか。 <1>html リストを使用の場合 ラッピング <SELECT name="housou"> <OPTION value="on">あり</OPTION> <OPTION value="" selected>なし</OPTION> </SELECT> <2>cgi 変数を宣言する $housoudai = 200; # 包装代金 受け付け部分(sub regist)のなかを追加修正 $sales = "goods:$FORM{'goods'},amount:$FORM{'amount'},unit:$FORM {'unit'},housou:$FORM{'housou'},rem:$FORM{'rem'},unit2:,"; <−−ここです−−−> (ラッピング有りにして送信すると $COOKIE{'housou'} の中が'on'になっています) 表示部分(sub html)の単価の取り込み($unit = $COOKIE{'unit'};)の後ろに if ( $COOKIE{'housou'} eq 'on' ) { $unit = $unit + $housoudai; $COOKIE{'unit'} = $unit; $COOKIE{'housou'} = "ラッピング"; } を追加して単価と表示を入れ替えます。 ラッピングと表示させている部分(表示の必要がないなら不要です) print "<th>$COOKIE{'housou'}</th>\n"; メール用にも追加修正(同上) push(@MAIL,"$COOKIE{'goods'}:$COOKIE{'amount'}:$COOKIE{'housou'}:$COOKIE{'rem'}:$COOKIE{'unit'}"); <−ここです−−> テストはここです。 http://www.interq.or.jp/osaka/interest/cgi-bin/index.html チェックボックス版もつけてみました。(cgiは共通です) <1> の部分を これにするだけです −−> ラッピング <input type=checkbox name="housou"> 以上です。 |
質問者 まっちゃん
[削除]
投稿日 8/10(金) 06:21:26
お久しぶりです。その節はお世話になりました。 おかげさまでほとんどのお客様が『まとめ買い』でご購入いただけるようになりました。 本当にfujioka様のおかげでございます。 今回もfujioka様にお答えいただけるとは光栄です。 本当のところ直接fujioka様に聞こうかと何度も考えたのですが (以前のレス:単価を10個以上で・・・を応用してunit2を持たせたらと考えたのですが 失敗に終わってしまったので) あまりにも失礼かな??と思い踏みとどまっておりました。 ところがこうやってまたお目にかかれて・・感激しております。 と長話しているのもなんですので・・・ 内容的には・・・うん!ばっちり理解できました。いつもながら完璧ですね!! すばらしい!!の一言です。 早速お盆休み中にテストしてみたいと思っております。 結果はまた報告させていただきます。(見ただけでわかったのでもう完璧って感じです。) つかぬ事をお伺いいたしますが、実はある方から直でメールを頂き javaで教えていただいたのですが(テスト済み)以前、 『しあわせのつぼ』さん(だと思うのですが)html中で単価を javaでいじると少し問題がある(改ざんのおそれ)とレスされていたことが 気になっており、実はまだ実用化されておりません。(ページ設定は簡単!) cgiだとサーバー側なので『改ざん』の心配が無いのはわかるです。 今回の場合、javaとcgiだとやはりcgiを使って導入した方が安全だと思いますか? 乱文および長文ですみません。 それでは、取り急ぎお礼までにて失礼致します。 |
返信(回答)する
Web裏技 |