[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Как Привязать cookie к определенному id
m4a1fox
Добрый день уважаемые эксперты. Есть такой вопрос. На странице сайта где выводятся новости, есть cookie. Это для того, что бы можно было отдать свой голос за или против статьи. Спасибо fallow. НО! Есть проблемка. Как привязать cookie к определенному id новости. Т. е. сейчас я могу проголосовать только за одну статью. А хотелось бы что бы можно было проголосовать за несколько. Но чо бы не повторяться. Ну то есть проголосовал за статью с id=43, потом за id=64. И вот если снова за id=43 нажать на голосование, то скрипт должен показывать что уже голосовали. И повторное можно только через определенное кол-во времени. Спасибо.



Спустя 1 час, 1 минута (4.03.2011 - 15:38) Zerstoren написал(а):
$_COOKIE['string']['id news'] = (bool); был ли голоc

Спустя 1 минута, 40 секунд (4.03.2011 - 15:39) m4a1fox написал(а):
Zerstoren
Цитата
$_COOKIE['string']['id news'] = (bool);

А если место id_news поставить переменную... например $view?

Спустя 6 минут, 1 секунда (4.03.2011 - 15:45) m4a1fox написал(а):
Zerstoren
Если не трудно вот
$unlike = !empty($_POST['unlike'])? $_POST['unlike'] : null;
$like = !empty($_POST['like'])? $_POST['like'] : null;
$_SESSION['view'] = $view_f;
if(empty($_COOKIE['reputation']))
{
if(!empty($like))
{
//ставим куки на 20 секунд. Чтобы проверить эффект.
//после 10 секунд скрипт разрешит добавлять сообщения
//p.s на час time()+3600 , на день time()+3600*24

setcookie('reputation' ,'like', time()+10);
$unlike = null;
header("location: like_unlike.php");
}

if(!empty($unlike))
{
//по аналоу плюса.
setcookie('reputation' , 'unlike', time()+10);
$like = null;
header("location: like_unlike.php");
}
}

else
{
$error['like_unlike'] = '<span class="post_adds" style="background-color: yellow; padding: 2px;">Спасибо!</span>';
}
?>

Это обработчик.

А вот вторая страница

<?php session_start();
include './admin/blocks/db.php';
$view_f = $_SESSION['view'];
if($_COOKIE['reputation'][$view] == 'like')
{
$_COOKIE['reputation'] = $_SERVER['REMOTE_ADDR'];
mysql_query("UPDATE `you_mail` SET `like` = `like` + 1 WHERE `id` =".(int)$view_f);
header("location: ./page_view_you_mail.php?view=".$view_f);
}
if($_COOKIE['reputation'] == 'unlike')
{
$_COOKIE['reputation'] = $_SERVER['REMOTE_ADDR'];
mysql_query("UPDATE `you_mail` SET `unlike` = `unlike` + 1 WHERE `id` =".(int)$view_f);
header("location: ./page_view_you_mail.php?view=".(int)$view_f);
}
?>

Если вам не трудно... Помогите. Буду благодарен. Спасибо.

Спустя 3 минуты, 33 секунды (4.03.2011 - 15:49) linker написал(а):
Куки не резиновые.

Спустя 13 минут, 39 секунд (4.03.2011 - 16:03) m4a1fox написал(а):
linker
а жаль тогда.

Спустя 2 минуты, 38 секунд (4.03.2011 - 16:05) linker написал(а):
Да и теряются они легко, после чего можно опять голосовать хоть до бесконечности.

Спустя 5 минут, 36 секунд (4.03.2011 - 16:11) m4a1fox написал(а):
получается нельзя завязать куку к определенному id страницы.

Спустя 55 минут, 20 секунд (4.03.2011 - 17:06) m4a1fox написал(а):
А если перед тем как запускается скрипт, сделать проверку на сущ. сессии с другой страницы.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.