Koenig, например?самый легкий способ какой?
Вот посмотри может осилишь мой код - быдлод
нужна кнопка мне нравится
Homelion, Создаешь таблицу с полями, ид объекта, ид пользователя, и тип голоса (положительный или отрицательный), пишешь скрипт который должен принимать ид объекта и тип голоса, пишешь эти данные в таблицу, не забудь записать ид пользователя, перед записью проверь голосовал ли юзер, ну и конечно же отфильтрул данные, проверь существование объекта, закрой для гостей, вывод информации о голосах думаю сам осилишь
принимать GET запросы и вносить в базу
еcho'<а href="index.php?plus">+</a>';
$pl = $_GET['plus'];
А дальше вносить в базу
Как то так
Я наверное понял о чем ты, тебе нужны ссылки вида
http://sait.ru/index.php?karma=plus Когда ты создаешь такую ссылку и переходишь по ней, автоматически создается суперглобальный массив $_GET['karma'] с ключом karma и значением plus, ну а там дальше делаешь проверку и т.д.
Таблица
CREATE TABLE `vote` (
`oid` int(10) unsigned NOT NULL,
`uid` int(10) unsigned NOT NULL,
`type` tinyint(1) unsigned NOT NULL,
PRIMARY KEY(`oid`, `uid`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8
oid - идентификатор объекта
uid - идентификатор пользователя
type - тип голоса (0 - минус; 1 - плюс)
---
Вот код напримере ждона
define('_IN_JOHNCMS', TRUE);
$rootpath = ''; // Если файл не в корне то удалить переменную rootpath и заменить в require ./ на ../
require './incfiles/core.php';
if (!$user_id) {
// Закрываем от гостей
header('Location: ' . core::$system_set['homeurl'] . '/?err');
exit;
}
$message = '';
$is_exists = mysql_result(mysql_query("SELECT COUNT(*) FROM `object_table` WHERE `id` = '" . $id . "'"), 0);
if ($is_exists) {
// Проверяем голосовал ли пользователь
if (mysql_result(mysql_query("SELECT COUNT(*) FROM `vote` WHERE `uid` = '" . $user_id . "' AND `oid` = '" . $id . "'"), 0)) {
$message = 'Вы уже проголосовали';
} else {
// Определяем тип голоса (1 - за; 0 - против)
$type = isset($_GET['type']) && intval($_GET['type']) === 1 ? 1 : 0;
// Голосуем
mysql_query("INSERT INTO `vote` SET `oid` = '" . $id . "', `uid` = '" . $user_id . "', `type` = '" . $type . "'");
$message = 'Ваш голос принят';
}
} else {
// Объект не найден
$message = 'Неверные данные';
}
require './incfiles/head.php';
echo '<div class="menu">' . $message . '</div>';
require './incfiles/end.php';
Как то так.
Screamer (19.11.2012 / 14:41)
Таблица
[php]
CREATE TABLE `vote` (
`oid` int(10) unsigned NOT NULL,
`uid` int(10) unsigned NOT NULL,
`type` tinyint(1) unsigned NOT NULL,
PRIMARY KEY(`oid`, `uid`)
) ENGINE=MyISAM DEFAULT
Спасибо!Я сам уже почти написал
!А как проверить какой параметр несет $_GET['name'] если у меня ссылка : sait.php?name=plus
Homelion, По аналогии как и у меня
$type = isset($_GET['name']) && $_GET['name'] == 'plus' ? 'plus' : 'minus';
Блин вот проблема в том что когда я нажимая на плюс один прибавляется а когда на минус ничего не происходит...
Homelion, Код встудию, тут нет экстрасенсов