[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Cookie обновляются не сразу
BlackGhost
Проблема следующая. На сайте есть статьи, каждую статью можно оценить ссылкой следующего вида:
<a href="?ocenka=2&id=<?php echo $row_anekdots['id']; ?>&topic=<?php echo $_GET['topic']?>">3 </a>-


В самом начале страницы добавляем id статьи в cookie, если посетитель уже оценил ее:

if (isset($_GET['ocenka'])){  // Заносим в куки id анекдота, который уже оценен
$num=count($_COOKIE['id']);
setcookie("id[$num]", $_GET['id'],time()+180,'/');


}

Далее выявляем оцененные статьи:
if (isset($_GET['ocenka']) && isset($_COOKIE['id'])){
foreach ($_COOKIE['id'] as $name => $value) {
if ($value==$row_post['id']){
$ocenil=true;
break;
}
}
}


?>

<?php
if ($ocenil==true) { // Показываем, если статья уже оценена>
Спасибо, статья оценена.
<?php } ?>


В принципе это все работает, но cookie обновляются не сразу. Когда я нажимаю на ссылку с оценкой, стать оценивается, но надписи, что она оценена не появляется. Как только я обновляю страницу - все ок. Эта такая особенность cookie? Как с этим справиться?



Спустя 23 минуты, 37 секунд (28.08.2012 - 21:57) Shkiper написал(а):
Скажи мне что такое куки и как они работают???? Я сам с такой проблемой сталкивался и решил ее. В самом начале, когда мы сохраняем куки, мы посылаем HTTP заголовок и сохраняем куки. А доступ к кукам через $_COOKIE будет достпен после рефреша, т.к. эта функция должна получить данные которые сохранены.

Спустя 50 минут, 42 секунды (28.08.2012 - 22:47) Guest написал(а):
Спасибо, разобрался.
Использовал следующую строчку

echo '<script> window.location.replace("http://myurl/index.php?topic='.$_GET['topic'].'")</script>'; //обновление страницы для обновления cookie

Спустя 3 минуты, 2 секунды (28.08.2012 - 22:50) Shkiper написал(а):
Guestа что тебе мешает использовать header("Location: http://myurl/index.php?topic='.$_GET['topic'].'");
Быстрый ответ:

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