☆ショッピングカートのCGIを作りたい!Perlで☆ (517レス)
上下前次1-新
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]とかもやってみたんですが・・・ダメ
328: 名無しさん@お腹いっぱい。 02/02/11 23:48 ID:??? AAS
適当なファイルに書き出して見てみたら?
CGI::Carpとかでハンドルしてるなら warnや dieで見てもいいけど。
329: 名無しさん@お腹いっぱい。 02/02/11 23:52 ID:pHWWFybw(1) AAS
もうめんどくせえから、全部最初からやり直せ!!
330(1): 297 02/02/11 23:52 ID:??? AAS
そうか、上手く逝ったか。漏れこのスレ、検証してないやつばっか(297とか^^;)
書いてるから、ちょっと心配してるんだな。
> で変数が$_に入ってるってのがすっかり頭から飛んでました・・
慣れると便利なんだよ、デフォルト変数$_。
はまると怖いけどね。
で、正規表現検索は相手が文字列でも
if ($price =~ /\D/)・・・
だよ。
331: 無謀者 02/02/11 23:52 ID:??? AAS
えっと、上記の処理より前に
if ($price eq ""){
print"error"
}
・
・
#その他変数の未記入チェック
・
・
ってやってから上の処理やってるんですけど、その辺は関係あります?
省2
332(1): 無謀者 02/02/11 23:59 ID:??? AAS
うわ、
if ($price =~ /\D/){
print "$price";
}
ってやったら、入力したのと違う数字が出てきた・・・・・
この数字どっから来たんだろ???
198000って入力したのに429467294って・・・たかどんな数字入れても
おんなじ数字が吐き出されてる????何でだ?
ちなみに置換処理を無くして実行すると、ファイルにはちゃんと入力した
数字が書き込まれてます。
333: 297 02/02/12 00:02 ID:??? AAS
>>330
うわ、とっくに話題が過ぎ去ってやがる。リフレ忘れた。鬱打
&jcode::tr(\$price, '0-9', '0-9'); #全角数字を半角に変換
if ($price !~ /0-9/){
print "価格はカンマ無しの半角数字で入力してください";
}
あたりではどうかな?
334: 名無しさん@お腹いっぱい。 02/02/12 00:06 ID:r54lTbCX(1/2) AAS
>>332
という事は、その処理以前にどこかで$priceに値が代入されてるんだよ。
探しなさい。
335(1): 無謀者 02/02/12 00:07 ID:??? AAS
え〜〜〜〜
解決したっぽいです・・・
どうやら、使ってるエディタにバグがあるらしく、上書き保存するとなぜか
s-jisで保存されてたっぽい、のが原因みたいです。(設定はEUCにしてるのですが)
お騒がせして本当に申し訳ありませんでした・・・・m(__)m
エディタ変えようかな・・・・・
336: 名無しさん@お腹いっぱい。 02/02/12 00:09 ID:r54lTbCX(2/2) AAS
>>335
俺はいまだにメモ帳使ってるぞ。メモ帳最強。
337: 無謀者 02/02/12 00:12 ID:??? AAS
あと、
>&jcode::tr(\$price, '0-9', '0-9'); #全角数字を半角に変換
jcodeでこんな事も出来るんですね。フォームデータ受け取り時に
h2zでカタカナは全部置換させてるんですが、そこで数値にしなければならない
変数も全部変換掛けといた方がよさそうですね。
とりあえずご迷惑したお詫びに町内10周走ってきます。
338(1): 無謀者 02/02/12 01:01 ID:??? AAS
皆様の暖かいご支援のおかげで、
新規ページの追加、商品の登録、編集、削除
までできるようになりました。また
「簡易商品ページメニュー」を作り、そこから商品ページにアクセス
出来るようにしました。(管理画面の中)
ココに表示されるURLをコピペすれば、使う人は、メニューページを
自由に作れるのでは無いかと・・・・
外部リンク[htm]:cgitest.s7.xrea.com
パスワードは123です。
ある程度のエラー処理と文字列置換は入れたつもりなのですが・・・・
339: 名無しさん@お腹いっぱい。 02/02/12 02:46 ID:??? AAS
>>338
適当に弄ってれば誰でも使えそうなカンジですね。
って、弄ってみました。
感想:
どのページからでも管理画面に戻れると良いかなあ。
(ページ作る時に何回も戻ったので…)
340(1): 311 02/02/12 05:58 ID:??? AAS
>>314
>いまいち管理用画面でのその辺のセキュリティの必要性が理解できて無いんですが・・・・・
だーかーらー、http://うんちゃらかんちゃら/admin.cgi?mode=login&pass=xxxって
URIがばれちまったらイッパツで商品ページ改ざんされちゃうだろっていってんの。
PasswordをGETに含めるのはヤバいんだって。直リンオッケーだしな。
知り合いとはいえ金絡んでやってんだろ?しっかりしろよ。
商品価格書き換えられたところに注文とか去れちまったら大損害だろ?
URIバレた瞬間にPasswordもってかれちまうんだから、ほんとはPOSTがいいんだけどな、
せめてリファラチェック(GETメソッドはCGI自身からのアクセスみ許可)と、
本稼動のときは変な名前のディレクトリ作って、cgi本体の名前からは予想も出来ねー
省1
上下前次1-新書関写板覧索設栞歴
あと 177 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.022s