Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 会话变量过期_Php_Session Variables_Session State_Session Timeout_Sessionid - Fatal编程技术网

Php 会话变量过期

Php 会话变量过期,php,session-variables,session-state,session-timeout,sessionid,Php,Session Variables,Session State,Session Timeout,Sessionid,我有一个购物车应用程序,使用一个临时MySQL表来存储购物车内容。购物车表的每一行都保存了会话值,以唯一标识该行。我使用以下方法设置初始值: $session_id = session_id(); $_SESSION["total_cart_products"] = $cart_total_products['total_cart_products']; 每次用户向购物车添加项目时,我都会运行一个查询来计算购物车中的产品数量,并使用以下方法保存该值: $session_id = sessio

我有一个购物车应用程序,使用一个临时MySQL表来存储购物车内容。购物车表的每一行都保存了会话值,以唯一标识该行。我使用以下方法设置初始值:

$session_id = session_id();
$_SESSION["total_cart_products"] = $cart_total_products['total_cart_products'];
每次用户向购物车添加项目时,我都会运行一个查询来计算购物车中的产品数量,并使用以下方法保存该值:

$session_id = session_id();
$_SESSION["total_cart_products"] = $cart_total_products['total_cart_products'];
在web站点上,通过传递$session_id文件并拉取结果来查询购物车表,每次加载购物车页面时都会生成购物车页面。我在标题中显示了购物车产品总数,因此用户总是知道他们的购物车中有多少商品

这一切都很好,除了总购物车产品会话在$session\u id之前过期。因为购物车页面仍然可以工作,即使总购物车产品会话已过期,并且在标题中显示0

我认为两次会议将同时结束,但事实并非如此。这一切让我错过了什么

谢谢


Brett

我从未找到我的问题的答案-为什么我的会话变量出现超时而主会话没有超时


我切换到使用cookies,并在成功结账时删除cookie。

几乎所有购物网站都使用cookies。尽管饼干名声很好,但它们非常实用。然而,在欧洲,新的法律规定,只有在用户同意的情况下才能使用它们。很可能,购物车页面在会话过期后仍然有效,因为您正在使用会话过期后仍然存在的
$session\u id
进行查询。您有权访问php.ini吗?如果是,请检查您的会话过期时间。感谢您的快速回复。阿龙,每次加载/更新购物车页面时,我都会请求$session\u id。那一节课怎么还活着,而另一节课却没有?也许曲奇饼是一条路要走,但我仍然想了解会话发生了什么,我做错了什么。