PHP Cookies
cookie 常用于识别用户。cookie 是一种服务器留在用户计算机上的小文件。每当同一台计算机通过浏览器请求页面时,这台计算机将会发送 cookie。通过 PHP,您能够创建并取回 cookie 的值。
在PHP中通过setcookie()函数创建Cookie。
在创建Cookie之前必须了解:Cookie是HTTP头标的组成部分,而头标必须在页面其它内容之前发送,它必须最先输出。如果在setcookie()函数之前输出一个HTML标记或echo语句,甚至一个空行都会导致程序出错。
<?php
setcookie("TMCookie","www.baidu.com");
setcookie("TMCookie","www.baidu.com",time()+60); // 设置Cookie有效时间为60秒
// 设置有效时间为60秒,有效目录为“/PHPCeShi/”
// 有效域名为“baidu.com”及其所有子域名
setcookie("TMCookie",$value,time()+60,"/PHPCeShi/",".baidu.com",false);
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>PHP创建Cookie示例-www.biadu.com</title>
</head>
<body>
</body>
</html>
PHP 的 $_COOKIE 变量用于取回 cookie 的值。
echo $TMCookie;
echo $CookieArray[0];
echo $_COOKIE["TMCookie"];
echo $HTTP_COOKIE_VARS["TMCookie"];
删除 cookie ,删除一个已经存在的Cookie有两种方法。
1、SetCookie("Cookie", "");
2、SetCookie("Cookie", "value" , time()-1 / time() );
//cookie 用法实例
if($_GET[‘out‘])
{ //用于注销cookies
setcookie(‘id‘,"");
setcookie(‘pass‘,"");
echo "<script>location.href=‘login.php‘</script>"; //因为cookies不是及时生效的,只有你再次刷新时才生效,所以,注销后让页面自动刷新。
}
if($_POST[‘name‘]&&$_POST[‘password‘]) //如果变量用户名和密码存在时,在下面设置cookies
{ //用于设置cookies
setcookie(‘id‘,$_POST[‘name‘],time()+3600);
setcookie(‘pass‘,$_POST[‘password‘],time()+3600);
echo "<script>location.href=‘login.php‘</script>";
//让cookies及时生效
} if($_COOKIE[‘id‘]&&$_COOKIE[‘pass‘])
{ //cookies设置成功后,用于显示cookies
echo "登录成功!<br />用户名:".$_COOKIE[‘id‘]."<br/>密码:".$_COOKIE[‘pass‘];
echo "<br />";
echo "<a href=‘login.php?out=out‘>注销cookies</a>"; //双引号内,如果再有引号,需要用单引号。
}
?>
PHP Sessions
PHP session 变量用于存储关于用户会话(session)的信息,或者更改用户会话(session)的设置。Session 变量存储单一用户的信息,并且对于应用程序中的所有页面都是可用的。
Session 的工作机制是:为每个访客创建一个唯一的 id (UID),并基于这个 UID 来存储变量。UID 存储在 cookie 中,或者通过 URL 进行传导。
//session用法实例
<?php
//session用法实例
session_start();//启动session,必须放在第一句,否则会出错。
if($_GET[‘out‘])
{
unset($_SESSION[‘id‘]);
unset($_SESSION[‘pass‘]);
}
if($_POST[‘name‘]&&$_POST[‘password‘])
{
//用于设置session
$_SESSION[‘id‘]=$_POST[‘name‘];
$_SESSION[‘pass‘]=$_POST[‘password‘];
}
if($_SESSION[‘id‘]&&$_SESSION[‘pass‘])
{
echo "登录成功!<br/>用户ID:".$_SESSION[‘id‘]."<br />用户密码:".$_SESSION[‘pass‘];
echo "<br />";
echo "<a href=‘login.php?out=out‘>注销session</a>";
}
?>