![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
表題の通り、ホームページ上で投票できるシステム(PHPかCGI)を作りたいと思っています。
PHPとCGIの知識は、すでにあるものを少しだけいじれる程度なのですが
配布されているフリーのものを探して、ちょうどいいものがなく、
この機会に是非チャレンジしたいので、ご助言をお願いします。
内容的には、写真がずらっと並んだギャラリーページから、
ユーザーが一番気に入った写真を1つだけ選んで投票できるというものです。
下記のような機能をつけたいです。
■第一回人気投票、第二回人気投票…と、開催ごとに1回しか投票できない。
(第一回で投票した人でも、第二回が開催されたときは投票できる)
■1回投票したら、他の写真には投票できない
■ユーザーはどの写真に何票入っているかみれない
■管理者はどの写真に何票入っているか見れる
■データーベースが必要なら用意できます
なにから手をつけていいのかわからない状態なのですが、
ご助言お願い致します。
No.2ベストアンサー
- 回答日時:
厳密には不可能です。
案1:メールアドレスなどでユーザ登録してもらい、1ユーザ1回の投票にする。
⇒問題点1:メールアドレスを複数持っている人が複数回登録できる
問題点2:登録が面倒で投票してくれる人が減る
案2:cookieを使う。
⇒問題点1:そもそもcookieを有効にしていない人をどうするのか?・・・投票不可にするしか無い
問題点2:cookieをクリアすると何度でも投票できる
案3:TwitterとかmixiとかのIDで認証して、1ユーザ1回の投票にする。メールアドレスと違いIDを複数持っている人は少ないので
⇒問題点:そういうサービスを利用してない人は投票できない
まあ、あまり厳密さを求めないで(意図的に何度も投票する人が居てもしょうが無いとあきらめ)、cookieでしょうか。
Cookieを扱うPHPでの具体的な記述は「PHP Cookie」で検索すればいくらでも情報があります。Perlなら「Perl Cookie」で。
処理の流れはこんな感じで:
0. Cookieの名前は投票回ごとに違う名前を決めます。例えば第一回だとponpoko001とか。
1. 投票を受け付けるときに、ponpoko001というcookieがあれば投票済みとみなします。
2. そのcookieが無い場合、Cookieを無効にしてないかチェックのため、checkというcookieを発行してみます。
3. 次のページに遷移して、checkというcookieが帰ってこなければブラウザ設定でCookieを無効にしているということなので「Cookieを有効にしてください」というメッセージを出してトップページなどに帰ります。
4. 投票を受け付けます。
5. 同時に、長い有効期限で、ponpoko001という名前のCookieを発行します。
ご回答ありがとうございます。
なるほど、ご提案のとおり、Cookieがいちばんよさそうです。
おかげさまで、だいたいの設計が理解できたので
少しずつ勉強して作りたいと思います。
ありがとうございました!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで集計したい。
-
フォームを再送信しますか?
-
サーバーのエラーでおしえてく...
-
apacheでPerl CGIが作動せず、5...
-
/bin/awk '{print $5}'ってどう...
-
ラジオボタンの内容を受けてCGI...
-
めちゃきれい
-
number 改行が追加できない
-
生成AI画像について
-
3DCG
-
ホームページにメールフォーム...
-
cgi アクセス制限 エラー
-
CGIの記述について教えてくださ...
-
CGIの設置が分かりません・・・
-
ホームページにCGIを設置したの...
-
ホームページにCGIを設置したの...
-
ホームページの事でおしえてく...
-
さくらサーバーにcgiフォームを...
-
ホームページでCGIのフォームを...
-
一番簡単なCGI,掲示板の設置教...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
HPのページないしリンクにパス...
-
1人1回投票できる投票システム...
-
.htaccess以外のパスワードのか...
-
VBSで既に開いているIEにパスワ...
-
会員制サイト CGI
-
CGIを利用せずにウェブサイ...
-
DBを用いたCGI認証スクリプト(...
-
ユーザーごとに違うページにジ...
-
JavaScript でのページ閲覧制限
-
設置出来ない…
-
PowerShellでのエラー出力の読...
-
パソコン用語「ツリー」って、...
-
携帯のアンテナ基地の設置料の...
-
VBスクリプト---アプリの終了に...
-
掲示板に画鋲、ホッチキス以外...
-
はじめまして 床置エアコンを仮...
-
自動人数カウンターってありま...
-
シェルのSTEP数について教えて...
-
風俗嬢の心のセンサーは壊れて...
-
アンケートのCGIを探しています
おすすめ情報