Да, и еще. Регистрации на сайте нет. Файл - 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]
Последний раз редактировалось Tapakan, 18.06.2012 в 00:51.
|