Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вопрос по Cookies, как организовать проверку... 
:(
    Опции темы
Гость_Dima
Дата 29.2.2004, 19:45 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Хочу поставить проверку на Cookies для защиты от повторных голосований на каждой статье. Т.е. пользователь может давать оценки всем статьям, кроме тех по которым он уже голосовал. Я так понял нужно использовать Cookies в виде массива:
Код

if (isset($_COOKIE['cookie'])) {

foreach ($_COOKIE['cookie'] as $name => $value) {
 if (in_array("$id", $_COOKIE['cookie'])) {
 echo "Вы уже оценили эту статью";
 exit;
}
}

}

setcookie("cookie[$id]", "id", time()+3600);

// ниже идет скрипт подсчета и записи рейтинга в БД

где $id - уникальный идентификатор каждой статьи
Но такая проверка не получается - голос засчитываеться всегда, и в том числе, если уже голосовал.

Что тут неправильно?
  Вверх
IZ@TOP
Дата 29.2.2004, 20:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: 44
Всего: 73



Не буду разбираться, а приведу код как бы я это решил.

Цитата


if(isset($_POST['vote_action'])) {
    $id = $article_id; // Берем идентификатор статьи.
    if(!isset($_COOKIE['article_voted'][$id])) { // Если нет индекса с таким id то заносим делаем следующее
        setcookie("article_voted[{$id}]", true); // Записываем новый индекс к article_voted и ставим ему любое значение.
        // А тут пишем в базу что за эту статью проголосовали.
        ...
    } else {
        die("Вы уже голосовали"); // Если есть такой индекс у массива значит голосовал тип.
    }
}



--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0636 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.