Плюс или минус

393
.
Koenig, например?самый легкий способ какой?
.
Вот посмотри может осилишь мой код - быдлод нужна кнопка мне нравится
.
Homelion, Создаешь таблицу с полями, ид объекта, ид пользователя, и тип голоса (положительный или отрицательный), пишешь скрипт который должен принимать ид объекта и тип голоса, пишешь эти данные в таблицу, не забудь записать ид пользователя, перед записью проверь голосовал ли юзер, ну и конечно же отфильтрул данные, проверь существование объекта, закрой для гостей, вывод информации о голосах думаю сам осилишь
.
diabloser
принимать 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
.
Screamer
Homelion, По аналогии как и у меня
$type = isset($_GET['name']) && $_GET['name'] == 'plus' ? 'plus' : 'minus';
.
Блин вот проблема в том что когда я нажимая на плюс один прибавляется а когда на минус ничего не происходит...
.
Homelion, Код встудию, тут нет экстрасенсов
Всего: 33