☆ショッピングカートのCGIを作りたい!Perlで☆ (517レス)
上下前次1-新
301(1): 名無しさん@お腹いっぱい。 [ ] 02/02/09 13:35 ID:??? AAS
>>300
方法としてアドレスに埋め込む(リフレッシュ先のアドレスに仕込む)
hoge.com/menu.cgi?id=hoge&pass=hoge
HIDDENを使う
データ入力の度に
<INPUT HIDDEN NAME=id VALUE=hoge><INPUT HIDDEN NAME=pass VALUE=hoge>
これを必ず仕込んでおく
なお、どちらの方法でもmenu画面で逐次パラメータを取得して次に渡す必要がある
的外れの返答かな?
302: 名無しさん@お腹いっぱい。 [ ] 02/02/09 13:36 ID:??? AAS
自己訂正
当然ながらHIDDENを使うときはFORMタグを必要としますからね。
303(1): 無謀者 02/02/09 13:50 ID:??? AAS
ありがとうございます。その辺を知りたかったんです。
つまり、通常フォームから
<input type="password" name="pass" size="10">
<input type="hidden" name="mode" value="login" >
と言う内容をsubmitボタンを押すことにより送信するんですが、
その内容をフォームを使わずに渡す方法を知りたかったんです。
>>301の説明だと
menu.cgi?mode=login?pass=123
とかで良いんですかね?
でスクリプト中で$loginpass=123とか指定しておけば、cgi内から上記のように
省4
304: 名無しさん@お腹いっぱい。 02/02/09 14:13 ID:??? AAS
パラメータは&で繋ぐ
305: 名無しさん@お腹いっぱい。 02/02/09 14:14 ID:2AUefyPU(1) AAS
>>303
そのとおり。
あと老婆心ながらHTMLのタグを書くときに""(クオーテーション)はいらない。
""がいるのはスペースが含まれる場合のみ。
""を省略するだけで結構処理スピードがあがるよ。
306(1): 無謀者 02/02/09 14:26 ID:??? AAS
ありがとうございました>教えてくださった皆様・
うまくいきました。
ちなみにこれと同じ方法を使ってFORM内の
Submitボタンを画像とかに置き換える事は可能なんでしょうか?
ボタンの変わりに画像貼ってそれのリンク先をmenu.cgi?neme=submit
ってやるとsubmitボタンとして動作します?
307: 名無しさん@お腹いっぱい。 02/02/09 14:58 ID:??? AAS
>>306
<input>タグでできる。
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
上下前次1-新書関写板覧索設栞歴
あと 197 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.022s