PHP cookie,session的使用与用户自动登录功能实现方法分析
作者:idjl 时间:2023-11-21 15:00:43
本文实例讲述了PHP cookie,session的使用与用户自动登录功能实现方法。分享给大家供大家参考,具体如下:
cookie的使用
//生成cookie
//注释:setcookie() 函数必须位于 <html> 标签之前。
//setcookie(name, value, expire, path, domain); //名称,值,过期时间,有效路径,有效域名
//path,可选;如果路径设置为 "/",那么 cookie 将在整个域名内有效.如果路径设置为 "/test/",那么 cookie 将在 test 目录下及其所有子目录下有效。默认的路径值是 cookie 所处的当前目录。
//domain,可选;为了让 cookie 在 example.com 的所有子域名中有效,您需要把 cookie 的域名设置为 ".example.com"。当您把 cookie 的域名设置为 www.example.com 时,cookie 仅在 www 子域名中有效。默认当前域名。
setcookie("user", "Alex Porter", time()+3600);
setcookie("userid", "1000569852", time()+3600);
//获取
var_dump($_COOKIE);
// isset() 函数来确认是否已设置了 cookie:
if (isset($_COOKIE["user"])){
echo "Welcome " . $_COOKIE["user"] . "!<br />";
}
else{
echo "Welcome guest!<br />";
}
//当删除 cookie 时,您应当使过期日期变更为过去的时间点。
setcookie("user", "", time()-3600);
session的使用
//session特定:可供应用程序中的所有页面使用;会话信息是临时的,在用户离开网站后将被删除。
// 虚拟主机用户。 设置一个存放目录,需要可读写权限
$savePath = getcwd().'/session_save_dir/';
//echo $savePath;
session_save_path($savePath);//session_start 开启前。
session_id('phpjianlong'); // session_start() 函数之前调用 session_id();命名方式同变量
session_start();
//存储和取值
$_SESSION['views']=123456789;
$_SESSION['name']='php建龙';
$_SESSION['array']=array('a','b','c','d');
echo "Pageviews=". $_SESSION['views'];
var_dump($_SESSION);
//判断是否存在
if(isset($_SESSION['views'])){
$_SESSION['views']=$_SESSION['views']+1;
}
else{
$_SESSION['views']=1; //不存在赋值
}
echo "Views=". $_SESSION['views'];
//session的删除
unset($_SESSION['name']);
var_dump($_SESSION);
//注释:session_destroy() 将重置 session,您将失去所有已存储的 session 数据。
session_destroy(); //不带参数
session_start(); //再次开启session是,重新初始化$_SESSION数组;
var_dump($_SESSION);
//获取/设置 当前会话 ID。;浏览器会自动生成名为PHPSESSID的cookie
echo session_id();
session_id('phpjianlong'); // session_start() 函数之前调用 session_id();命名方式同变量
session和cookie的区别:
1、session在服务器,cookie存储在浏览器
2、session可以存储数组,cookie value只能是字符串
3、session不能设置有效期,cookie可以设置有效期
4、session基于cookie判断用户信息,禁用cookie,session受影响不能用。还可以手动通过URL传值、隐藏表单传递Session ID。用文件、数据库等形式保存Session ID,
URL 形如:http://www.openphp.cn/index.php?PHPSESSID= bba5b2a240a77e5b44cfa01d49cf9669
用户自动登录的实现
//方法1: Cookie,在 Cookie 中保存用户名和密码(可能是 md5 加密后字符串),并在每次请求页面的时候进行验证。如果用户名和密码存储在数据库,每次都要执行一次数据库查询,给数据库造成多余的负担。因为客户端 Cookie 中的信息是可能被用户查看和修改。不安全舍弃此方法。
//方法2:session,用cookie长期保存session id;
//系统临时文件夹找到这个 Session 文件,一般文件名形如:sess_4c83638b3b0dbf65583181c2f89168ec,后面是 32 位编码后的随机字符串。用编辑器打开它,看一下它的内容:
//变量名|类型:长度:值;
//设置 Session 的生存期:
session_start();
// 保存5天
$lifeTime = 5 * 24 * 3600;
setcookie(session_name(), session_id(), time() + $lifeTime, "/");
//之后此浏览器在此输入对应网址,服务器获取cookie保存的sessionid;根据sessionid的内容判断,实现自动登录。
希望本文所述对大家PHP程序设计有所帮助。
来源:https://blog.csdn.net/u010071211/article/details/86304141
标签:PHP,cookie,session,自动登录
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
Pycharm 2020.1 版配置优化的详细教程
2023-06-30 23:11:55
![](https://img.aspxhome.com/file/2023/1/103461_0s.jpg)
Python编程快速上手——疯狂填词程序实现方法分析
2023-07-25 08:57:17
![](https://img.aspxhome.com/file/2023/5/61475_0s.png)
Python备份Mysql脚本
2024-01-16 05:19:28
JavaScrip如果基于url实现图片下载
2023-08-24 22:31:41
Python自动发邮件脚本
2022-12-31 18:31:29
![](https://img.aspxhome.com/file/2023/2/109352_0s.png)
Python decorator拦截器代码实例解析
2022-04-07 11:03:47
php数组函数序列之array_unique() - 去除数组中重复的元素值
2023-11-18 11:14:06
Python保姆式手把手带你掌握异常的捕获和处理
2022-04-30 14:10:18
![](https://img.aspxhome.com/file/2023/0/71480_0s.png)
python智联招聘爬虫并导入到excel代码实例
2023-09-28 14:18:00
Linux 安装JDK Tomcat MySQL的教程(使用Mac远程访问)
2024-01-16 12:12:47
![](https://img.aspxhome.com/file/2023/5/110135_0s.jpg)
sqlserver附加.mdf权限问题解决
2024-01-17 15:46:20
pyqt5圆形label显示打开的摄像头功能
2022-09-16 04:10:21
![](https://img.aspxhome.com/file/2023/9/95719_0s.png)
perl文件包含(do,require,use)指令介绍
2023-05-29 04:33:08
解决Dreamweaver不支持中文文件名方法
2008-01-09 12:52:00
Oracle 分析函数RANK(),ROW_NUMBER(),LAG()等的使用方法
2009-11-05 21:45:00
从零学python系列之教你如何根据图片生成字符画
2022-04-03 16:05:50
![](https://img.aspxhome.com/file/2023/1/130651_0s.png)
浅析Vue自定义组件的v-model
2024-04-29 13:10:16
pyCharm 设置调试输出窗口中文显示方式(字符码转换)
2022-04-22 00:23:52
![](https://img.aspxhome.com/file/2023/3/79803_0s.jpg)
antd table按表格里的日期去排序操作
2024-04-28 10:55:56
![](https://img.aspxhome.com/file/2023/3/133063_0s.jpg)
python 爬取百度文库并下载(免费文章限定)
2022-05-08 16:18:28
![](https://img.aspxhome.com/file/2023/3/65413_0s.png)