我的登录似乎没有创建cookie。表单一直到脚本的cookie创建部分,甚至回显了一个cookie,但实际上并没有创建一个。
以下是我的代码的Cookie部分:
if (!$error) {
if (isset($_POST['rememberme'])) {
setcookie('guruemail', $loginemail, time() + 86400 * 365, '/', NULL);
setcookie('gurupassword', md5($loginpassword), time() + 86400 * 365, '/', NULL);
echo "Long-term cookie made";
} else {
setcookie('guruemail', $loginemail, false, '/', NULL);
setcookie('gurupassword', md5($loginpassword), false, '/', NULL);
echo "Short-term cookie made";
}
}
可以在http://protein.guru/signin.phtml
访问该登录信息可以在http://protein.guru/testcookie.php
查看Cookie测试这是cookietest代码:
<?php
echo "Value is: " . $_COOKIE[$guruemail];
echo "Value is: " . $_COOKIE[$gurupassword];
?>
登录:
我正在使用电子邮件:tester3651@outlook.com
密码是:肉饼
注意:可能是新手的错误? - 我没有session_start();任何代码中的任何地方不确定我是否需要直接cookie登录。
任何反馈都将不胜感激。谢谢大家。
答案 0 :(得分:4)
如评论中所述: 使用字符串而不是变量访问$ _COOKIE数组。
<?php
echo "Value is: " . $_COOKIE['guruemail'];
echo "Value is: " . $_COOKIE['gurupassword'];
?>
答案 1 :(得分:1)
你需要围绕cookie变量引用
<?php
echo "Value is: " . $_COOKIE['guruemail'];
echo "Value is: " . $_COOKIE['gurupassword'];
?>
实际上,使用$_SESSION
代替用户登录会更安全,因为用户可以手动设置$_COOKIE
。
以下答案的更多详情:Making login more secure