概要

アンケートとか投票とかランキングなどと言われるものを行うスクリプトです。以前公開していたマルチアンケートを一から作り直して機能を追加したものです。ってもデザインは相変わらずなのでやっぱりDokiDoki PHPさんには感謝感謝です。特徴として、1つのスクリプトで複数のアンケートを実施できる、アンケートの締切リ日を設けることができる、アンケートを誰でも登録および削除できるよう設定できる、アンケート毎に設定を変えて実施できる等があります。詳しくは下の「機能」を見てください。バージョン2.20ではスクリプトがかなり変更されています。詳しくは更新履歴およびVer.2.20 の更新点についてをご覧ください。

テスト用サンプルはこちらです。管理者パスは”admin”です。同一アンケートへの連続投票制限は60秒、同一項目への連続投票制限は300秒、
他は管理者設定による制限はありません。

いきなり!アンケートでは色々なアンケートをやっています(デザインはサンプルと違います)。

機能

使用上の注意

質問や要望などがありましたらがらくたBBS-PHPでどうぞ。

ダウンロードする?→ meex220.lzh

設置方法

ダウンロードしたファイルを解凍して、index.php(スクリプト本体)と使用する外部スタイルシートファイル(*.css)、グラフを画像で表示する場合はその画像ファイルを同じフォルダにアップロードします。index.phpはアップロードする前に必要に応じて設定を変更しておきます。index.phpのあるフォルダ内にデータファイルを格納する dat というフォルダと、過去ログ化したHTMLファイルを保存する past というフォルダを作成します。フォルダやファイルのパーミッションを下記のように設定します。

ファイルやフォルダの設定を変えずに使用する場合は、以下の様な構成になります。

vote/ ←マルチアンケートEX用フォルダ(フォルダ名はお好きにどうぞ)。705 以上。
 | index.php ←スクリプト本体。604 以上。
 | style01.css ←index.php用の外部CSSファイル。604 以上。
 | *.gif ←グラフを画像で表示する場合に使用するGIF画像。604 以上。
 ├ dat/ ←データファイル格納フォルダ(自分で作成)。707 以上。
 └ past/ ←過去ログ格納フォルダ(自分で作成)。707 以上。

設置が完了したら、index.php にアクセスして、アンケートの登録と投票をしてみましょう。エラーが出た場合はファイルやフォルダのパーミッションを指定数値より大きくして試してみてください。

設定変更

index.php をメモ帳等で開いて、設定を環境や好みに合わせて変更します。変更が必要な設定と管理者メッセージの文字列設定には★印がついています。管理者メッセージと★印が付いていない設定は好みや必要に応じて変更してください。デザインやコメントの変更についてはデザイン等の変更についてを見てください。設定がやたら多いですが★印のついている設定さえ変更すればとりあえずはOKです。

基本設定

$Home
各ページ最上段の「HOME」のリンク先(あなたのサイトのホームページ)です。★
$Title
トップページのtitle要素とh1要素等の内容とする文字列。「何でもランキング」とか。★
$AdminPass
管理者パスワード。アンケートや項目等の追加や削除等を行う際に必要です。必ず変更してください。★
$ThemeSort
アンケート一覧を、0:登録日、1:投票日、2:締切日、でソートして表示。
$ThemeLimit
登録できるアンケートの上限。
$DispVoteLimit
投票結果表示ページで表示する最近の投稿の上限。
$UseImage
投票結果のグラフを画像で表示、0:しない、1:する(HTMLタグ)、2:する(CSS)。グラフの表示形式についても見てください。
$Image
投票結果のグラフを画像で表示する(HTML,CSS)場合に使用する画像ファイル。過去ログ化した際にHTMLソースを書き換えなくて済むのでURL指定または絶対パス指定を推奨。★
$CSS
このスクリプト用の外部CSSファイル。過去ログ化した際にHTMLソースを書き換えなくて済むのでURL指定を推奨。★

最大文字数設定

文字数の単位はバイトです。全角は1文字2バイトです。デフォルトの設定で適当だと思います。

$ThemeTitle_maxlen
アンケート名の最大文字数。
$ThemeAuthor_maxlen
アンケート登録者の名前の最大文字数。
$ThemeComment_maxlen
アンケート登録者のコメントの最大文字数。
$VoterName_maxlen
投票者の名前の最大文字数。
$VoterComment_maxlen
投票者のコメントの最大文字数。
$ItemName_maxlen
アンケートの項目名の最大文字数。

