<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'].'");