【发布时间】:2016-12-17 18:36:30
【问题描述】:
<html>
<head>
<meta charset="UTF-8">
<title> Cookies </title>
</head>
<body>
<h1> Cookies Concept </h1>
<form method="get" action="index.php">
Enter Your Name: <input type="text" name="name">
<input type="submit" name="done">
</form>
</body>
</html>
<?php
if(!empty($_GET['name']))
{
if(empty($_COOKIE['name']))
{
setcookie('name',$_GET['name']."<br",time()+86400);
}
else
{
setcookie('name',$_GET['name'].<br>".$_COOKIE['name'],time()+86400);
}
}
if(isset($_COOKIE['name']))
{
echo $_COOKIE['name'];
}
else
{
echo "Cookie cannot be set";
}
?>
我想打印最后输入的十个名字。我不知道该怎么做,请帮助我?
【问题讨论】:
-
你不能。除非您也将它们存储在其他地方,否则不会。 Cookie 存储在用户的计算机上,而不是服务器上。您不可能同时访问最后 10 个 cookie,或者如果您这样做(即,如果有超过 10 个并发用户,那么提取他们所有的 cookie、编造它并在一个上显示它会很麻烦网站(您必须为所有页面上的所有用户提取 cookie 并过滤掉最后 10 个)。忘掉它,找到另一种方法来做你想做的事。
-
正是@junkfoodjunkie 所说的。另外我想补充一点,任何人都可以轻松地操纵
$_COOKIE函数设置的cookie。因此,如果您真的想使用$_COOKIE而不是会话,请确保您还设置了允许的路径、域和 HttpOnly 参数。