PHP__Session&Cookie

Cookie 是存在本地客户端的
1/ setcookie(); 设置cookie
/**
* 参1 cookie的名字
* 参2 cookie的值
* 参3 生命周期,为 0 时代表当前对话, 可以自定义设置时间,自定义时间的时候要加上当前时间
* 参4 作用目录 / 代表根目录 整个项目都能访问,如果没设置 默认为当前目录
*/
setcookie ( 'a' , 123 , 0 , '/' );

2/ 七天免登陆思想
//更改session_name,必须放在session_start之前
//更改session_name为了更安全
session_name ( 'hdphp' );
//当开启session时,客户端会自动生成一个cookie文件,服务器端也会自动生成一个session文件
// 并且服务器端和客户端的session_name和session_id 值一样 判断是否是同一用户
//但是cookie默认生命周期为0 session默认生命周期为1440秒
session_start ();
//所以再次拿到服务端的session文件的name和id值,重新设置一条生命周期为7天的,覆盖之前的
//这样就算关闭浏览器,下次登录时,秘钥还会在,就实现7天免登陆了
//setcookie(session_name(),session_id(),time() + 3600 * 24 * 7,'/');

3/ 逻辑
//以http头部信息向服务器发送请求
session_start ();
//设置一条cookie信息
setcookie ( 'a' , 2 );
//第一次报错是因为先创建还没拿出来,第二次刷新页面才能调用
echo $_COOKIE [ 'a' ];

4/ input checkbox 复选表单
当被勾选时,会接收到name值和value值,没有被勾选中时,什么都没有
所以用isset($_POST['name'])函数来判断是否被勾选

5/ serialize 序列化 unserialize 反序列化
序列化是为了存储非字符串字符


Session 是存在服务器端的tmp文件夹里
1/ session_start(); 开启session 一个页面中只能开启一次,否则会报错
2/ session_id(); 获取设置session_id

3/ session_name() 获取设置session_name

4/ unset($_SESSION[ 'web' ]); 删除session变量

6/ session_unset(); 释放当前在内存中已创建的所有$_SESSION变量
但不删除session文件以及不释放对应的session id

7/ session_destroy 删除当前用户对应的session文件以及释放session id
内存中的$_SESSION变量内容依然保留

8/ 释放用户的session所有资源
session_unset(); session_destroy();

9/ session_save_path(); 会话数据的路径.如果指定的路径,将数据保存到路径中

10/ session垃圾回收

Ajax
1/ 举例:分页浏览不刷新页面
// 因为ajax是借助于jQuery运行的,所以要先引入jQuery
< script src= "./jquery-1.10.2.min.js" ></ script >
< script >
$ ( function (){
// 给.pagination所有的a便签添加点击事件
$ ( '. pagination a ' ). click ( function (){
//用户当前点击的页码的值
var page = $ ( this ). html ();
// ajax异步发送
$ . ajax ({
// 请求地址
url : './handle.php' ,
// 发送数据
data :{ p : page },
// 发送方式
type : 'get' ,
// 收到的数据类型,默认为text类型,还有html类型
dataType : 'json' ,
// 处理反馈回来的数据
success : function (response){
// 空字符串,用来存储
var str = '' ;
// 遍历
$ . each (response, function (k,v) {
// 追加
str += '<tr><td>' +v. id + '</td><td>' +v. title + '</td></tr>' ;
})
// 把代码写入
$ ( 'tbody' ). html ( str );
}
})
})
})
</ script >

2/ json_encode();
在php中将数据转成json格式,js才能读取

3/ ajax 中的serialize序列化 只是在获取表单中所有内容时才用, 如果单独一一抓取form表单会很麻烦 ,所以一般直接抓取整个form表单的内容,然后给它序列化成一个符合json格式的字符串,在ajax直接用即可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值