2011-11-27 128 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();