Не правильно считает count COOKIE
При отправке ajax запроса, и добавления значений в массив $_COOKIE не правильно считает кол-во элементов в массиве: count($_COOKIE['favorite']), но при этом если использовать тот же механизм, только на сессиях: count($_SESSION['favorite']) - то все считает правильно. Т.е., если без обновления страницы, то показывает при первом добавлении - 0, после обновления страницы - все нормально считает. Как решить проблему кто знает? html
<a href="javascript:void(0);" data-id="14280" class="favorite">Добавить в избранное</a>
<a href="javascript:void(0);" data-id="14281" class="favorite">Добавить в избранное</a>
<a href="javascript:void(0);" data-id="14282" class="favorite">Добавить в избранное</a>
<a href="javascript:void(0);" data-id="14283" class="favorite">Добавить в избранное</a>
<a href="javascript:void(0);" data-id="14284" class="favorite">Добавить в избранное</a>
<div class="result-favorite"></div>
js
$(document).ready(function() {
$('.favorite').on('click', function(){
let favorite_id = $(this).attr('data-id');
$.ajax({
url: '/actions.php',
type: 'POST',
data: {favorite_id: favorite_id},
success: function(data) {
console.log(data)
$('.result-favorite').html(data);
}
});
});
});
php
if(isset($_POST['favorite_id'])){
$id = $_POST['favorite_id'];
setcookie('favorite['.$id.']', $id, strtotime('+30 days'), '/');
echo count($_COOKIE['favorite']);
die;
}
Добавлено: По ссылке указанной Ипатьев, я попробовал сделать так:
setcookie('favorite['.$id.']', $id, strtotime('+30 days'), '/');
$_COOKIE['favorite'] = $id;
Но при этом count($_COOKIE['favorite']) теперь всегда показывает 1...