为什么我不能设置cookie?

时间:2020-03-20 08:01:21

标签: php cookies session-cookies

我正在编码一个基本网站,并且我想在会话开始时设置一个名为“ color”的cookie。

为此,我使用了以下代码:

<?php 
require_once("../model/connection.php");

if (!(empty($_POST['user_email'])) and !(empty($_POST['user_password']))){

    $login = $_POST['user_email'];
    $password = $_POST['user_password'];

    $stmt = $conn->prepare('SELECT ID, color FROM Player WHERE mail = ? AND password = ?');
    $stmt->bind_param('ss',$login,$password);
    $stmt->execute();

    $stmt->store_result();

    if ($stmt->num_rows == 1) {

        session_start();
        $row = $stmt->fetch_assoc();
        $_SESSION['ID'] = $row['ID'];
        setcookie("color", $row['color'], time() + 365*24*3600) or die('unable to create cookie');

        header("Location: ../view/index.php");
    }

}
else {
    header("Location: ../view/index.php?error=false");
}

但是当我调用var_dump('$ _ COOKIE ['color']时,php返回

注意:未定义的索引:第7行/Applications/MAMP/htdocs/controller/controller_game.php中的颜色

肯定有我不了解的基本知识,对不起,我是一个初学者。

顺便说一句,我的要求很好,我对此进行了测试。

感谢您的宝贵时间。

1 个答案:

答案 0 :(得分:0)

添加最后一个参数 / ,它应该可以工作。如下

setcookie("color", $row['color'], time() + 365*24*3600, "/");

希望这会有所帮助