2015-09-28 79 views
0

我正在嘗試設置Cookie如下: -設置cookie不會工作

//generate secure token 
function Generate() 
{ 
    $temp = md5(uniqid(rand(), TRUE)); 
    return $temp . md5(md5(uniqid(rand(), TRUE))); 
} 

function Set($name, $value, $expire) 
{ 
    $domain = isset($_SERVER["HTTPS"]) ? "https://" : "http://"; 
    $domain .= $_SERVER["HTTP_HOST"]; 
    setcookie($name, $value, $expire, '/', $domain, isset($_SERVER["HTTPS"]), true); 
} 

然後我打電話吧: -

$_SESSION['token']=Generate(); 
Set("token", $_SESSION['token'], time() + 60 * 60 * 24 * 7); 

我的會議被設定,但是該cookie不,我看不到是什麼原因引起的問題!

+0

確保您的Cookie應在任何輸出開始前設置 – ManiMuthuPandi

+0

上午100%確定我不輸出任何東西!在它之前 – Abanoub

+1

如果'public function Set()'是一個類方法,那麼對'Set()'的調用應該像'$ cookie-> Set(...)' –

回答

0

讓你的函數類似這樣的

 function Set($name, $value, $expire) 
     { 
    //  $domain = isset($_SERVER["HTTPS"]) ? "https://" : "http://"; 
//host name should be with out http 
      $domain = $_SERVER["HTTP_HOST"]; 
      setcookie($name,$value,$expire,"/",$domain, isset($_SERVER["HTTPS"]), true); 
     } 

,並參照文檔php cookie

希望它會幫助你。

+0

同樣的問題沒有改變! – Abanoub

+0

上面的代碼在我的瀏覽器中設置了cookie。我可以看到螢火蟲。 – ManiMuthuPandi