2011-11-27 126 views
3

我有一个表单和支付网关,我用于商业网站。要处理付款,信息会发送到我的商家提供商的网关URL(离开我的网站/服务器),然后重定向到我的网站。如果您愿意,可以到收据页面。PHP会话问题与SAFARI

那么,在我到目前为止测试过的所有其他浏览器(IE6-9,FF,Chrome)上,一切都很好。使用Safari,所有会话变量都会变回空。

我测试了会话ID本身,它在整个网站都是一样的,永远不会改变。即使回到收据页面,它仍然保持不变。我有在页面的最开始是这样的:

header('P3P: CP="IDC DSP COR CURa ADMa OUR IND PHY ONL COM STA"'); 
    session_start(); 

我发现的地方,说是header()电话可以解决的问题,但它不是!你有什么建议如何解决这个小问题?我完全被难住了。

+2

您是否尝试过检查您的Safari浏览器,看它是否能够接受Cookie?如果您尝试通过URL设置会话标识符会发生什么?这仍然有效吗? – F21

+0

请参阅http://stackoverflow.com/q/486569/367456 – hakre

+0

可能重复[PHP会话在Safari中的其他页面调用时为空](http://stackoverflow.com/questions/2733841/php-session- is-null-when-called-in-other-page-in-safari) – hakre

回答

1

即使我有同样的问题,在出发前会议行之有效的IE也如下头

<?php 
    // sort out ie with the below header 
    header('P3P:CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"'); 
    session_start(); 
    $_SESSION = array();