WEB寺小屋のショッピングカートで当サイトは、現在サポートしていないようで、商品登録する際のサブルーチン処理は
下記です。下記のソースで「id_num」が同じ場合、単純にエラーを返す場合は、どのように返したら分かりません。
わかるかた教えて下さい。ちなみに下記はオリジナルソースで3行目と6行目は同じ処理をしています。
どちらか、削除しても問題ないでしょうか?
sub goods_regist {
if ( $in{'id'} eq '' ) { &error ('エラー','IDが未選択です'); }
if ( $in{'id_num'} eq '' ) { &error ('エラー','商品個別番号が未入力です'); }
if ( $in{'goods'} eq '' ) { &error ('エラー','商品名が未入力です'); }
if ( $in{'tanka'} eq '' ) { &error ('エラー','商品単価が未入力です'); }
if ( $in{'id_num'} eq '' ) { &error ('エラー','商品個別番号が未入力です'); }
if ( $in{'ad_amount'} eq 'text' && $in{'ad_amount2'} eq '' ) { &error ('エラー','個数設定が不正です'); }
if ( $in{'ad_amount'} eq 'list' && $in{'ad_amount3'} eq '' ) { &error ('エラー','個数設定が不正です'); }
$goods_data = "$goods_dir/$in{'id'}.cgi";
open (DATA,"$goods_data") || &error('オープンエラー','商品データファイルが開けません。');
@LINES = <DATA>;
close (DATA);
$count = @LINES;
if ( $count == 0 ) {
$num = 1;
} else {
@lists = $LINES[-1];
$num = $lists[0];
$num = $num + 1;
}
#if ( $in{'id_num'} != $num ) { &error ('エラー','商品個別番号が間違っています'); }
&lock2;
open (OUT,">>$goods_data") || &error('オープンエラー','メール設定ファイルが開けません。');
print OUT "$num\t$date_now\t$in{'id'}\t$in{'id_num'}\t$in{'goods'}\t$in{'tanka'}\t";
print OUT "$in{'ad_amount'}\t$in{'ad_amount2'}\t$in{'ad_amount3'}\t$in{'rem'}\t\n";
close (OUT);
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
admin.cgi をみてみました。
1) 商品登録フォームに情報を入力し、submit すると、admin.cgi の goods_regist サブルーチンが呼び出される。
2) 管理者は、商品登録のたびに、毎回、登録フォームで商品IDを手入力する
3) 登録された商品情報は、$in{'id'}.cgi というファイルの最後の行に1行追加される。
問題は、
「すでに登録されている商品IDを入力しても、登録されてしまう」
ということでよろしいでしょうか。
これを防ぐには、2つのアプローチが考えられます。
1. 登録者が、毎回最新の商品IDを確認して、すでに登録されている商品IDを入力してしまわないようにする。
「*最新のIDは、こちらで検索して確かめてください。」というところから
2. 登録者が商品IDを入力するのではなく、プログラム内で商品IDを自動に割り当てるようにする。
プログラムで、IDを, 001, 002, 003, ... のようにカウントアップしていく、ということです。
No.3
- 回答日時:
[2] SHOP SYSTEM Final Type1
http://www.web-terakoya.net/library/doc/shopv1.h …
のshop.cgi
をながめてみましたが、質問での goods_regist というサブルーチンはありませんし、似たような記述も見あたらないようなのです。
この回答への補足
申し訳ございません。
shop.cgiではなくadmin.cgiです。
ちゃんとした補足でなくて申し訳ございません。
233行目付近のコードなのですが・・・・
お手数おかけしますが、ご回答願えればと思います。
よろしくお願いします。困ってます。
No.2
- 回答日時:
「Web寺子屋」(www.web-terakoya.net) には、ショッピングカートのCGIがいろんなタイプがあるようですが、どのタイプなのでしょうか?
プログラム全体をみてみないと、ここのサブルーチンでやりたい処理ができるかどうかは、わかりません。
この回答への補足
[2] SHOP SYSTEM Final Type1です。
http://www.web-terakoya.net/library/doc/shopv1.h …
のshop.cgiファイルです。
ご回答お願いします。
No.1
- 回答日時:
>「id_num」が同じ場合、
意味が不明です。「id_num」と何が同じになるのでしょうか?
>ちなみに下記はオリジナルソースで3行目と6行目は同じ処理をしています。
>どちらか、削除しても問題ないでしょうか?
問題ありません。
エラーを返したい場合は
&error ('エラー','XXXが間違っています');
とすればいいです。
この回答への補足
説明不足ですいません。
「id_num」が同じ場合というのは、商品登録画面上で、商品番号が登録できます。id_numに商品番号が入ります。
現在の仕様では、重複して登録できてしまいますので、防止させるためです。ここのサブルーチン処理ではできないのでしょうか?
よろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP PHPで画像の渡しが上手く行きません。 1 2023/02/02 09:39
- C言語・C++・C# c言語の問題の説明、各所ごとに 5 2023/07/26 11:03
- Visual Basic(VBA) 【VBAエラー】Nextに対するForがありません 対策について 5 2022/11/21 21:26
- その他(プログラミング・Web制作) pythonのこのエラーがわかりません 3 2022/11/16 14:54
- その他(プログラミング・Web制作) ColabでのPytorchのエラー 1 2022/11/19 20:51
- その他(プログラミング・Web制作) Python - Excel で Webからデータを連続取得したいのですが エラーが出ます 1 2023/07/06 20:08
- PHP preg_matchで Warning: Undefined variableが出ます 1 2022/11/15 17:06
- その他(プログラミング・Web制作) cryptcatのビルド 4 2022/07/21 14:55
- Excel(エクセル) VBA フォルダ見える化のコードについて 2 2023/06/19 15:04
- PHP php エラー 2 2022/10/23 16:43
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
CGIの接続エラー
-
ArduinoのジャイロモジュールMP...
-
Excelで時刻になったら知らせて...
-
LCD ディスプレイを Raspberry ...
-
ActivePerl付属のPPMでモジュー...
-
Ctrl+Vのキーストロークを合成...
-
Pythonでタートルが使えません
-
VBAで「メモリが不足しています」
-
ユーザー定義関数に#NAME?が返...
-
sys/wait.hが見つかりません
-
例外処理のフローチャートの記...
-
perl でファイル削除をごみ箱へ
-
perl初心者です。
-
"JScript"が見つかりません!
-
PCをWI-FI化(現在は有線)
-
VBAProjectのモジュ...
-
vba userFormのSubを標準モジュ...
-
モジュールとサブルーチン
-
円グラフはかけるでしょうか?
-
#!/usr/local/bin/perlで命令が...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBSがコンパイルエラーになりま...
-
perlをバージョンアップしたら...
-
教えて下さい。
-
SWI-Prologでのエラーに関して
-
【python】requestsでdataとし...
-
erf(x)とerfc(x)のカタカナ読み...
-
w3cの検証エラー?
-
Excelマクロでセルに値が入力さ...
-
powershellで引数受け取り時に...
-
CGIの接続エラー
-
POSTで送信するとエラーになる
-
windows7のperlでaccdb接続でエ...
-
VBからブラウザの表示状態(リ...
-
SMTP-AUTH でメール送信
-
メールアドレスについて
-
ショッピングカートのカスタマイズ
-
perl ver5.24.0 x68版で、requi...
-
英字のみを検索する正規表現に...
-
au「W54S」だけcgi-lib.plで不...
-
Pythonプログラミングでエラー
おすすめ情報