我正在编码一个基本网站,并且我想在会话开始时设置一个名为“ 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中的颜色
肯定有我不了解的基本知识,对不起,我是一个初学者。
顺便说一句,我的要求很好,我对此进行了测试。
感谢您的宝贵时间。
答案 0 :(得分:0)
添加最后一个参数 / ,它应该可以工作。如下
setcookie("color", $row['color'], time() + 365*24*3600, "/");
希望这会有所帮助