SESSION变量不通过其他站点传输

时间:2018-06-18 10:41:49

标签: php variables session session-variables

我的webapp上有两个页面,都可以使用相同的域访问。它们位于不同的文件夹中。两者都使用Sessions,但第二页无法访问会话。

我无法理解为什么......

以下是我网站的第一行:

我创建的页面创建了所有会话变量(login.php

<!DOCTYPE html>
<?php
session_start();
ini_set("display_errors", 1);
...
...

会话未传输到的页面(image.php):

<!DOCTYPE html>
<?php
session_start();
if(!isset($_SESSION['general_email']) || $_SESSION['orga_ang'] != 1) {
 echo "<meta http-equiv='refresh' content='0; URL=login.php? 
 src=account.php'>";
 die();
}
...
...

正如我所说,两个站点都可以在同一个域下访问,但我创建登录的站点位于不同的文件夹中,从login.phpimage.php的路径是{{1 }}

为什么我无法访问../assets/modules/images/showimage.php中的会话变量?

o在其他页面上,我只能在image.php上访问$ _SESSION变量。

3 个答案:

答案 0 :(得分:2)

您必须在包括doctype语句在内的任何其他输出之前调用session_start。变化

<?php
session_start();
?>
<!DOCTYPE html>

{{1}}

答案 1 :(得分:1)

在图像php

中的session_start()之前删除任何输出
<?php
   session_start();
?>
<!DOCTYPE html>
<?php
  if(!isset($_SESSION['general_email']) || $_SESSION['orga_ang'] != 1) {
  echo "<meta http-equiv='refresh' content='0; URL=login.php? src=account.php'>";
  die();
  }
  ...

答案 2 :(得分:0)

如果您不知道发生了什么,您可以使用错误报告功能。

error_reporting(1)

顺便说一句。 Twat是这个吗?

echo "<meta http-equiv='refresh' content='0; URL=login.php?src=account.php'>";

平均:

?src=account.php