php 会话session实现用户登录功能(PHP cookie,session的使用与用户自动登录功能实现方法分析)
类别:编程学习 浏览量:1079
时间:2022-01-28 01:49:57 php 会话session实现用户登录功能
PHP cookie,session的使用与用户自动登录功能实现方法分析本文实例讲述了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列表怎么用(PHP开启目录引索+fancyindex漂亮目录浏览带搜索功能)
- php7内核剖析(浅析PHP7的多进程及实例源码)
- php数据类型图解(php使用filter_var函数判断邮箱,url,ip格式示例)
- php如何实现异步调用(php基于协程实现异步的方法分析)
- 零基础学php好吗(零基础php编程好学吗)
- php 日志监控(php日志函数error_log用法实例分析)
- php递归ajax的交互模型(PHP使用反向Ajax技术实现在线客服系统详解)
- php入门基本笔记(PHP之认识二关于Traits的用法详解)
- php添加到数组的用法(详解PHP 7.4 中数组延展操作符语法知识点)
- php怎么判断是否有session(PHP中Session ID的实现原理实例分析)
- php日期和时间怎么设置(PHP实现时间日期友好显示实现代码)
- php如何对文本框输入小数的小数点(PHP保留两位小数的几种方法)
- php服务号openid(php获取微信openid方法总结)
- phpob函数使用方法(php中isset与empty函数的困惑与用法分析)
- php的模块加载(PHP中的自动加载操作实现方法详解)
- php时间戳是什么意思(php时间戳转换代码详解)
- 来了 成都轨道交通5条线路刷新 进度条(成都轨道交通5条线路刷新)
- 一部手机两套系统 OPPO Find X3的正确打开方式你知道吗(一部手机两套系统)
- OPPO用户看过来 汇总几个春节实用技巧,轻松搞定多设备联动玩法(汇总几个春节实用技巧)
- 北京旅游攻略(北京旅游攻略5日游及其花费)
- 四川旅游攻略(四川旅游攻略自由行攻略)
- 上海迪士尼攻略(上海迪士尼攻略旅游)
热门推荐
- mysql快速备份数据(如何使用Maxwell实时同步mysql数据)
- dedecms操作方法(织梦Dedecms在循环列表中获取会员信息的方法)
- thinkphp从模板自定义标签(Thinkphp5.0框架视图view的循环标签用法示例)
- angular兄弟组件调用方法(Angular封装WangEditor富文本组件的方法)
- 频繁变化字段如何建立索引(跳槽必备之你设计索引的原则是什么?怎么避免索引失效?)
- 香港服务器有哪些优势呢(浅谈香港服务器与香港云主机的区别)
- js中的内存机制(详解JS内存空间)
- pythonselenium自动选框(python selenium 弹出框处理的实现)
- pythonmath库引入方法(python使用thrift教程的方法示例)
- mysql清空数据库所有表格(MySQL用truncate命令快速清空一个数据库中的所有表)