Cookie 基本操作
创建Cookie
setcookie ( 名称,cookie值,到日期,路径,域名,secure )
setcookie() 函数必须位于 <html> 标签之前
读取Cookie
使用 $_COOKIE 变量取回 Cookie 的值
<?php
//setcookie(名称,cookie值,到日期,路径,域名,secure)
setcookie("user","Cookie保存的值",time()+3600);
if (isset($_COOKIE["user"])){ //判断cookie是否存在
echo "Welcome ".$_COOKIE["user"]."<br/>"; //输出cookie
}else{
echo "Welcome guest!";
}
?>
<html> <!-- setcookie()函数必须位于<html>标签之前 -->
<body>
</body>
</html>
删除Cookie
1. 在浏览器中删除
在浏览器页面中选择【工具】选项,下拉单中选择【Internet 选项】
打开【Internet 选项】,在【常规】选项卡中单机【删除】按钮
返回【Internet 选项】对话框,单机【确定】即可完成删除
2.使用代码删除
将要删除的 cookie 的 value值 设为空,过期时间小于当前时间
<?php
setcookie("user","Cookie保存的值",time()+3600);
echo $_COOKIE["user"]; //输出cookie
//用代码删除cookie
setcookie("user","",time()-1); //将要删除的cookie的value值设为空,过期时间小于当前时间
认识 Session
Cookie 与 Session
使用 Session 可以不需要手动设置 Cookie,可使用 PHP 中的 session_get_cookie_params() 函数来访问Cookie的内容。这个函数将返回一个数组。它的格式为:session_get_cookie_params ( 生存周期,路径,域名,secure )
在 Cookie 或 URL 中储存 Session ID
如果在 php.ini 中的 session.use_trans_sid 设置为启用的状态,就可以自动通过 URL 方式传递 Session ID
会话管理
创建会话
1.PHP 自动创建:在 php.ini 中设定 session.auto_start 为启用。使用时应定义此对象的类,必须在创建会话之前加载。
2.使用 session_start() 函数:此函数首先检查当前是否存在一个会话。不存在则创建一个全新的会话,并且此会话可以访问 $_SESSION 数组。存在则直接使用这个会话,加载已经注册过的会话变量,然后使用。
bool session_start(void); //session_start()函数必须位于<html>标签之前
<?php
session_start();
?>
<html>
<body>
</body>
</html>
3.使用 session_register() 函数:使用 session_register() 之前,需要在 php.ini 文件中将 register_globals 设置为 no ,然后需要重启服务器。session_register() 函数通过为会话登录一个变量来隐含地启动会话。
注册会话变量
会话变量被启动后,全部保存在数组 $_SESSION 中,可通过对其赋值来注册会话变量。
<?php
session_start(); //启动Session
$_SESSION["name"] = "hello"; //声明一个名为的变量,并赋值"hello"
此会话变量的值会在此会话结束或被注销后失效。
使用会话变量
使用会话变量,首先要判断会话变量是否存在一个会话 ID 。如果不存在,则要创建一个,并且能够通过 $_SESSION 变量进行访问。如果存在,则将这个已经注册的会员变量载入以供用户使用。
在访问 $_SESSION 数组时,先使用 isset() 或 empty() 来确定 $_SESSION 中会话变量是否为空。
<?php
session_start();
$_SESSION["views"] = 1; //储存会话变量的值
?>
<html>
<body>
<?php
echo "浏览量=".$_SESSION["views"]; //读取会话变量的值
?>
</body>
</html>
<!-- 运行结果:
浏览量=1
-->
注册和销毁会话变量
销毁会话变量使用 unset () 函数即可,如 unset ( $_SESSION [ 'name' ] )。unset 函数用于释放指定的 session 变量。
<?php
unset($_SESSION['views']);
如果注销所有会话变量,只需向 $_SESSION 赋值一个空数组就可以了,如 $_SESSION = array () 。注销完成后,使用 session_unset () 销毁会话即可,即清除相应的 ID 。
<?php
session_destroy();