【问题标题】:php session variables not updatingphp会话变量不更新
【发布时间】:2015-04-01 10:13:10
【问题描述】:

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

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

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

我想知道为什么会这样。

【问题讨论】:

  • 请向我们展示您的代码。
  • 没有任何代码,任何人都可以说是“你做得很好”:|

标签: php session reload


【解决方案1】:

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

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

【讨论】:

  • 无论如何你是对的,虽然我没有像在访问它的同一个文件中那样更新它,但问题是首先加载会话变量,如果不重新加载它我无法获得更新的值。所以我从一个 php 文件返回会话变量并通过 ajax 请求访问它,所以这对我来说很好。谢谢你,因为你给了我这样的想法,即服务器代码首先加载,在客户端我无法直接获取更新的值。
猜你喜欢
  • 1970-01-01
  • 2014-07-07
  • 1970-01-01
  • 2015-07-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-04-16
相关资源
最近更新 更多