都道府県ごとに送料計算(追記) - PHPプロ!Q&A掲示板

4945

  • 0P

都道府県ごとに送料計算(追記)

質問日時 / 2018年5月25日 17:16 (最終編集:5月30日 11:59)    回答数 / 1件

Questioner:  tg_design  このエントリーをはてなブックマークに追加 

キーワード / 送料計算   

PHP始めたばかりです(>_<)
現在、商品の注文フォームを作成しています。

【STEP1:ご注文情報入力】 → 【STEP2:内容確認】 → 【STEP3:ご注文完了】
の流れで。

【STEP1】でお客さんが商品の送付先の住所を入力するのですが、都道府県ごとに送料が異なり【STEP2】で送料が表示&商品合計+送料=合計金額で計算されるようにしたいのですが、どうすればいいでしょうか。

=======================================

上記質問した内容、見直しをして無事計算が出来るようになりましたm(__)m
ありがとうございました!

追記で、商品を購入した個数ごとに送料を変えたいのですが、その時はどうすればよろしいでしょうか?

下記、都道府県ごとに送料計算するコードになります。

index.php

  1. //------------------------------------------------------------
  2.     //  都道府県を元に送料を計算する(START)
  3.     //------------------------------------------------------------
  4.     
  5.     //届け先の都道府県を元に送料を計算する
  6.     if($('#state').val() != ''){
  7.       pref = $('#state').val();
  8.     }
  9.  
  10.     //PHPの配列を元に送料を算出する
  11.     <?php foreach($option['souryou'] as $key => $val){ ?>
  12.     <?php if(!empty($key) && !empty($val)){ ?>
  13.     if(pref == '<?php echo $key;?>'){
  14.       souryou = <?php echo str_replace(',','',$val);?>;  
  15.     }
  16.     <?php } ?>
  17.     <?php } ?>
  18.     
  19.     //送料をhidden要素にセットする
  20.     $('#souryou').val(souryou);
  21.     //$('#souryouText').text(souryou);//開発用
  22.     
  23.     totalPrice += souryou;//支払合計金額に加算する
  24.     
  25.     //------------------------------------------------------------
  26.     //  都道府県を元に送料を計算する(END)
  27.     //------------------------------------------------------------
  28.  
  29.       <th>都道府県</th>
  30.       <td>   <select name="都道府県" id="state"> 
  31.   <option value="">都道府県を選択してください</option> 
  32.   
  33. <?php foreach($option['souryou'] as $key => $val){ ?>  
  34.   <option value="<?php echo $key;?>"><?php echo $key;?></option> 
  35. <?php } ?>  
  36.   
  37.   </select></td>
  38.     </tr>

  1. $option['souryou'] = array(
  2. '北海道'=>'2463',
  3. '青森県'=>'2139',
  4. '岩手県'=>'2139',
  5. '宮城県'=>'2031',
  6. '秋田県'=>'2031',
  7. '山形県'=>'2031',
  8. '福島県'=>'2031',
  9. '茨城県'=>'2031',
  10. '栃木県'=>'2031',
  11. '群馬県'=>'2031',
  12. '埼玉県'=>'2031',
  13. '千葉県'=>'2031',
  14. '東京都'=>'2031',
  15.  
  16. );

この質問への意見の募集は締め切られ、ポイントは既に配分されました。
意見を投稿することはできますが、ポイントを受け取ることはできません。



ツリー一覧

┗A01shimix>どうすればいいでしょうか。 『都道府県別の送料

回答一覧

並び替え:

A01
answerershimix [5月27日 20:33] (最終編集:5月28日 17:16)

>どうすればいいでしょうか。

『都道府県別の送料計算』の内容が書かれていないので、どうしようもありません。手計算では計算可能なんですよね?その計算方法を書いてください。

#当然、手計算が出来ないというのは論外(仕様未定)。


(蛇足)
カートのようなシステムでinput要素(type属性:hidden)でデータを引き渡すのはダメです。クライアント側から簡単に弄られてしまいます。セッションを使うようにしてください。

また「数値項目」とわかっている(チェック済み)の項目を出力するのに、htmlspecialcharsを通す意味はありません(関数の意味を考えれば当然です)。
さらにstripslashesに至っては意味不明です。magic_quotes_gpcがonになっている可能性があった大昔にはstripslashesを通すこともありましたが、その場合でもget_magic_quotes_gpc()の戻り値をチェックしてから使わないとダメです。当然、今現在これを使うべき状況はないハズです(magic_quotes_gpcはphp5.4で削除されています)。

いったいどういう資料を参考にされているのでしょうか?

この意見に回答する

ツリーへ TOPへ

<<質問一覧へ



Pick Up Q&A

Q
ログファイルの中の空のデータ行を削除したい
 このエントリーをはてなブックマークに追加 
A
ログのデータ個数(列数)が固定で、空のログが"<><><>"だと既知であれば if ($line === "<><><>") { continue; } で読み飛ばしてもいいのでは? ...

>>続きを読む

まずは配列や文字列の扱いから、じっくり勉強して行きましょう。

▲解説者:岡本(アシアル株式会社 教育コーディネーター兼 システムエンジニア)