- ベストアンサー
CGIを利用したクイズ作成方法とパーミッション設定についての質問
- CGIを利用したクイズの作成方法と、パスとは何かについて質問しています。
- また、パーミッションの設定方法についても詳しく知りたいと求めています。
- 質問者はWindows XPを使用しています。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
ozocです。 おお!動きましたか。 私もホッとしました。 > その後、先走ってトップページからアンケートページにリンクを張ってみました > ら、こちらも今のところ正常に動作しているようです。 あはは。どうぞ、どんどん進めていっちゃって下さい。(笑) > >check.shtml(←check.cgiをコントロールするためのファイル) > >check_preview.cgi > >の2つだけ > とご説明していただいたのですが、クイズや背景、文字の色などを編集する時は > この二つのファイルを使えばよい、ということなのでしょうか? check.shtmlは、check.cgiにデータ(回答)を送るファイル。つまりペアで使います。 check_preview.cgiは、文字通り集計結果を見るだけのファイルです。 編集が必要なのは上記3つのファイルです。 .shtml ファイルはFrontpage等で行なえば良いでしょう。 .cgi ファイルはメモ帳等で。 編集ポイントは作者さんのページを参照下さい。 今回、私もダウンロードしてざっと眺めて見ましたが、 アイディアとセンス次第で面白いページが作れそう。 これからが本番ですよ。頑張って下さい! 追記: CGIは、いぢりだすとすぐに壊れてしまいます。 初期設定部分を変える程度なら大丈夫ですが、慣れてくるとレイアウトなんかも 変えてみたくなるもの。 少し改造するごとに、世代別にバックアップを取ることをお勧めします。 まあ、『習うより慣れろ』。怖がらずにいぢってみましょう。(笑)
その他の回答 (4)
- ozoc
- ベストアンサー率75% (6/8)
> 送信ボタンを押しても「ページを表 > 示できません」と出てしまいます。(私はIEのブラウザで、ファイル→開く→ > homepageのファイルから開いているのですが、この動作確認の仕方で合っている > のでしょうか?) ええと。たぶん、URLを誤っています。 Kakeru-Aさんの方法では、IEのアドレス欄には「C:\My Documents\homepage・・・」とか "C:"から始まっていませんか? CGIは、「インターネットサーバー」に置かれた状態でしか動作できませんから、 アドレスは必ず "http://~" から始まらなければいけません。 アドレスバーにURLを直接入力しましょう。 サーバにアップしたCGIの動作確認のためのURLは、 ホームディレクトリ(FTPで接続して最初に表示される画面)に"cgi-bin" フォルダを新規作成し、その中に"check"フォルダごとアップした場合、 http://www?.tok2.com/home/ID/cgi-bin/check/check.shtml ※この時の「www?」はあなたが登録したサーバーの番号です。 第3サーバーに登録したのなら「www3」、第7サーバーに登録したのなら「www7」と 自分のサーバーに合わせた数字を入力して下さい。 「ID」はあなたのユーザーID(アカウント)です。 ※まず開くのは"check.cgi"じゃありませんよ!"check.shtml"です。 どうですか?アンケートのページは表示されましたか? 表示されたら、とりあえずお気に入りにでも登録しておきましょう。 表示されなければ、もう一度URLが間違っていないか確認して下さい。 次に、送信ボタンを押してグラフが表示されれば成功。 エラーが出たらまた考えましょう。 ※エラー内容もチェック! ※ついでに、エラー画面のURLの一番後ろのファイル名もチェック! > 2.CGIで使用されるファイルのパスはあっていますか? > あなたのディレクトリー(フォルダ)のフルパスは > /home/member/あなたのアカウント/です。 > ということなのですが、これはどこに使うべきなのでしょうか? トクトクは使ったことがありませんので、多分ということで・・・ これはFTPで使うパス(システムパス)です。FTPで接続した時に、FTPソフトのサーバー側(右側?)の 上の窓のあたりに、こんな感じのアドレスが出ていませんか? ブラウザからアクセスして、目的のファイルが見つからなかった(URLが間違っていた)為に 出る お約束の画面ではないかと思います。 なお、一通り動作が確認され、編集が終わったあと、訪問者に見てもらうのに 使うファイル(トップページ等からリンクを張るファイル)は、 check.shtml (←check.cgiをコントロールするためのファイル) check_preview.cgi の2つだけですよ。念のため。
お礼
ご指摘いただいた、URLの間違いとcheck.cgiをcheck.shtmlに直したところ、無事にアンケートページ、結果のグラフともに表示されました! 親切丁寧なご説明ありがとうございました。 その後、先走ってトップページからアンケートページにリンクを張ってみましたら、こちらも今のところ正常に動作しているようです。 最後に、もう一つだけよろしいでしょうか? >訪問者に見てもらうのに使うファイル(トップページ等からリンクを張るファイル)は、 >check.shtml(←check.cgiをコントロールするためのファイル) >check_preview.cgi >の2つだけ とご説明していただいたのですが、クイズや背景、文字の色などを編集する時はこの二つのファイルを使えばよい、ということなのでしょうか? 最後の最後までお訊ねしてしまってスミマセン(謝)
- ozoc
- ベストアンサー率75% (6/8)
>しかし、「送信」ボタンを押しても、結果表示はされませんでした。(この点はまだ気にしなくてもよいのでしょうか?) まだCGIは動いていません。もう少し頑張りましょう。 何らかのエラーが表示されたら、それもよく読みましょう。重要なことです。 ははぁ、サーバはトクトクでしたか。 http://tok2.com/study/bbs/bbs-02.html ↑こちらのCGIと仕組みは同じですから、まずはディレクトリ構造とパーミッションを同じように設定してみましょう。 #フォルダやファイル名は、適宜"check"のものと読み替えます。 #logフォルダは作る必要はありません。 #cgi-binフォルダも要らないようですが、後々のことを考え、一応これは作っておいたほうが良いかも? 各々パーミッションは、拡張子から判別します。 check(フォルダ) 701 check.cgi 700 check.shtml (変更無し) check.txt 600 check_preview.cgi 700 あと、その後気付いた点。 作者さんのミスがあります。 "check_preview.cgi" の49~50行目 --------------- #結果記録用のファイル my $log_file = 'check_sample1.txt'; ↓ #結果記録用のファイル my $log_file = 'check.txt'; ---------------- に直しておきましょう。 これで、送信ボタンを押したあと、グラフが表示されれば設置は完了。 以上、結果をお待ちしてますね。
お礼
ご回答、厚く御礼申し上げます。 パーミッションの設定は、ジャンクCGIのページに記載されていたのをよく確認せず、お訊ねしてしまってスミマセンでした。 成功のご報告をしたかったのですが、また詰まってしまいました。 パーミッションの設定は終わったのですが、送信ボタンを押しても「ページを表示できません」と出てしまいます。(私はIEのブラウザで、ファイル→開く→homepageのファイルから開いているのですが、この動作確認の仕方で合っているのでしょうか?) ご紹介していただいた http://tok2.com/study/bbs/bbs-02.html も参考にして、動作確認のためにURLを直接打ち込んでもみましたが、 「あなたの設置したCGIは何らかのエラーのため動作しません。 あなたの設置したCGIのスクリプトを以下の注意点に沿ってチェックしてください。」 という文が出てきてしまいました。 その中で可能性がありそうなのが、 2.CGIで使用されるファイルのパスはあっていますか? あなたのディレクトリー(フォルダ)のフルパスは /home/member/あなたのアカウント/です。 ということなのですが、これはどこに使うべきなのでしょうか? 色々試してもみたのですが、やればやるほど混乱してしまって、その影響で文が?だらけになってしまいましたm(__)m 理解力が無くて申し訳ないのですが、教えていただけると嬉しいです。
- ozoc
- ベストアンサー率75% (6/8)
ozocです >今は手も足も出ない状態でして、ず~っとパソコンとニラメッコしています。 少しづつ解決していきましょう。 現在どこでつまづいているのか分かりませんので、どこまで進んだか詳しく書くようにして下さい。 まずは、CGIプログラムをサーバー上で動くようにすることが最優先です。 作者さんの説明ページに記述が無い、その他の設定ポイントといえば、perlへのパスです。 check.cgi の一行目、" #!/usr/bin/perl " をお使いのサーバーに合わせて書き換えます。 これはサーバーによって違いますので、サーバーのサポートページなどを調べて下さい。 #このスクリプトは、Perlというサーバーにインストールされているプログラムと連携して動作します。 #Perlを起動するためのお約束の呪文です。 サーバーに再アップし、ブラウザでcheck.shtmlにアクセスして 動作するか確認します。 なお、当面はFrontPage Expressは使いません。 CGIの編集はメモ帳など。あとはFTPソフトとブラウザだけでOKですよ。 頑張って下さいね!
お礼
再度のご回答、感謝のしようがございません。 perlへのパスは、確認したところ、" #!/usr/bin/perl "で大丈夫なようです。 図々しくて申し訳ないのですが、分からないことを書かせていただきます。 ご説明いただいたことを参考にしましたところ、なんとかブラウザでクイズの形で表示されました。 しかし、「送信」ボタンを押しても、結果表示はされませんでした。(この点はまだ気にしなくてもよいのでしょうか?) 次に、パーミッションなのですが、サーバーのQ&Aを確認したところ、 http://tok2.com/cgi.html ということなのですが、check.cgi、check.shtml、check.txt、check_preview.cgiは、それぞれどのように設定すればいいのでしょうか?(頼りっぱなしでスミマセン) お手間を取らせてしまって、本当に申し訳ありません。
- ozoc
- ベストアンサー率75% (6/8)
こんにちは。 >設置手順という欄の4の >"check.shtml"から見た"check.cgi"までのパスを"<FORM ACTION="???/check.cgi">"に表記する。 >と書かれているのですが、パスとはなんなのでしょうか? "パス"とは、つまり位置の事です。 HTML文を書く時の、リンクと同じような感じで書けばOKです。 お尋ねのプログラムの場合、ダウンロードしたフォルダごとサーバーにアップした時には、 パスは <form action="check.cgi">で良いと思います。 ただし、サーバーによっては、「CGIは"/cgi-bin"ディレクトリに入れること」 といった制約があるケースもありますね。 その際は、"check.shtml"から見た"check.cgi"までのパスに書き換えます。 (例: <form action="cgi-bin/check.cgi"> とか) パーミッションの変更は、多くのFTPクライアントで出来ます。 #試しに、お使いのFTPソフトで右クリックなどしてみてください。 なんか それらしいメニューとか出てきませんか? CGIの設置や、基本的な概要は、参考URL等をご一読されることをお奨めします。 とっても分かりやすくまとめられたドキュメントですよ~ #あと、こちらなんかもオススメです。↓ http://www.rescue.ne.jp/
お礼
回答、まことにありがとうございます。 今は手も足も出ない状態でして、ず~っとパソコンとニラメッコしています。 教えていただいた通り、<form action="check.cgi">にしてみました。 ですがどうにもなりません。 パーミッションも755に揃えてみましたが効果ありません。 参考URLを拝見しましたが、かなり丁寧に解説されているようなのですが、少し分からない言葉が出てくると混乱してしまいます。 やはり素人がいきなりCGIの設置をするのは難しいのでしょうか。 私はFrontPage Expressで製作しているのですが、CGIのページにジャンプする(ハイパーリンク)ようにするには、URLはどうすればいいのでしょうか。 もしもう一度お答えいただけるのならば、お願いします。
お礼
回答ありがとうございます。 ozocさんには最初から最後まで、付きっ切りでご指導いただきまして、本当に感謝しております。 始めは興味本位で手を出してしまったCGIでしたが、ozocさんのお陰でここまでくることができました。 今の私の感謝の気持ちをポイントに換算するならば、100点は差し上げたいところなのですが、それが出来ず本当に残念であり申し訳ないです。 最後になりましたが、これから教えていただいたCGIを自分なりにアレンジ(壊さない程度に)していきたいと思います。 この数日間、貴重なお時間を割いていただきまして、誠にありがとうございました。 それでは失礼いたします。
補足
30(20+10)点差し上げられると思っていたのですが、なんと同じ回答者の方にはどちらかしかできないと出てしまいました(汗) なんて残酷なシステムなんでしょう! 本当に残念です・・・ それでは今度こそ、失礼しました。