0

我正在编写一个基本网站,我想在会话开始时设置一个名为“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 中的颜色

当然有一个基本的东西我不明白,对不起我是初学者。

顺便说一句,我的要求很好,我测试过了。

谢谢你的时间。

4

1 回答 1

0

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

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

希望这可以帮助

于 2020-03-20T09:13:58.997 回答