我正在建立一个网站,一些用户可以登录。我的代码创建了一个简单的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, '/');
答案 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中使用数组。