投票設定

デフォルトでおすすめの設定になっています。アンケート毎の設定と優先度についても見てください。

$Pmt_AddTheme
新規アンケートの登録は 0:誰でも可、1:管理者のみ可。
$Pmt_AuthorSetup
投票項目を誰でも追加可能にするかどうか、投票時の名前やコメントを必須とするかどうかなどのアンケート毎の設定は 0:登録者も設定可、1:管理者のみ設定可。
$Pmt_AuthorAdmin
アンケート毎の管理(項目削除や設定変更)は、0:管理人のみ可、1:登録者も可。”1”にすると登録時の管理パスで管理者パスとほぼ同等の管理が可能になります(管理者設定には制限されます)。
$Pmt_ClosingDay
投票締切り機能は、0:無効、1:有効。
$VoteStatus[0]
投票締切り済みの時の文字列。
$VoteStatus[1]
投票受付中の時の文字列。
$Pmt_AddItem
新規投票項目は 0:管理者のみ、1:誰でも、追加可。
$Pmt_AddItem_P
上記設定の優先度は 0:管理者設定優先、1:登録者設定優先。
$Pmt_SecretVote
投票時の名前は 0:不要、1:必須。
$Pmt_SecretVote_P
上記設定の優先度は 0:管理者設定優先、1:登録者設定優先。
$Pmt_WriteComment
投票時のコメントは 0:不要、1:必須。
$Pmt_WriteComment_P
上記設定の優先度は 0:管理者設定優先、1:登録者設定優先。
$SecretVoteName
無記名投票時に勝手につける名前。
$SerialVoteWait_Theme
同一IPの同じアンケートへの連続投票制限は 0:しない。する場合は制限解除までの秒数。
$SerialVoteWait_Item
同一IPの同じ項目への連続投票制限は 0:しない。する場合は制限解除までの秒数。

データファイル設定

特に変更する必要はありませんが、データファイルを直接見られたくない場合は適当に変更してください。

$DataDir
下記のデータファイルを置くディレクトリを相対パスで指定(最後に "/" をつける)。
$IndexFile
登録アンケートのインデックスファイルのファイル名。
$TitleFile
登録アンケートのタイトルとリンクだけ書かれるファイルのファイル名。
$LogExt
アンケートのログファイルの拡張子(ピリオドから)。アンケートナンバー+この拡張子のファイルが自動作成されます。

管理者メッセージ設定

各ページで表示したいメッセージ(注意書きなど)があればここに記述してください。HTMLタグも通常通りに書けます。

$ContentsTop
トップページのタイトルの下に表示されます。この行と”CT;”と書いてある行の間に書いてください。★
$ContentsMode
アンケート別閲覧投票ページのアンケート名の上に表示されます。この行と”CM;”と書いてある行の間に書いてください。★

補足

Ver.2.20 の更新点について

バージョン2.20ではスクリプトがかなり変更されています。スクリプトとCSSをそのまま使用している場合は、設定を変更し直すだけでそのまま使用できます。CSSや出力文字列を変更したりしている場合は、修正点が大分あるかと思います。お手数お掛けしまして申し訳ありませんが、大幅なバージョンアップはこれで最後だと思いますのでよろしくお願いします。

アンケートのインデックスファイルとログファイル、リンクリストファイルに変更はないのでそのまま使用できます。過去ログのリンクリストファイルは若干変更されていますが、過去ログを作成するか削除すれば更新されます(適当に1つHTML化してそれを削除すればOKです)。

バージョン2.20以前の過去ログは、投票結果のグラフを常に画像を使用せずにHTMLタグのみ($UseImage=0)で出力していました。これでは当然、$UseImage = 0 以外の設定では投票結果のデザインがおかしくなるので、過去ログにもHTML化した時の設定とCSSを適用するように修正しました。お手数ですが、過去ログを作成していた場合は再度HTML化して修正してください。バージョン2.20では過去ログのCSSは外部ファイルではなく過去ログファイル内にstyle要素で指定しています。

CSSはp要素に管理者メッセージ用クラスセレクタを1つ追加しただけです。「★v2.20追加点」とコメントしてあります。

アンケート一覧の最終投票日はバージョンアップ後に投票があるまで” - ”になります。

アンケート毎の設定と優先度について

