我正在开发一个项目,我正面临会话问题会话创建,但当我重定向到另一个页面时它不会出现在下一页。如果我在我的另一台服务器上使用相同的代码,那么它工作正常。我无法找到它的解决方案。我也在这个项目中使用VPN服务器。我把我的代码放在
之下info.php的
session_start();
$array = [5,6,7,8,9];
$_SESSION['mySession'] = $array;
//print_r($_SESSION); //works fine here
exit(header('location:index_2.php'));
index_2.php
session_start();
print_r($_SESSION);//getting blank array
我正在使用PHP版本7.0.21RC1(根据phpinfo())
答案 0 :(得分:0)
试试这个:
header('location:index_2.php');
exit();
header()
来电不是exit()
的参数,请参阅exit和header手册页。
您已经说过setcookie()
无效,这是您问题的根源 - 会话ID是通过Cookie发送的,除非您更改配置并将其传递到网址中。您可以使用
// the constant SID is the current session name and id formatted as a string suitable for URLs
header('Location: index_2.php?'.SID);
在您的第一页上,
session_id($_GET[session_name()]); // usually == $_GET['PHPSESSID']
session_start(); // do this *after* setting the session ID as above
在你的第二页。
搜索 php setcookie not working
,您会看到很多结果。 setcookie()
无效的最常见原因是在setcookie()
调用之前发送到浏览器的内容。您的搜索将有很多关于如何处理此问题的提示。