我有我的代码,以便用户指定他们的IGN(游戏名称),然后将其存储在cookie中。它不会起作用。
<form action="index.php" method="GET">
Minecraft IGN:
<input type="text" name="ign">
<input type="submit" value="Submit">
</form>
<?PHP
error_reporting(0);
$player = $_GET["ign"];
$exp = time()+86400;
setcookie("ign", $player, $exp, "/", "", "");
if (isset($player)) {
echo "Your Minecraft Ingame Name Was Set To $player!";
}
?>
<br>
<?PHP
if (isset($player)) {
echo '<p>Click <a href="http://gophobia.com/phpsend/">Here</a> To Redeem Ur Prizes :3</p>';
}
echo '<br />';
print_r($_COOKIE);
?>
答案 0 :(得分:2)
这是一个非常常见的错误,但很容易解决。
这直接来自手册,但表示它比我更好:
setcookie()定义了一个与其余部分一起发送的cookie HTTP标头。与其他标头一样,Cookie必须先发送 脚本输出(这是协议限制)。这个 要求您在输出之前调用此函数, 包括
<html>
和<head>
标记以及任何空格。
http://php.net/manual/en/function.setcookie.php
关键是必须在任何输出之前调用它。
答案 1 :(得分:1)
您的代码可能运行良好。该脚本在页面加载时设置cookie。但是你必须再次页面加载以检索值,因为设置cookie和检索它的值都不能在单个实例中工作。