Нужна помощь в настройке значения cookie с помощью $ .post ()

Я запускаю скрипт, который устанавливает $ _COOKIE [‘menu_item_id’] для последнего идентификатора вставки. Я делаю это, используя jquery $ .post.

Когда отправка запроса с использованием $ .post, я не могу получить доступ к этому cookie в другой части моего приложения. Я могу получить к нему доступ только на той же странице php, где был сделан пост-запрос.

Я проверил это с помощью сессий, и это сработало хорошо, но я не использую сессии для такой простой вещи.

Почему я не могу получить доступ к значению cookie через мое приложение?

Ниже мой код.

index.php

$.post("inserNewItem.php", {menu_cat_id : cat_id }

inserNewItem.php

//Preform the insert statment. Get the last_id and assign it to the cookie value "menu_item_id"$last_id = $db->insert_id;
setcookie("menu_item_id", $last_id);index.php

//Check if the menu item id has been set after the $.post ajax has been completed

if(isset($_COOKIE['menu_item_id'])){
echo   $_COOKIE['menu_item_id'];
} else {
echo "cookie is not set"; // I keep getting this
}

0

Решение

Посмотрите на руководство SetCookie (). Вы должны передать как 4-й параметр path как root /, Тогда куки будут доступны на каждой части вашего сайта. Пример:

setcookie('YourCookie', $value, time()+3600, '/');

Не забудьте установить также время истечения. В приведенном выше примере он истекает через один час.

0

Другие решения

Других решений пока нет …