CGI-BBS > データベース > 簡易データベース > regist.cgiの改造で$NAMEの重複登録を回避したい。


カレッヂ
カレッヂ


質問者 SAM  投稿日 2003/12/17(水) 19:24:57
何度も出てる質問ですみません。
そちらを何度か試したりしたのですが、やはり出来ませんでした。
まだまだ勉強不足です。

登録の際に$NAMEの登録でcsvのほうに同じ名前があった場合、
エラーを表示させたいのですが、

===========================
#書きこむ
if (!open(OUT,">>$file")) { &error('システムエラー','ファイルを書きこみオープンできません.'); }
@PASSWORDS = <DB>;
close(DB);

@PICKUP = grep(/^$FORM{'$NAME'}\:(.+)$/,@PASSWORDS);
if ($#PICKUP > 0) { &error('システムエラー','名前が2重登録されています.','管理者に修復を依頼してください.'); }
if (@PICKUP) { &error('登録済み','既に登録されています.','ブラウザの[戻る]ボタンを押して前の画面に移動してください.'); }
===========================
という構文を入れましたが、さっぱり働いてくれません。
どなたかご教授お願い致します。

プロバイダ参照:
サーバのOS:UNIXサーバ
パソコンのOS:(未選択)
エディタ:
FTPソフト:
サーバ移転:していない
改造:(未選択)
CGI習熟度:(未選択)

回答者 アルル  [削除]  投稿日 2003/12/19(金) 00:18:41
こちらに同じような質問がありますよ。
http://www.rescue.ne.jp/CGI-BBS/cgi/perl/20030620202437.shtml
もう一つ <DB> のファイルはどこでopenしてます?
質問者 SAM  [削除]  投稿日 2003/12/19(金) 14:41:01
ありがとうございます。解決いたしました。

@PICKUP = grep(/^$FORM{'$NAME'}\:(.+)$/,@PASSWORDS);

という構文の「\:(.+)$/」が必要なかったんですね、アホでした。

どうもありがとうございます。

このページは終了したので返信(回答)は書きこめません
 


Web裏技