запрет повторных нажатий кнопки Like

Печать RSS
252

Д
Автор
Пришелец
0
Всем привет. сделал кнопку Like/ Теперь надо сделать, чтобы нельзя было поставить больше одного лайка к одной статье. Решил записывать куку. И вот проблема в проверке.
$ss = mktime(0,0,0,1,1,2020);
setcookie("likes[$id]", $id, $ss);//записал куку
в итоге имею переменную $likes[4] = 4
до записи стоит проверка:
if($likes[$id]!=$id){//прибавляем плюс один}
но эта хрень не работает!!(
Изменил: Дмитрий (25.08.2012 / 19:33)
И

Пришелец
0
помойму надо if($_COOKIE[$likes[$id]]!=$id){//прибавляем плюс один}

Пришелец
0
а если куки отключены? записывай ip
Д
Автор
Пришелец
0
3. YeachAgBitch, проверять буду, включены ли куки
А

Оранжевые штаны
0
Куки и почистить можно, не?
Не проще сделать так, чтобы пользователь при повторном нажатии мог забрать лайк назад и всё?
Автор, как напишешь, покажи мне творение.

Господин ПЖ
0
1. sadiev, это нужно хранить не у пользователя, а у себя, иначе толку от этих лайков, все равно придется переписывать
З

Землянин
0
Записывай допустим в базу ид поставившие Лайк. С куками это совсем неудачный выбор.
Ю

deleted
0
Я записывал в базу. Вот алгоритм добавления:
 <?php
if (mysql_result(mysql_query("SELECT COUNT(*) FROM `otvet` WHERE `id` = '". input(num($_GET['id'])) ."' LIMIT 1"), 0) == 0)
{
header('Location: /');
}
if ($user['id']<1){
header('Location: /');
}
$count = mysql_result(mysql_query("SELECT COUNT(*) FROM `like` WHERE `autor` = '".input(num($user['id']))."' && `otvet` = '".input(num($_GET['id']))."'"), 0);
if($count!=0){
header('Location: /');
}
$result = mysql_query("SELECT * FROM `otvet` WHERE `id` = '".input(num($_GET['id']))."'");
$res = mysql_fetch_assoc($result);
$cat = $res['cat'];
$quest = $res['quest'];
mysql_query("INSERT INTO `like` SET `autor` = '". input(num($user['id'])) ."', `otvet` = '".input(num($_GET['id']))."',`cat` = '".input(num($cat))."',`quest` = '".input(num($quest))."'");
header('Location: /catalogue/questions.php?id='.num($_GET['return']).'&page='.$_GET['page']).'';
?>
 

Добавлено через 06:16 сек.
Функция вывода ссылки/текста с проверкой, кликал ли по ней юзер
<?php
 function like($var,$var2,$var3,$var4){
$count = mysql_result(mysql_query("SELECT COUNT(*) FROM `like` WHERE `autor` = '".input(num($var2))."' && `otvet` = '".input(num($var))."'"), 0);
$count2 = mysql_result(mysql_query("SELECT COUNT(*) FROM `like` WHERE `otvet` = '".input(num($var))."'"), 0);
if($var2>0){
if($count==0){return '<a href="/catalogue/like.php?id='.$var.'&amp;return='.num($var3).'&amp;page='.$var4.'"><img src="/design/images/like.png" alt="smile" /> Мне нравится ('.$count2.')</a>';}
else{
return '<img src="/design/images/like.png" alt="smile" /> Мне нравится ('.$count2.')';
}
}
} ?>
Изменил: юЮЮфюв (28.08.2012 / 12:21)
Стикеры / Теги / Правила / Топ тем / Топ постов / Поиск