例えば、最初から投票項目を決めてその中からだけ投票してもらいたい場合もあると思います。そういうアンケートは、「アンケート毎の設定を誰でも可」にして、「投票項目の追加の優先度を登録者設定優先」にしておくと、登録時に「項目追加」をできない設定にしたアンケートは管理者しか項目追加できなくなるので可能になります。もちろん、登録時に「項目追加可」にしたアンケートは管理者以外も項目追加できます。

また、すべてのアンケートにおいて、名前だけは必須にして他は登録者が自由に設定できるようにするには、「投票時の名前を必須」にして「投票時の名前の設定の優先度を管理者設定優先」にします。と、まあ、よく分からないかも知れませんが、優先度とはこういうものです。書いてて頭痛くなってきた。

グラフの表示形式について

グラフの表示形式は画像を使用するタイプと使用しないタイプの2種類あります。デフォルトでは画像を使用せずに表示します。

画像を使用する場合は $UseImage を”1”にして $Image で使用する画像ファイルを指定してください。画像ファイルの形式は、GIF、JPG、BMP等、ブラウザが表示できる形式なら何でも構いません。画像サイズは高さを9ピクセルにしておくと綺麗に表示されます。アーカイブにはグラフ用の色違いの画像が5つ同梱されているのでご自由にどうぞ。

$UseImage を”2”にするとスタイルシートで画像を使用して表示します。見た目は一番いい(と思う)のですが、スタイルをインラインで指定しているので背景色等を変更するにはソースを直接書き換える必要があります。

デザイン等の変更について

配色とレイアウトは外部スタイルシートでやっています(バージョンアップ時にCSSにも変更が合った場合はその旨をコメントしてあります。)。管理者メッセージ設定でウェルカムメッセージや注意書きなどを記述しておくと各ページでそのメッセージを表示します。アーカイブにはCSSファイルが2つとグラフ用画像が5つ同梱されていますのでお好きな物をお使いください。CSSとメッセージは必要に応じて変更してください。CSSがある程度わかる人なら、指定部分の注釈を見ながらやれば配色くらいはすぐに変更できると思います。

ちなみに、アーカイブ同梱のCSSは、IE5.5, IE6.0, Netscape7.1, Opera7.54u1, Firefox1.03 でほぼ同じデザインで表示されることを確認しています。

過去ログについて

過去ログはそのアンケートの登録日時のタイムスタンプ+.html のファイル名(例:200503022251.html)で past フォルダ内に保存されます。このファイルは無ければ作成しますが、既に一度過去ログ化していて同名のファイルがあった場合は、上書きされますので注意してください。

過去ログとして出力されるHTMLファイルは、HTML化した際の設定とCSSが適用されるので、HTML化した際に使用していたグラフ用画像はそのままにしておいてください(CSSは外部ファイルではなく過去ログファイル内にstyle要素で指定されます)。グラフを画像で表示する設定にしているのに画像が表示されない場合やCSSが適用されない場合は、$Image、$CSS のファイルをURLで指定するか過去ログのHTMLソースを修正してください。

Tips 〜他のページから実施中のアンケートへリンクする〜

title.datの中身は各アンケートへのリンク(HTML)になっているので、リンクを表示したい場所に<?php @readfile("./vote/dat/title.dat"); ?>を挿入するだけで済みます。readfile()関数はファイルを読み込んで標準出力に書き出す関数です。

更新履歴

2005/05/18 ver.2.20 新項目の一括追加と過去ログ削除機能の追加。アンケート一覧に最終投票日時を表示しソート設定を追加。文字数制限設定の追加。過去ログにHTML化した時のデザインを適用、締切日が出力されないのを修正。CSSに管理者メッセージ用クラスセレクタ追加。その他細かいところ手直し。データ構造に変更はありません。
2005/03/22 ver.2.12 HTML化ルーチン変更。
2005/03/20 ver.2.11 コメントのある投票だけ表示するか無くても表示するかをアンケート毎に設定できるようにしました。その他細かいところ手直し。デザイン(CSS)やデータ構造に変更はありません。
2005/03/05 ver.2.00 アンケートデータに登録者コメントを追加。アンケートデータと設定の編集・変更機能を追加し、これを登録者にも許可するかどうかの管理者設定を追加。投票結果のHTMLファイル化機能追加。その他細かいところ手直し。
2005/02/08 ver.1.00 とりあえず公開。

Copyright (c) 2003-2006 Teal All Rights Reserved.