Setcookie没有创建cookie

时间:2016-02-16 23:00:21

标签: php cookies

我的登录似乎没有创建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登录。

任何反馈都将不胜感激。谢谢大家。

2 个答案:

答案 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