我的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.php
到image.php
的路径是{{1 }}
为什么我无法访问../assets/modules/images/showimage.php
中的会话变量?
o在其他页面上,我只能在image.php
上访问$ _SESSION变量。
答案 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