在IE中,会话工作,但在Firefox中,它总是返回空值。
我在index.php中设置了$ _SESSION ['apple'] ='1'
执行允许用户使用filereference
浏览图像文件以上传到服务器的Flex 4 / Flash应用程序(此应用程序是图像上传程序)时,该文件将传递给second.php进行验证是否是图像。
在second.php本身,我有一个函数,需要检索在index.php中设置的$ _SESSION ['apple']值,它总是在Firefox和Chrome中返回空字符串但在IE9上工作。
有没有人在Firefox和Chrome上遇到与$ _SESSION相同的问题?
如何确保second.php可以检索$ _SESSION?
答案 0 :(得分:1)
请参阅corresponding bug and workaround。
你可以找到许多同样问题的其他错误:
答案 1 :(得分:1)
像Flash / Flex这样的Adobe产品不会将浏览器cookie传递回IE以外的其他浏览器中的服务器。对于来自flash的每个请求,您都需要自己将会话ID传递回服务器。
在PHP中,您可以使用以下代码启用会话:
if (isset($_GET['session_id'])) session_id($_GET['session_id']);
session_start();
如果它无法解决并且您安装了suhosin / hardenet补丁,则可能必须关闭session_cookie加密。 (不记得确切的选项 - 我的一个corworks曾经遇到过这样的问题)
答案 2 :(得分:0)
当PHP在服务器上运行时,它不太可能是浏览器的结果。最常见的问题是:您是否在所有使用session_start()
的php文件中使用$_session
?
答案 3 :(得分:0)
尝试使用AMFPHP,它将帮助您使用PHP + Flex进行开发。