注销后没有设置php cookie

时间:2014-12-20 04:09:33

标签: php cookies login

我正在建立一个网站,一些用户可以登录。我的代码创建了一个简单的cookie。之前我的代码正在运行并创建一个cookie并允许用户登录。但是,在我创建了一个注销按钮并使用它之后,我似乎无法再次创建一个cookie(我的网站无法识别当我检查时,一个cookie并且没有cookie显示在chrome中。我已经查看了有关创建cookie但无法创建cookie的所有其他主题,但我无法弄清楚出了什么问题。

以下是我创建Cookie的代码:

$userStuff = array('name' => $username,'password' => $password);
$date_of_expiry = time() + 60 * 60 * 24 * 1 ;
setcookie( "user", $userStuff, $date_of_expiry, "/" ) ;

我知道安全性非常宽松,我不应该将密码直接存储在cookie中,但我想先处理其他事情。此代码在任何html之前。

这是我的代码,我在其中更改了cookie的过期日期以便注销:

setcookie('user', $userStuff, time() - 3600, '/');

3 个答案:

答案 0 :(得分:0)

你好吗?

如果要删除Cookie,则应该过去一个日期,例如:

setcookie('user', $userStaff, time() - 3600, '/');

问候。

答案 1 :(得分:0)

我知道这有点偏僻,但为什么不使用$_SESSION?它在您的客户端浏览器中存储带有会话令牌的cookie(当您运行session_start时),并且大多数数据存储在服务器端,这样更安全。对于用户身份验证数据和令牌,这可能是更好的选择。

示例:

//First thing init the session
session_start(); 

$_SESSION['username'] = $username;
$_SESSION['password'] = $password;

//Or retreive the data...

$username = $_SESSION['username'];

//Later when you want to log out just destroy the session:
session_destroy();  

答案 2 :(得分:0)

我发现了错误。显然,你要么不能在cookie中使用数组,要么就是不允许我这次在我的cookie中使用数组。