cookie 意为'甜饼' 是由W3C提出的 ,最早由NETSCAPE 社区发展的一种机制,目前cookie已经成为标准,所有的主流浏览器如IE NEtscape Firefox Opera等都支付Cookie 存储再客户端的。key-value
cookie是web服务器生成的,向用户浏览器发送的一小段ASCII文本,当浏览器接受到会将其信息片段 以 键 :值 存储 对的形式保存再浏览器某个目录下的文本文件种,以后每次向同一个服务器发送请求的时候,浏览器都会发送以前存储再本地的cookie 。浏览器和服务器通过HTTP协议进行通讯,Cookie便被保存再http的请求部分(set-cookie)
![](https://img.kancloud.cn/d5/b0/d5b0d8bb631ea7616adcd31822af63f8_1247x435.png)
# cookie创建
```
setcookie()
```
```
$_COOKIE(name,value,expre,pah,domain,secure,httponly);
name 键
value 值
expre 过期时间
pah 访问的路径(也就是允许在哪个文件夹下访问)
domain 域名(这里默认空 ' ' 到什么时候也是空)
secure 是否通htpps访问 1是开 0是关
httponly 可以禁止js获取到 1是开 0是关
```
## 代码案例expre :
~~~
setcookie('name','lampol',time()+60*60);
~~~
可以实现1小时内免登录
time()为秒+60*60 相当于1小时
注意:如果不设置过期时间,那么当关闭浏览器的时候cookie就会删除。
## 代码案例pah :
~~~
setcookie('name','lampol',time()+(60*60*24),'/'); '/'为根目录
~~~
可以在任何一个文件下访问这个cookie
pah这里可以设置目录
## 代码案例secure:
~~~
setcookie('name','lampol',time()+(60*60*24),'/','',1); //这里如果服务器域名是hhtp的就无法访问,如果是https的就可以访问,如果不想用可以设置成0 那么http就可以访问了。
~~~
![](https://img.kancloud.cn/40/0d/400d1d5888c3faea3eebd02a1a53f886_523x389.png)
这里如果服务器域名是hhtp的就无法访问,如果是https的就可以访问,如果不想用可以设置成0 那么http就可以访问了。
~~~
setcookie('name','lampol',time()+(60*60*24),'/','',0);
~~~
![](https://img.kancloud.cn/d6/9a/d69a585ddf0391b715a6fa6468cff869_578x341.png)
## 代码案例httponly:
~~~
setcookie('dddd','lampol',time()+(60*60*24),'/','',1,1);
~~~
这样js的DOM就获取不到dddd的键值了,防止XXS注入用的
如果为0 就是关闭,JS就可以获取到这个cookie
(httponly 为1)如图就是获取不到ddd的键值了。
![](https://img.kancloud.cn/7a/70/7a7083da20e3efa8070c239dfe021ed9_1020x386.png)
![](https://img.kancloud.cn/9d/11/9d1174ec00545ed1be587baa1084b750_502x369.png)
(httponly 为0)如图就ddd的键值了。
![](https://img.kancloud.cn/1c/3a/1c3ae135cdbbd1cdfa038902df7d07be_678x281.png)
<br/>
<br/>
<br/>
<br/>
# cookie的访问
## $_COOKIE
```
$_COOKIE['键'] //就可以获取
```
注意: cookie创建与访问不要同时出现到一个PHP文件里,要写2个PHP文件,(这里不用引入)。
```
```
如果同一文件出现创建setcookie()
与获取 $_COOKIE ,第一次访问会获取不到,因为cookie的原理就是 用户 ———》访问服务器, 服务器返回一个——————》setcookie的值,然后用户再次访问的时候是 数据+cookie的————》服务器
所以用户访问第一次是不带cookie值的。
```
```
# 删除cookie
值加空 或者设置剩余时间
注意:设置路径的cookie删除必须带上路径否则删除不了
```
setcookie('要删除的键',null) //值为空就删除了
```
```
setcookie('要删除的键',null,time()-1,'/') //时间减一 设置路径的必须加路径
```
```
setcookie('要删除的键',null,time()-剩余时间,'/') // 设置过期时间 设置路径的必须加路径
```
- 变量删除查找与static静态变量
- 赋值原理
- global涵数引入全局变量使用
- 数据类型
- 数据类型判断is_
- PHP输出
- PHP指针(取址运算)
- PHP运算符
- 常量
- 字符串
- 字符串添加反斜杠函数addslashes($变量)
- htmlspecialchars()转字符实体
- int strcmp()判断2个字符串大小
- strstr() 查找字符串
- 字符串常用系统内置函数
- 控制流之if
- switch判断方法
- while循环
- for循环
- 跳出循环
- PHP文件引文入( include与require)
- PHP文件引入include_once与require_once
- 函数(函数各种应用以及约束方法)
- global 引入函数外的变量
- 函数的递归
- 数组(遍历方法)与( foreach()遍历方法)
- 数组函数
- PHP时间操作
- 常用数学内置函数
- 正则表达式
- PHP 九大超全局变量(内置的)
- 超全局变量$_SERVER的详细介绍
- PHP类
- 类的$this
- 类的构造方法__construct()
- 类的修饰符 public private protected
- 类的继承
- 类的多态(instanceof)方法
- 类的静态方法与常用关键字(final static self parent clone )
- 类的__set() __get() 方法
- 类的重载
- 类的__call()与__callstatic()方法
- 类的抽象类与方法
- 抽象类接口interface (实现子类继承多个抽象类)
- 类的trait (解决单继承的限制)
- 命名空间
- 类的魔术常量以及系统函数
- mysql数据库
- 数据库的概念
- SQL语句规范
- 数据库字段类型
- 字段是属性(创建数据库字段用)
- 数据库操作(增删改)
- 数据表与字段(DDL)(增删改)
- 数据的操作(DML)(增删改)
- 数据的查询数据(最重要最核心经常看)
- 数据库 字符集 引擎 校对等
- cookie创建使用与删除
- session创建使用与删除
- 在cookie禁止的情况下session的使用方法
- session的配置以及session与cookie的区别
- session实战登录
- PHP文件处理函数
- PHP打开读取写入文件
- file_get_contents GET请求接收
- PHP文件上传以及过大报错解决方案
- 验证并控制上传格式与大小
- 判断是否有目录(如果没有就创建目录)
- 上传文件到目录move_uploaded_file()
- 图片上传用class写法
- PDO链接数据库与exec()使用(只能用于增,删,改)
- PDO-推荐方法prepare() 增删改查
- 关于PDO类种事务使用
- 类的单例模式写法
- 自动加载autoload()
- composer安装与使用
- PHP操作XML
- PHP操作JSON
- curl GET与POST请求接收
- 自己封装的一些实用函数
- 微信公众号开发
- 常见问题以及解决
- PHP反序列化HTML
- try catch尝试执行与异常
- json 对象转字符串数组的方法可以在用json_e转数组