我正在运行一个脚本,将$ _COOKIE [' menu_item_id']设置为最后一个插入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 :(得分:0)
查看setcookie()的手册。您必须以root /
作为第4个参数路径传递。然后,您的网站的每个部分都可以访问Cookie。例如:
setcookie('YourCookie', $value, time()+3600, '/');
请记住设置过期时间。在上面的示例中,它会在一小时后过期。