2015-01-26 127 views
0

以下是我的測試文件。這是他們包含的全部內容。php setcookie不起作用

文件test.php的:

<?php  
setcookie("test", "test", time() + 3600); 
header("Location:test2.php"); 

文件test2.php:

<?php 
if(!isset($_COOKIE['test'])) { 
    echo 'cookie not set'; 
} else { 
    echo 'cookie set'; 
} 

當我嘗試顯示test.php的頁面我的 「cookie未設置」。 這是推動我瘋了......

這裏是我檢查迄今:

  • 我與Safari /鉻/ Firefox的測試,
  • 我的瀏覽器接受cookies,
  • ,你可以在我的例子中看到在調用setcookie函數之前沒有輸出發送到瀏覽器,
  • 當顯示setcookie函數的結果時,我得到了真,
  • 它在我的本地計算機上工作,但不是在我的服務器上,

最後一點讓我相信服務器配置有問題嗎?我在一個共享主機服務器上,所以我無法做到這一點。

+0

你可以看看你的開發者工具資源標籤,看看是否有cookie存在嗎? – Darren 2015-01-26 23:10:35

+1

在打開'<?php'標記後立即向文件頂部添加錯誤報告 'error_reporting(E_ALL); ini_set('display_errors',1);'看看它是否產生任何東西。 – 2015-01-26 23:13:06

+0

@ Fred-ii-我添加了'error_reporting(E_ALL); ini_set('display_errors',1);'在這兩個文件中。沒有錯誤發生。 @Darren也沒有在開發者工具中設置cookie。 – PGBI 2015-01-26 23:16:56

回答

0

最後,我嘗試通過VPN訪問位於法國的IP地址(我的主機是法國的OVH,我住在美國)的測試頁面。 Cookies正在工作。

我想OVH會在他們的CDN的某個地方混亂,或者我不知道是什麼。我會直接與他們覈對。