Рейтинг на javascript
Доброго времени суток. Прошу помощи, но хочу предупредить, javascript еще не знаю вообще. Вот мой сайт - http://aboutonline-casino.com/igraya...hoteli-by.html . На этой странице два тестовых рейтинга. Вот источник скрипта - http://biznesguide.ru/coding/156.html . Хочу спросить, как сделать ограничение по ип? Чтобы человек мог 1 раз проголосовать с 1 адреса и результат естественно сохранялся в виде звездочек закрашенных. Там я так понял система замороченная, надо заходить в базу, смотреть результаты и самому проставлять. Заранее спасибо.
|
Да, и еще. Регистрации на сайте нет. Файл - vote.php
[spoiler]<?php /* Конфигурация базы данных. Добавьте свои данные */ $dbOptions = array( 'db_host' => 'localhost', 'db_user' => '******', 'db_pass' => '****', 'db_name' => '*******' ); //Имя таблицы, в которой хранятся заметки $table_name = 'articles'; //Подключаем класс для работы с базой данных require "db.class.php"; // Соединение с базой данных DB::init($dbOptions); $use_cookie = true; //защита от накруток $expires = 3600*24*31; //время жизни кук в секундах (сейчас установлено 31 день) if(isset($_POST['score']) && isset($_POST['vote-id'])){ $page_id = intval($_POST['vote-id']); $cookie_name = 'page_'.$page_id; if($use_cookie && isset($_COOKIE[$cookie_name])){ $data['status'] = 'ERR'; $data['msg'] = 'Вы уже голосовали за эту заметку'; } else{ DB::query('UPDATE '.$table_name.' SET vote = (vote*voters + '.floatval($_POST['score']).')/(voters + 1), voters = voters + 1 WHERE id = '.$page_id); if(DB::affected_rows() == 1){ $data['status'] = 'OK'; $data['msg'] = 'Спасибо. Ваш голос учтен.'; if($use_cookie) setcookie($cookie_name,$page_id,time() + $expires); } else{ $data['status'] = 'ERR'; $data['msg'] = 'Произошла ошибка'; } } } else{ $data['status'] = 'ERR'; $data['msg'] = 'Вы не передали нужные данные!'; } echo json_encode($data); ?>[/spoiler] |
Часовой пояс GMT +3, время: 10:09. |