如何在开始时设置一次PHP会话

时间:2015-05-27 12:56:59

标签: php session

我当前的PHP / MySQL应用程序存在问题。

我正在使用生成PHP代码的第三方软件,我正在使用“Dropbox”风格的插件,这在原理上很有用,但我遇到的问题是原始代码假定用户将使用软件附带的标准登录表单登录。这对我有影响,因为有一个事件页面允许您每页添加自定义事件;在这种情况下,由于我使用SSO通过Joomla登录并显示为iframe,因此绕过了“成功登录后”的事件。

因此,被绕过的代码是$_SESSION["current_folder"],用于过滤用户看到的设置其根文件夹的文件/文件夹列表。然后在创建子文件夹et(每个文件夹都有idparent_id等等时会被覆盖,父ID的会话由$_SESSION["current_folder"]给出。

所以最初$_SESSION["current_folder"]必须为0,然后在用户浏览时更新。

我遇到的问题是我可以在全局事件页面上添加代码的唯一其他地方(每次加载任何页面时都会运行),所以这会让我进入查看文件列表,如果我使用{{1放置在根文件夹中创建的每个子文件夹会产生令人遗憾的效果,因为它会将正确的会话覆盖为0。

在全局事件页面上,我添加了$_SESSION["current_folder"] = 0,基本上是include_once('docsetting.php'),但这也不起作用。

有没有办法在启动时使用全局事件设置$_SESSION["current_folder"] = 0,类似于我错过的$_SESSION["current_folder"] = 0

1 个答案:

答案 0 :(得分:0)

   if ($_SESSION["current_folder"]) $_SESSION["current_folder"] =
   $_SESSION["current_folder"]; else $_SESSION["current_folder"]=0;