2015-09-28 80 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