Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 会话不';重定向后无法工作_Php_Session_Redirect_Header - Fatal编程技术网

Php 会话不';重定向后无法工作

Php 会话不';重定向后无法工作,php,session,redirect,header,Php,Session,Redirect,Header,我的代码如下所示: ... $_SESSION['message']="something"; header('location:http://url/somewhere'); exit; 正如你所看到的,我在它的尽头有一个出口。这就是问题所在。虽然我在那里有出口,但它不起作用 我只有在本地主机上才有此问题。在在线服务器上,它运行良好。在错误日志中,它只显示“未定义的索引消息”。几天前,我安装了新的Apache2.4和PHP5.4 不要忘记在要使用的每个页面上启动会话: if(!isset(

我的代码如下所示:

...
$_SESSION['message']="something";
header('location:http://url/somewhere');
exit;
正如你所看到的,我在它的尽头有一个出口。这就是问题所在。虽然我在那里有出口,但它不起作用


我只有在本地主机上才有此问题。在在线服务器上,它运行良好。在错误日志中,它只显示“未定义的索引消息”。几天前,我安装了新的Apache2.4和PHP5.4

不要忘记在要使用的每个页面上启动会话:

 if(!isset($_SESSION)){
    session_start();
 }

请确保在处理任何类型会话数据的每个页面的开头添加“session_start();”。另一件需要检查的事情是确保会话变量设置正确。另外,使用标题重定向时,请确保文档开头没有空格

不,这不是我的问题,也不能解决我的问题。我没有忘记编写session_start()或在header()之前发送一个空格。然后我建议您提供更多信息,因为您告诉我们的内容并不能告诉我们您的问题可能是什么。此问题通常是由于缺少exit()或die()命令引起的。但我有你可以看到的。在在线服务器上它可以工作。只有在我的localhost-php5.4apache2.4winxpsp3上,它丢失了会话变量。Apache log write only—“未定义索引”用于任何$\u会话['vars']。作为一般规则,使用Exit和Die()是不好的做法。您应该使用逻辑来确保在不使用这些调用的情况下不会执行代码。我的最后一个猜测是,既然你在你的电脑上使用的是上传你的代码到一个网络主机,看看你是否可以重现这个问题。这将告诉您问题是本地配置或版本问题,还是代码问题。