[Tep-j-general] Re: 購入数量が小数でも購入できてしまうようです。[ osCommerce MS1 日本語版 ]

Back to archive index

TAMURA Toshihiko tamur****@bitsc*****
2003年 6月 6日 (金) 08:58:48 JST


田村啓さん、こんにちは。
田村@ビットスコープです。

>  ショッピングカートにて、購入数量に「1.5」というような自然数以外を入力
> したところ購入できてしまうようです。金額もきっちりと1.5倍に計算されてい
> ます。2.2の時は、四捨五入されて整数で計算されていたと記憶しており、MS1J
> から小数でも可となっているようです。
>  ちなみに「0.5」「-2.5」というように1以下を入力するとカートは空になりま
> す。

ああ、そうなんですね。
気が付きませんでした。

>  自然数以外が入力された場合、エラーとするか小数点以下切り捨て/四捨五入
> などの処理を行った方が良いと思います。

catalog/includes/classes/shopping_cart.php の add_cart() を
次のように変更すれば、

------------------------------------------------------------
    function add_cart(...) {
      global $new_products_id_in_cart, $customer_id;

      // check quantity (追加)
      $qty = (int)round((double)$qty);
      $qty = max($qty,1);
          :
    }
------------------------------------------------------------

  小数値    => 四捨五入
  1未満の値 => 1に置き換え

となるので、妥当じゃないでしょうか。

-- 
田村敏彦 / 株式会社ビットスコープ
E-mail:tamur****@bitsc*****
http://www.bitscope.co.jp/




Tep-j-general メーリングリストの案内
Back to archive index