![]() |
カレッヂ |
質問者 はる
投稿日 2010/6/21(月) 23:51:56
ショッピングバスケットプロV6を使用しております。 商品の数量について、 最初の一文字が半角数字、それ以降の文字が全角で入力された場合(例:10(1は半角で0は全角))、 「商品の数量は半角数字で入力してください。」を表示するエラー処理がされず、 最初の半角1文字の数量(例であれば数量1)で処理されてしまいます。 全角数字が数量の2文字目以降にあってもエラー処理(「商品の数量は半角数字で入力してください。」 を表示する)されるようにしたいです。 cart.cgiの以下の部分を変更すると出来そうな気はするのですが、 具体的にどのように記述すると出来るのか、どなたかご教授頂きたくお願い致します。 ###################################################################################### # # 買い物かごに商品をいれるプログラム # ###################################################################################### if (!-e $tmp) { &error("#設定エラー","作業用ファイルを展開するフォルダが見つかりません。"); } if ($in{'_gname'} eq "") { &error("#設定エラー","商品名を示すラベルがありません。"); } if ($in{'_gfee'} == 0) { &error("#設定エラー","商品単価を示すラベルが無いか、数値ではありません。"); } → if ($in{'_kazu'} == 0) { &error("#数量が無効です","商品の数量は半角数字で入力してください。"); }
【プロバイダ】http://www.biglobe.ne.jp/ |
質問者 はる
[削除]
投稿日 2010/6/22(火) 17:43:53
自己レスです。 cart.cgiの以下の部分を if ($in{'_kazu'} == 0) { &error("#数量が無効です","商品の数量は半角数字で入力してください。"); } → if ($in{'_kazu'} =~ /\D/) { &error("#数量が無効です","商品の数量は半角数字で入力してください。"); } と修正することで解決致しました。 お騒がせ致しました。 ###################################################################################### # # 買い物かごに商品をいれるプログラム # ###################################################################################### if (!-e $tmp) { &error("#設定エラー","作業用ファイルを展開するフォルダが見つかりません。"); } if ($in{'_gname'} eq "") { &error("#設定エラー","商品名を示すラベルがありません。"); } if ($in{'_gfee'} == 0) { &error("#設定エラー","商品単価を示すラベルが無いか、数値ではありません。"); } → if ($in{'_kazu'} == 0) { &error("#数量が無効です","商品の数量は半角数字で入力してください。"); } |
返信(回答)する
Web裏技 |