過去ログ NO.1077431431
□ cgi初心者 [2004年02月15日22時50分]クイズ$ミニオネアをサンプルの様に管理者以外の投稿禁止にして使用することは可能ですか?可能な場合はどのようにすればよいでしょうか?過去ログで見つけられなかったので、お忙しいところ恐縮ですがよろしくお願いします。
□ NXer [2004年02月18日22時54分]はじめまして。NXerです。よろしく。
以下のような変更をローカル・サーバーで試してみました。 多少面倒な操作になりますが、管理人のみの問題入力になります。 コンピュータの環境によっては、不具合が出るかもしれません。 考え方は、問題入力を管理人だけが出来るように&minputサブルーチンを 追加しただけです。普通は、管理人モードの$mastermode=1/0のフラッグを 立てて処理するところですが、minionaireのinputサブルーチンを借用しま した。
■元 173 if ($buffer eq 'input') { &input; }
□管理人入力mode &minputサブルーチン選択 173行 &minputのmのみ追加、174行input1と1のみ追加。 173 if ($buffer eq 'input') { &minput; } 174 elsif ($FORM{'mode'} eq 'input1') { &input; }
□ class=minputとmを追加 334 BUF+='<table cellpadding=1 cellspacing=0><form name=denkoh_f class=minput>';
□ サブルーチン(sub inputをほぼコピー・ペースト)新規に作成。 353sub minput { # master only mode# 管理人モードパス入力窓 &header; print "<script>self.resizeTo(380,270)</script>"; print "<style type=\"text/css\">table,td { border-width:0px; }</style>\n"; print "<table cellspacing=0 cellpadding=0 border=0><form method=$method action=\"$script\" onSubmit=\"return check()\">\n"; print "<center>\nクイズ$ミニオネア! 管理人問題登録 <p>\n"; print "Pass<input name=pass type=password size=8> <input type=submit value=管理モード>\n"; print "<input type=hidden name=mode value=input1>"; print "</center></form></body></html>"; } このあとにもともとのサブルーチンがきます。 369 sub input { -----------------(注意、行番号は編集変更のためにかなりずれます。) 操作手順 1 minionaireの左端アイコンクリック 2 管理人モード窓表示、パスを入れる 3 問題登録窓 4.1 問題入力・・・登録/リセット −−−入力 4.2 パス入力管理モードボタンクリック 5.1 管理モード 削除/リセット −−−削除 5.2 2へ戻る --------------------------- 参考になれば、嬉しいです。スクリプトの詳しい意味は当方も分ってない のですが、とにかく動いたのでお知らせします、ということで、エラーが出 ましたら自力で解決してください。ポイントはinput typeが、html言語、 if文はperlということでしょうか。elseifなどの綴りミスやセミコロン 付け忘れにご注意ください。
□ cgi初心者 [2004年02月22日15時30分]お返事ありがとうございました。おかげさまで簡単にできました。 これからもご活躍ください。
一定時間書込が無かったので過去ログに移りました
|
|