php会话变量未更新

php会话变量未更新,php,session,reload,Php,Session,Reload,我有一个php会话变量,我在一个页面中更新它,并在不同的页面中访问它,当变量达到阈值时,我将其重置为零,并根据上载的文件数递增 问题是,当我重置并重新加载页面时,当它达到阈值后,我访问的文件会话变量未更新,尽管文件已上载,但显示为零 但实际上,会话变量在另一个页面中递增。它仅在重新加载两次后显示实际值(增加的值) 我想知道为什么会发生这种情况。首先,为您的问题显示代码是至关重要的,但对于这个问题,问题是您在更新变量的文件中使用了会话变量。会话先于页面中的任何内容加载,因此,当您更新会话时,它们已

我有一个php会话变量,我在一个页面中更新它,并在不同的页面中访问它,当变量达到阈值时,我将其重置为零,并根据上载的文件数递增

问题是,当我重置并重新加载页面时,当它达到阈值后,我访问的文件会话变量未更新,尽管文件已上载,但显示为零

但实际上,会话变量在另一个页面中递增。它仅在重新加载两次后显示实际值(增加的值)


我想知道为什么会发生这种情况。

首先,为您的问题显示代码是至关重要的,但对于这个问题,问题是您在更新变量的文件中使用了
会话
变量。会话先于页面中的任何内容加载,因此,当您更新会话时,它们已经加载,尽管它们已更改,但它们的值在当前页面中仍然相同。
为了防止出现这种情况,您需要在更新会话后转到另一个页面,或者在会话更改语句后放置重定向(如果需要保持在同一地址),如下所示:

<?php
if(threshold){
$_SESSION['your_session']='your new value';
header('LOCATION sample.php');
}
?>


请向我们展示您的代码。如果没有任何代码,任何人都可以说是“你在做什么”:|无论如何,你是对的,尽管我没有像访问它的同一个文件那样更新它,但问题是会话变量是先加载的,如果不重新加载它,我无法获得更新的值。所以我从一个php文件返回了会话变量,并通过ajax请求访问它,所以这对我来说很好。谢谢你,因为你给了我一个想法,服务器代码首先加载,而在客户端,我无法直接获得更新的值。