【代码总结】PHP之会话跟踪技术
有些时候感觉自己学习的效率好低,一套教程一本书,反复听,反复看,反复敲代码。自学这条路真的是很艰难,在任何事情都没有成功之前都很枯燥乏味。自学的过程中总会遇到很多问题,有时候连错误的原因都找不出来,那种委屈却又找不出地方宣泄,遇到问题上平台上去提问,把问题解决后才能安心的来发一篇文章。也不是为了博客而发博客,而是想在学习中留下一些回忆,原来这些技术是我通宵达旦才研究透的。
我的文采不好,总结的不全,但是我始终相信天道酬勤;相信自己每发一篇帖子都会进步一次。上个月答应人道表哥5个月内挖50个CNVD,又加上电脑坏了,所以总共没法过几篇帖子。最近一个星期会更新面向对象以及数据库抽象层PDO的知识
------------------------------------------------------------------------------------------------------------------------------------------------------------------
===================
会话控制
===================
一、会话控制的原因
多个页面之间相互切换时,保持用户登录的状态,并且访问的都是自己登录的信息。
可以处理在同一个网站中同一个用户在多个页面共享数据的机制。
二、cookie的应用
将数据保存到客户端 相对不安全(个人喜好信息 不太重要的信息)
传输数据 数据如果太多 速度下降
1、在客户端中设置cookie
setcookie() 函数向客户端发送一个 HTTP cookie。如果成功,则该函数返回true。否则返回false
语法:
setCookie(name,value,expire,path,domain,secure);
setCookie('cookie名称','cookie的值',cookie有效时间,cookie的有效路径,cookie的有效域名,是否只能在https协议下使用);
参数:
| 描述 | |
|---|---|
| name | 必需。规定 cookie 的名称。 |
| value | 必需。规定 cookie 的值。 |
| expire | 可选。规定 cookie 的有效期。 |
| path | 可选。规定 cookie 的服务器路径。 |
| domain | 可选。规定 cookie 的域名。 |
| secure | 可选。规定是否通过安全的 HTTPS 连接来传输 cookie。 |
//将username的值传入给uname,保存客户端一周的时间
setCookie('uname','username',time()+60*60*24*7);
//将username的值传入给uname,保存客户端一周的时间,只在服务器的目录或子目录下有效,在test.com的域名或子域名下有效,参数为1,cookie尽在安全的链接中设置
setCookie('uname','username',time()+60*60*24*7,'/cookie','.test.com',1);
2、读取cookie中的资料
超全局数组
echo $_COOKIE[cookie名称]
3、数组形态的cookie应用
将多个内容值储存在相同的Cookie名称标识符下
setCookie('user[username]','admin'); //设置为$_COOKIE['user']['username']
setCookie('user[password]',md5('123456')); //设置为$_COOKIE['user']['password']
setCookie('user[email]','123@163.com'); //设置为$_COOKIE['user']['email']
4、删除cookie
删除与设置统一
setCookie('uname','username',time()-1); //把COOKIE设置为已过期的状态
三、Session的应用
Session将信息存储在服务器端(文件)
Session是基于cookie的,在使用session之前必须开启会话session_start();
1、将信息储存到session中
Session_start(); //启动session的初始化
$_SESSION['uname'] = 'zhu'; //注册Session变量,赋值一个用户名称
$_SESSION['uid'] = 1; //注册Session变量,复制一个用户的ID
保存Session变量的文件 --> 变量名|类型:长度:值
uname|s:"zhu";uid|i:1
2、注销变量与销毁Session
unset($_SESSION['uname']); //删除Session变量
$_SESSION = array(); //将某个用户在Session中注册的变量全部清除
注意:array清空$_Session数组的同时也将对应的Session文件内容清空
session_destory()函数,浙江这个用户对应的Session文件删除
四、思维导图
【代码总结】PHP之会话跟踪技术的更多相关文章
- django会话跟踪技术
目录 django中的会话跟踪技术 什么是会话跟踪技术 HTTP无状态协议 Cookie概述 什么是cookie cookie源码 cookie超长时间 cookie超长时间 cookie生效路径 删 ...
- 04-cookies 会话跟踪技术
1.会话跟踪技术 1.Http协议的无状态保存 会话理解为客户端与服务器之间的一次会晤,在一次会晤中可能会包含多次请求和响应 2 .会话路径技术使用Cookie或session完成 我们知道HTTP协 ...
- cookie和session的区别与会话跟踪技术
会话跟踪技术: HTTP是一种无状态协议,每当用户发出请求时,服务器就会做出响应,客户端与服务器之间的联系是离散的.非连续的.当用户在同一网站的多个页面之间转换时,根本无法确定是否是同一个客户,会话跟 ...
- JavaWeb04-JSP及会话跟踪技术
JSP入门 1 JSP概述 1.1 什么是JSP JSP(Java Server Pages)是JavaWeb服务器端的动态资源.它与html页面的作用是相同的,显示数据和获取数据. 1.2 JSP的 ...
- 四种会话跟踪技术以及jstl介绍
四种会话跟踪技术 page:代表与一个页面相关的对象和属性.一个页面由一个编译好的 Java servlet 类(可以带有任何的 include 指令,但是没有 include 动作)表示.这既包括 ...
- Java Web程序设计笔记 • 【第8章 会话跟踪技术进阶】
全部章节 >>>> 本章目录 8.1 Session机制 8.1.1 Session 简介 8.1.2 创建 HttpSession 实例 8.1.3 HttpSesiso ...
- Java Web程序设计笔记 • 【第7章 会话跟踪技术】
全部章节 >>>> 本章目录 7.1 会话跟踪技术概述 7.1.1 为什么需要会话跟踪 7.1.2 会话的状态和跟踪 7.1.3 会话跟踪技术 7.1.4 会话跟踪工作流程 ...
- 简述会话跟踪技术——Cookie和Session
简述会话跟踪技术--Cookie和Session 本篇文章将会简单介绍Cookie和Session的概念和用法 会话跟踪技术 首先我们需要搞清楚会话和会话跟踪的概念: 会话:用户打开浏览器,访问Web ...
- 会话跟踪技术 - Cookie 和 Session 快速上手 + 登陆注册案例
目录 1. 会话跟踪技术概述 2. Cookie 2.1 Cookie的概念和工作流程 2.2 Cookie的基本使用 2.3 Cookie的原理分析 2.4 Cookie的使用细节 2.4.1 Co ...
- Cookie&Session会话跟踪技术
今日内容学习目标 可以响应给浏览器Cookie信息[response.addCookie()] 可以接受浏览器Cookie信息[request.getCookies()] [创建cookie,设置pa ...
随机推荐
- MVC5+EF6 入门完整教程5 :UI的一些改造
https://www.cnblogs.com/miro/p/4095165.html 上篇文章介绍了EF实现CRUD及一些基本的Html Helpers. 这次我们将会对之前的内容进行一些修改和重构 ...
- Centos7 FRPS
#下载Sever端 wget https://github.com/fatedier/frp/releases/download/v0.16.1/frp_0.16.1_linux_amd64.tar. ...
- sudo用户找不到环境变量 sudo找不到/usr/local/bin 下的执行文件,
出于安全方面的考虑,使用sudo执行命令将在一个最小化的环境中执行,环境变量都重置成默认状态. 所以PATH这个变量不包括用户自定义设置的内容,如找不到/usr/local/bin/下面的命令在sud ...
- Oracle空表的分配segment
1.查询相关参数deferred_segment_creation select * from v$parameter where name='deferred_segment_creation' ...
- html滑动
$('html, body').animate({scrollTop: 1500}, 'fast');
- jmeter+influxdb+granfana+collectd监控cpu+mem+TPS
1.安装grafana #####gafana过期安装包安装报错 Error unpacking rpm package grafana-5.1.4-1.x86_64error: unpacking ...
- C++实现索引堆及完整测试代码
首先贴一篇我看的博客,写的很清楚.作者:Emma_U 一些解释 索引堆首先是堆,但比堆肯定是更有用. 用处: 1.加速. 索引堆存储的是索引,并不直接存储值.在堆上浮下沉的元素交换的时候,交换索引可比 ...
- 关于Sublime如何配置C++环境的问题
前言 传说sublime是全球最好的编辑器,可是只是编辑器啊!!!如果要运行,对于我们这些蒟蒻来说,不得不去使用DEV_C++.我们总是幻想能让sublime变成一个轻量级IDE,那该多好啊!!! 那 ...
- 1.学习一下Angularjs的promisee
1.首先来了解一下promisee: 在谈论Promise之前我们要了解一下一些额外的知识:我们知道JavaScript语言的执行环境是“单线程”,所谓单线程,就是一次只能够执行一个任务,如果有多个任 ...
- h5 调起app 如果没安装就跳转下载
<!doctype html> <html> <head> <title></title> <meta charset="u ...