将$ _SESSION保存在jquery ui标签中,这实际上是可行的吗?

时间:2015-07-29 14:48:20

标签: php jquery-ui session

所以我现在已经尝试解决这个问题很长一段时间了,而且我已经结束了。

因此,在我正在处理的Web应用程序中,基本思想是用户登录,然后在$ _SESSION中创建会话。我可以通过print_r($_SESSION)在索引页面上看到它的内容。

索引是一些jQuery UI选项卡,这些选项卡链接到某些子目录,如content/index.phpaction/index.php在这些选项卡中,尝试上述打印语句根本不返回任何内容。它根本无法看到会话。

在索引上,我有一个名为sec_session_start()的函数已被使用,我认为这可能是一个问题。代码是这样的:

function sec_session_start() {
  $session_name = 'sample';   // Set a custom session name
  $secure = SECURE;
  // This stops JavaScript being able to access the session id.
  $httponly = true;
  // Forces sessions to only use cookies.
  if (ini_set('session.use_only_cookies', 1) === FALSE) {
   header("Location: ../error.php?err=Could not initiate a safe session (ini_set)");
   exit();
  }
  // Gets current cookies params.
  $cookieParams = session_get_cookie_params();
  session_set_cookie_params($cookieParams["lifetime"],
   $cookieParams["path"],
   $cookieParams["domain"],
   $secure,
   $httponly
  );
  // Sets the session name to the one set above.
  session_name($session_name);
  session_start();            // Start the PHP session
  session_regenerate_id();    // regenerated the session, delete the old one.
 }

考虑到这一点,我唯一能想到的是session.use_only_cookies的INI设置就是问题所在。这可能阻止我访问标签内的会话吗?我继承了这一点,并且不知道为什么它不让我访问会话。

编辑1:

的index.php:

<?php
  print_r($_SESSION); //prints everything
?>

通过标签通过ajax调用检索action / index.php或content / index.php:

<?php
  print_r($_SESSION); //returns nothing.
?>

编辑2:

我想出了这个问题。事实证明,会话存储在cookie中并加密。通过session_name();访问它然后在每个页面上启动会话,我可以看到变量。

0 个答案:

没有答案