3

私は自分のサイトに投稿を投稿できるように、そして人々がそれを好き嫌いができるように、小さな投稿システムに取り組んでいます。

次のようになります。

投票システム

現時点では、何度でも賛成票と反対票を投じることができます。JavaScriptで画像をクリックできないようにする方法は知っていますが、誰かがfireBugまたはChromeコンソールでボタンをもう一度クリックできるようにすることができるので、PHPでこれを行う方法も必要です。

これはおそらく私が実際にPHPで作成している最初のものであるため、私はまだ初心者です。提案をありがとう。

4

3 に答える 3

9

私はあなたのためにコードを書くつもりはありません。スクリプト サイトには、実行可能な例がおそらく数十個あります。正しい方向に向けるためのいくつかのヒントを次に示します。

セッション変数 - $_SESSION[]- 設定されているかどうかを確認し、投票後に設定します。ブラウザーを閉じない限り、再度投票することはできません。

Cookie - $_COOKIE[]- セッションと同じですが、ブラウザを閉じて再度開いても残ります。

IP アドレス - $_SERVER['REMOTE_ADDR']- IP と投票の MySQL テーブルに記録を保持します。

ログイン システム - 認証されたユーザーのみに投票を許可し、データベースで投票を追跡します。

上記の任意の組み合わせが許容されます。正しい方向に向けられることを願っています。

于 2012-07-30T21:20:32.500 に答える
6

これから学習するので、完全なコードは投稿しません。とはいえ、概要を説明することはできます。

これを行う最善の方法は、投票をデータベース テーブル (おそらく MySQL) に保存することです。

| vote_id | user_id | post_id | vote |

どこ:

  • vote_id投票ごとに一意の ID を作成する自動インクリメント列です
  • user_idこの投票を送信したユーザーの識別子です
  • post_idユーザーが投票している投稿の識別子です
  • voteこの投票が賛成か反対かを決定します。

これで、クエリを作成して、誰かが投稿に既に投票したかどうかを判断し、それに応じて行動できるようになりました。

于 2012-07-30T21:18:36.080 に答える
0

サーバー側、つまりPHPコードで検証する必要があります。IPアドレス(ログインしていないユーザー/ゲストの場合)またはユーザー名(ログインしているユーザーの場合)のいずれかでそれを行うことができます

クライアント側の検証によってユーザーを停止する方法はありません。

于 2012-07-30T21:18:09.497 に答える