Perlでお遊び - Perlのジャンク品置き場  Perlでお遊び | Perlのジャンク品置き場
ポイント制の評価スクリプト。
ウェブページの内容などを評価してもらう簡易なスクリプトです。 評価ポイントは自由設定で、合計値や平均値を計算します。
ホーム > 投票スクリプト > ポイント制の評価スクリプト

 ポイント制の評価スクリプト

ポイント制の評価スクリプト


例えば、ホームページで写真集を公開するとき、ご覧頂いた人達から写真の評価をしてほしいという希望はありませんか?
あるいは、ホームページで短編小説を書いたとき、それぞれの評価を得たいということはありませんか?
このスクリプトは、それぞれのホームページに「投票箱?」を貼り付けて、 閲覧者がクリックした点数を集計するものです。
CGI を1度設定すると、複数の投票フォームが利用できます。
点数を表示するスクリプトは未作成ですので、SSI や IFRAME などを利用してください。


サンプル


JunkPerl.com は面白いですか?(できれば良い評価をお願いしますw)
1点:意味不明〜
2点:もっとがんばれよっ
3点:いや別に・・・
4点:私こういうの好きよ☆
5点:ダウンロードしていろいろと試したいです!(ハイッ
投票が終わってこのページに戻ったら ⇒
( JavaScriptが無効の場合はブラウザ更新してください )
●結果を SSI ( <!--#include virtual="file" --> )で表示しています。
現在までの投票数82 回
現在までの合計点317 点
現在までの平均点3.86 点

●結果を IFRAME で表示しています。
現在までの投票数
現在までの合計点
現在までの平均点

ご注意


  • 点数の表示のために SSI が利用できるサーバであることが望ましいです。
  • この CGI を利用した事によるいかなる損害も作者は一切の責任を負いませんのでご了承ください。


  •  目次

    ダウンロード
    あなたのホームページで利用するために、まずはダウンロードして入手します。

    設置説明
    ダウンロードしたファイルをパソコンで設定したり、転送して動作確認を行ないます。

     ダウンロード

    使用条件

    配布するスクリプトのライセンスは GPL に準じるものとします。 gpl.ja.txt をアーカイブに含めて配布します。 ⇒ GPLの日本語訳

    それではダウンロードしてください

    DOWNLOAD ZIP形式 laura-101.zip Version 1.01 2006/08/19

    公開履歴

    Version 1.00 2006/08/11 : 初版
    Version 1.01 2006/08/19 : 変数初期値の定義

     設置説明

    (1) ダウンロード後に解凍を行うとファイルが展開されます。

    laura.cgi の 1行目 #!/usr/local/bin/perl を、ご利用のサーバーに合わせて修正してください。

    (2) ファイルをサーバーに転送してください。

    全体のディレクトリ・ファイル構成とパーミッション設定値は次のようになります。
    ご利用のサーバ環境で cgi 実行ディレクトリが決められている場合などは、プロバイダの指示に従ってください。
    ※太字はディレクトリです。

    ディレクトリ構成例 パーミッション 備考
    /public_html/[755]設置ディレクトリ
      |-- sample.shtml[644]動作確認用HTML
      |-- laura/[777]設置ディレクトリ
         |-- inc/[755]
         |   |-- cgi-lib.pl[644]
         |   |-- env.pl[644]
         |   |-- file.pl[644]
         |   |-- heros.pl[644]
         |-- laura.cgi[755]

    (3) 起動します。

    次のアドレスをブラウザに入力してください。

    http://www.hoge.com/~user/sample.shtml

    (4) 投票フォーム ( 投稿ポイント ) の設定

    上記 (3) が正しく動作したら、オリジナルの投票形式にしてみたいと思います。

    <input type="radio" name="vp" value="5"> 5点
    赤色の数字を変更することで投票ポイントを設定することができます。 ポイントは何行あってもかまいません。

    <input type="hidden" name="vc" value="5">
    平均点を計算する際に、赤色の数字で合計ポイントを除算(÷)します。

    <input type="hidden" name="nm" value="record1">
    複数の投票フォームを使いたい場合に、 赤文字を変更することで、投票結果を保存するファイル名を変更することができます。 投票の識別コードのようなものです。


    ●たとえば、回答を「男性」と「女性」の2つにして、結果として「男性」の割合を表示することもできます。

    あなたの性別を教えてください。
    女性 男性
    投票が終わってこのページに戻ったら↓ ページを更新してください。

    ●結果を表示。
    男性の割合は53.84 %です
    回答人数は13 人です
    <form method="post" name="Q_SEXTYPE" action="./laura/laura.cgi" enctype="multipart/form-data" target="_blank">
    あなたの性別を教えてください。<BR>
    <input type="radio" name="vp" value="0">女性 
    <input type="radio" name="vp" value="100">男性 
    <input type="hidden" name="vc" value="2">
    <input type="hidden" name="nm" value="sextype">
    <input type="submit" name="SUBMIT" value="教えちゃう♪">
    </form>
    

    (5) 投稿結果の表示方法。

    sample.shtml を見ていただくと、おおよそのことはご理解頂けるかと思います。

    投票フォームと同じページに表示する方法はありません。同一サイト内であれば他のページに結果を表示してもかまいません。

    SSI を使う場合は、HTMLファイルの拡張子が .shtml でなければならないサーバが多いと思います。

    SSI が利用できる場合は、次のようにしてください。パスは適時修正してください。virtual= が駄目な場合は file= で試してみてください。
    太文字は、 <input type="hidden" name="nm" value="record1"> の 識別コードです。

    平均値を表示したい位置に↓
    <!--#include virtual="./laura/dat/record1a.txt" -->
    投票数を表示したい位置に↓
    <!--#include virtual="./laura/dat/record1b.txt" -->
    合計値を表示したい位置に↓
    <!--#include virtual="./laura/dat/record1c.txt" -->

    SSI が利用できない場合は、IFRAMEなどをご利用ください。

    平均値を表示したい位置に↓
    <IFRAME src="./laura/dat/record1a.txt" height="14" width="40" hspace="0" vspace="0" marginheight="0" marginwidth="0" frameborder="0">この部分はIFRAME対応ブラウザで表示されます。</IFRAME>
    投票数を表示したい位置に↓
    <IFRAME src="./laura/dat/record1b.txt" height="14" width="40" hspace="0" vspace="0" marginheight="0" marginwidth="0" frameborder="0">この部分はIFRAME対応ブラウザで表示されます。</IFRAME>
    合計値を表示したい位置に↓
    <IFRAME src="./laura/dat/record1c.txt" height="14" width="40" hspace="0" vspace="0" marginheight="0" marginwidth="0" frameborder="0">この部分はIFRAME対応ブラウザで表示されます。</IFRAME>

    (6) トラブル解決

    ・『投稿』ボタンを押すとCGIの実行エラーが表示される。
    laura.cgi のパーミッションの設定値を確認してください。
    「ディレクトリが作成できません」と表示される
    自動的にディレクトリを作成しようとしています。laura ディレクトリのパーミッションの設定値を確認してください。
    それでも駄目な場合は、次のディレクトリを手動で laura ディレクトリの直下に作成してください。
    laura/dat、および、laura/lock
    そして、それぞれのディレクトリのパーミッション設定値を [777] に変更してください。
    ディレクトリ構成例 パーミッション 備考
    /public_html/[755]
      |-- sample.shtml[644]動作確認用HTML
      |-- laura/[777]設置ディレクトリ
         |-- inc/[755]
         |   |-- cgi-lib.pl[644]
         |   |-- env.pl[644]
         |   |-- file.pl[644]
         |   |-- heros.pl[644]
         |-- laura.cgi[755]
         |-- dat/[777]追加
         |-- lock/[777]追加

    Copyright © 2006 JunkPerl.com   RSS2.0