hello! 各位铁铁们大家好啊,今天给大家带来的是PHP会话技术之一cookie?
⛳️会话技术跟踪和记录用户作为我们维护网站和记录密码的一种技术,主要有俩种cookie和Session。那么面向浏览器端的cookie你会使用吗!
⛺️ 欢迎铁汁们 ✔️ 点赞 收藏 ⭐留言 !
会话技术:是一种维护同一个浏览器与服务器之间多次请求数据状态的技术,它可以很容易地实现对用户登录的支持,记录该用户的行为,并根据授权级别和个人喜好显示相应的内容。
- 例如,生活中从拨通电话到挂断电话之间一连串你问我答的过程就是一个会话。Web应用中的会话过程类似于打电话,它指的是一个客户端(浏览器)与Web服务器之间连续发生的一系列请求和响应过程。
PHP中Cookie和Session是目前最常用的两种会话技术。
Cookie
指的是一种在 浏览器端 存储数据并以此来跟踪和识别用户的机制;
Session
指的是将信息存放在 服务器端 的会话技术。
在Web应用程序中,Cookie
的功能:
尽管Cookie实现了服务器与浏览器的信息交互,但也存在一些缺点,具体如下:
bool setcookie (
string $name , // Cookie的名(必选)
string $value = "" , // Cookie的值(可选)
int $expire = 0 , // Cookie的有效期(可选)
string $path = "" , // Cookie在服务器端的路径(可选)
string $domain = "" , // Cookie的有效域名(可选)
bool $secure = false , // 指定是否通过安全的HTTPS连接来传输(可选)
bool $httponly = false // 指定Cookie只能通过HTTP协议访问(可选)
)
// ① 设置Cookie
setcookie('username', 'ada'); // 设置一个名称为username的Cookie,其值为ada
setcookie('pwd', '123456'); // 设置一个名称为pwd的Cookie,其值为123456
// ② 设置Cookie过期时间
setcookie('data', 'PHP'); // 未指定过期时间,在会话结束时过期
setcookie('data', 'PHP', time() + 1800); // 30分钟后过期
setcookie('data', 'PHP', time() + 60 * 60 * 24); // 一天后过期
说明:省略第3个参数时,Cookie仅在本次会话有效,用户关闭浏览器时会话就会结束。
在PHP中,任何从客户端发送的Cookie
数据都会被自动存入到$_COOKIE超全局数组变量中。通过$_COOKIE数组可以获取Cookie
数据。
示例:使用超全局数组 $_COOKIE[]
读取 Cookie
中的信息。
反复刷新look.php网页,5秒钟后观察输出信息,有什么变化?
Cookie
创建时未设置有效时间,则Cookie文件会在关闭浏览器时自动被删除。setcookie()
函数设置过期时间。<form action="" method="post">
用户名:<input type="text" name="uname"><br />
密 码:<input type="password" name="pwd"><br />
<input type="submit" name="btn" value="登录">
</form>
<?php
if(isset($_POST['btn'])){
$uname=$_POST['uname'];
$pwd=$_POST['pwd'];
setcookie('uname',$uname);
setcookie('pwd',$pwd);
echo "登录成功,2秒后跳转到首页…………";
header("refresh:2;url=main.php");
}
//登录判断
if(!isset($_COOKIE['uname'])){
//header写法
echo "";
header("refresh:2;url=login.php");
exit;
}
echo "您是".$_COOKIE['uname']."欢迎访问!
";
echo "您的密码是:".$_COOKIE['pwd']."
";
?>
<a href="quit.php">退出</a>
setcookie('uname','',time()-10);
header("location:login.php");
?>
Chrome浏览器在老版本情况下,是可以去直接查看cookie
的存放地址以及存放的密码等内容的:
cookie
了只能清除