本文将介绍cookie在session在php中的基本用法。
1、cookie
1.1、创建cookie
setcookie()函数用于设置cookie,且此函数必须位于<html>标签之前。
基本语法
setcookie(name,value,expire,path,domain);
例子
在下面的例子中,我们将创建名为 "user" 的 cookie,把为它赋值 "Alex Porter"。我们也规定了此 cookie 在一小时后过期:
<?php
setcookie("user", "Alex Porter", time()+3600);
?>
<html>
<body>
</body>
</html>
注释:在发送
cookie 时,cookie 的值会自动进行 URL 编码,在取回时进行自动解码(为防止 URL 编码,请使用 setrawcookie() 取而代之)。1.2、从cookie中取值
在下面的例子中,我们使用 isset() 函数来确认是否已设置了 cookie:
<html>
<body>
<?php
if (isset($_COOKIE["user"]))
echo "Welcome " . $_COOKIE["user"] . "!<br />";
else
echo "Welcome guest!<br />";
?>
</body>
</html>
1.3、删除cookie
将过期日期变更为过去的时间点即可删除cookie:
<?php
setcookie("user", "", time()-3600);
?>
2、session
2.1、开始session
在把用户信息存储到session中之前,首先必须启动会话。调用session_start()函数即可。
注意:session_start()函数必须位于<html>标签之前。
2.2、存取session变量
存储和取回session变量的正确方法是使用$_SESSION变量:
<?php
session_start();
// store session data
$_SESSION['views']=1;
?>
<html>
<body>
<?php
//retrieve session data
echo "Pageviews=". $_SESSION['views'];
?>
</body>
</html>
2.3、终结session
如果希望删除某些session数据,可以使用unset()和session_destroy()函数。
unset()函数用于释放指定的session变量,session_destroy()函数重置session。
<?php
unset($_SESSION['views']);
session_destroy();
?>