cookie常用于识别用户,它是服务器留在用户计算机中的小文件,每当相同的计算机通过浏览器请求页面时,它同时会发送cookie。通过PHP能够创建并取回cookie值。
创建cookie:
使用setcookie()函数设置cookie,该函数必须位于<html>标签之前。
语法:
setcookie(name, value, expire, path, domain);
实例:
创建一个名为user,值为Putao Stanway,且一小时后就会过期的cookie:
<?php
/*
*参数1:cookie名
*参数2:cookie值
*参数3:cookie过期时间
*/
setcookie("user", "Putao Stanway", time()+3600);
?>
<html>
<body>
</body>
</html>
注释:在发送cookie时,cookie值会自动进行URL编码,在取回时会进行自动解码,为防止URL编码,可使用setrawcookie()。
取回cookie:
PHP的$_COOKIE变量用于取回cookie值,下面实例中,取回名为user的cookie值,并把它显示在页面上:
<!--<?php
/*
*参数1:cookie名
*参数2:cookie值
*参数3:cookie过期时间
*/
#setcookie("user", "Putao Stanway", time()+3600);
?>
-->
<html>
<body>
<?php
if (isset($_COOKIE["user"]))
echo "Welcome " . $_COOKIE["user"] . "!<br />";
else
echo "Welcome guest!<br />";
?>
</body>
</html>
如下:
删除cookie:
当要删除cookie时,将过期日期变更为过去的时间点即可。
实例:
<?php
/*
*参数1:cookie名
*参数2:cookie值
*参数3:cookie过期时间
*/
setcookie("user", "Putao Stanway", time()-3600);
?>
<html>
<body>
</body>
</html>
再运行一下获取cookie代码,则输出如下:
若浏览器不支持cookie,则可从表单传递数据,下面实例中的表单在用户单击提交按钮时向welcome.php提交用户输入:
<!--
<?php
/*
*参数1:cookie名
*参数2:cookie值
*参数3:cookie过期时间
*/
setcookie("user", "Putao Stanway", time()-3600);
?>
-->
<html>
<body>
<form action="welcome.php" method="post">
Name: <input type="text" name="name" />
Age: <input type="text" name="age" />
<input type="submit" />
</form>
</body>
</html>
welcome.php:
<html>
<body>
Welcome <?php echo $_POST["name"]; ?>.<br />
You are <?php echo $_POST["age"]; ?> years old.
</body>
</html>
如下:
点击提交后返回数据:
参考地址