http://net.tutsplus.com/tutorials/html-css-techniques/building-a-5-star-rating-system-with-jquery-ajax-and-php/の評価スクリプトを使用しています
しかし、評価をデータベースにアップロードして、同じ写真に常に投票するのを止めたいと思っています。
これは、Cookie をアップロードして設定するスクリプトです。
<?php
// Get id and voted value
$id = $_POST['widget_id'];
preg_match('/star_([1-5]{1})/', $_POST['clicked_on'], $match);
$vote = $match[1];
// Connect to database and find the row which have the id
$get = mysql_query("SELECT * FROM ratings WHERE id = '$id'");
while ($getdata = mysql_fetch_array($get)) {
$total_votes = $getdata['total_votes'];
$total_value = $getdata['total_value'];
// See if the votes and value is 0 and if it aint it update the database and if it is were creating a new row
if ($total_votes != 0 && $total_value != 0) {
$total_votes++;
mysql_query("UPDATE ratings SET total_votes = '$total_votes' WHERE
id = '$id'");
} else {
mysql_query("INSERT INTO ratings (id, total_votes, total_value)
VALUES ('$id', '1', '$vote')");
}
// Sets the cookie
$value = $id;
// Send a cookie that expires in 24 hours
setcookie($id, $value, time() + 3600 * 24);
?>
しかし、ユーザーがすでに投票している場合、彼はまだ投票できるので、彼がクッキーを持っているかどうか、およびmysqlテーブルからデータを取得してユーザーに送信する方法を確認する必要があります。