☆ショッピングカートのCGIを作りたい!Perlで☆ (517レス)
上下前次1-新
308: 名無しさん@お腹いっぱい。 02/02/09 18:56 ID:??? AAS
外部リンク[htm]:tohoho.wakusei.ne.jp
309: 無謀者 02/02/09 19:23 ID:??? AAS
皆様いつもありがとうございます。
商品ページ作成部分が若干出来たのでウプしました。
外部リンク[htm]:cgitest.s7.xrea.com
から入れます。パスワードは「123」です。
今のところ、商品カテゴリーの作成と商品の追加しか動きません。
カテゴリーを追加した後に商品を追加する事になります。既存のカテゴリーは
「商品群1」と「商品群2」です。
商品群1の内容は
外部リンク[cgi]:cgitest.s7.xrea.com
で
省7
310: 無謀者 02/02/09 20:31 ID:??? AAS
あ、今現在新規商品作成時に指定したオプション項目は反映されません。
「,」で区切って入力してもらって、そこからセレクトボックス生成させる
のを今作ってます。
311(4): 名無しさん@お腹いっぱい。 02/02/10 16:31 ID:??? AAS
うーん、せっかく上手くいっているところに水を差すようだが、
URIでパスワード指定やっちゃうと、認証もクソもないぜ。
URIがバレた時点でソッコーで改ざんされっぞ。
googleツールバーの高機能版では閲覧中のURI自動通知されちまうしな。
「登録しました」のページに「メニューに戻る」ボタンをつけて、
hidden渡しじゃだめなんかい?
どうしてもrefreshでやりたいなら、refererとってCGIと認証ページからの
アクセスのみ許可するとかやってやんねーと。
312(1): 無謀者 02/02/10 20:00 ID:??? AAS
>>311
確かにそれは思ったんですけど、一応pass入れたあとの管理者用画面だから
大丈夫かな・・・と考えてたんですが・・・・・
hiddenで入れてもソース見ればそのままpassが見えちゃうわけですし・・・・
313: 311 02/02/10 23:43 ID:??? AAS
>>312
postで(formから)passが入ってこないときadmin.cgiがエラーメッセージ吐いて
終了するようにすりゃいいんだよ。したら、URIがバレても簡単にはアクセスでき
ないだろ?
#!/usr/bin/perl
require 'cgi-lib.pl';
my $method=$ENV{REQUEST_METHOD};
$pass='123';
&ReadParse(*form);
if ($form{'pass'} ne $pass or $method ne 'post'){ #passミスマッチとGET拒否
省16
314(1): 無謀者 02/02/11 02:03 ID:??? AAS
ちょっと機能追加
登録済み商品の修正が出来るようになりました。
>商品登録テストしてくれて人
今のところ、文字置換やエラー処理全然いれて無いので、コメントのところで
改行入れるたり、新規ページ作成時に、ファイル名入れないと、データボロボロになります(汗
明日(今日か・・)必要フォーム項目未記入時のエラー処理と、改行その他、文字列の
置換処理を出来るようにします。
>>311=313
なるほど・・・・と入っても、いまいち管理用画面でのその辺のセキュリティの必要性が
理解できて無いんですが・・・・・
省1
315: 無謀者 02/02/11 02:16 ID:??? AAS
ところで、今回、新規データ入力時に
@data=($no,$hoge,$mona,$gik)
$line=join("\t",@data);
open(FH,$file);
@logdata=<FH>;
close(FH);
open(WRITE,">$file");
print WRITE $line;
print WRITE @logdata;
close(WRITE);
省23
316(1): 297(=259) 02/02/11 03:41 ID:??? AAS
$noは数値だよね?
なら、
while(<IN>){
my @cell = split/\t/;
$_ = $line if $cell[0] == $no;
print TMP;
}
で数値評価したらどうかな?
なんとなくだけど、$cell[0]か$noに空白とか含まれてそうだったんで。
317(1): 無謀者 02/02/11 18:26 ID:??? AAS
>>316
うまくいきました。ありがとうございます<IN>
で変数が$_に入ってるってのがすっかり頭から飛んでました・・
ところで、正規表現なんですが、たとえば$priceに半角数字以外(「,」とか)が入ってた場合に
エラーを表示させるのって
if ($price eq ~/\D/){
print "価格はカンマ無しの半角数字で入力してください";
}
で良いんですよね?
318: 名無しさん@お腹いっぱい。 02/02/11 22:44 ID:+mlK3wYT(1) AAS
>>317
全然違う。検索は $scalor =~ /$hoge/; だぞ。
if ($price =~ /\D/) {
print "価格はカンマ無しの半角数字で入力してください";
}
まあがんばれ。
319(2): 無謀者 02/02/11 23:18 ID:??? AAS
↑の通りに書いてみたら,半角数字も弾かれちゃいました・・・・・
320: 名無しさん@お腹いっぱい。 02/02/11 23:24 ID:??? AAS
>319
\Dは数字以外じゃない?
外部リンク[htm]:tohoho.wakusei.ne.jp
321: 無謀者 02/02/11 23:28 ID:??? AAS
そうだと思うんですが・・・・
だから
$price=~/\D/;
だと「$priceに数字以外のものが含まれていれば」
って事になりますよね?
322: 名無しさん@お腹いっぱい。 02/02/11 23:32 ID:??? AAS
だから半角数字だけならエラーにならないんじゃ?
323: 無謀者 02/02/11 23:34 ID:??? AAS
のはずなんですが・・・・弾かれちゃうんですよ・・・
もう一度ソース見直してみます。
324: 名無しさん@お腹いっぱい。 [ ] 02/02/11 23:35 ID:??? AAS
ってかさ、数字以外は取り除けばいいんでない?
そっちの方がユーザーライクだと思うが。
$price =~ tr/0-9//cd;
325: 名無しさん@お腹いっぱい。 02/02/11 23:38 ID:??? AAS
>>319
スペースも渡されてるとか
326: 無謀者 02/02/11 23:40 ID:??? AAS
それも考えたんですが、全角数字入れられた時の対応も一緒に
やっちゃおうと思ったので。
327: 無謀者 02/02/11 23:44 ID:??? AAS
>325
そう思って
[\D\s\t]とかもやってみたんですが・・・ダメ
上下前次1-新書関写板覧索設栞歴
あと 190 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.016s