0
点赞
收藏
分享

微信扫一扫

从零基础开始学习PHP(十)

90哦吼 2022-10-17 阅读 82

        首先为表歉意、放出一个通用的后台权限管理系统:​​https://github.com/08090813/TpAdmin​​

采用ThinkPHP5.0+layui2.5开发、项目已不再更新、如有需要请进群下载相关文件。

群号:665781972


PHP中会话控制操作

目标

       熟悉使用cookie和session

难点

       无

重点

       Cookie、session

本节目录

1、什么是会话控制?

2、Cookie和session的区别?

3、如何使用cookie?

4、如何使用session?

  • 什么是会话控制?

会话控制是一种用来跟踪用户通信的方式、要想对用户进行跟踪、就必须对用户标记、标记每个用户访问的每个页面、以便于服务端识别用户的身份。对于HTTP请求的get和post而言、两者均是传递参数的作用、对于一个用户在网站上的多个页面和多个不同的数据、可能还有权限而导致的页面不同、数据不同等、此时使用get和post就会变得非常频繁。

  • cookie和session的区别?

Session是存放在服务端的、session给每个访问者分配一个唯一的数字、作为访问者的唯一标识。

Cookie则是保留在客户端中、每次用户发送请求的时候、都会把数据发送给服务端

因为session是存在服务端、客户端不会知道其中的信息、而、cookie是保存的客户端、因此就安全而言、session的安全性较高。

Session是不能区分访问路径的、每个用户都有一个唯一的标识、所有的session在同一个地方都可以访问到、而cookie可以设置保存路径来区分、也就是说如果cookie设置了存储路径、那么在一个网站中、不同路径下的cookie是相互访问不到的。

两者的过期时间不同、session的过期与否是由服务器设定、而cookie的过期时间在于在设置cookie的时候设置的过期时间。

  • 如何使用cookie?

在PHP中可以通过setcookie()函数来设置cookie值、如下:

setcookie($key, $value, $expire, $path, $domain, $secure)

参数1为键、参数2为要设置的值、参数3为过期时间、参数4为存放路径、默认为根目录、参数5为存取的域名、也就是说只有该网站下的cookie才可以存取、参数6为是否只有在https下才使用cookie。

例如:

setcookie(‘userInfo’, $_POST[‘user’], time() +3600);//存储用户的cookie

如何获取cookie?

使用$_COOKIE变量来取回cookie

$_COOKIE[‘userInfo’]//取回刚才设置的cookie值

如何销毁cookie?

可以通过将cookie的值设置为空、然后再将时间设置为过去式

setcookie(‘userInfo’,’’, time() -3600);

还可以通过unset()函数来销毁一个变量

unset($_COOKIE[‘userInfo’]);//销毁变量

  • 如何使用session?

Session的使用也非常方便、但是首先得用一个函数来开启session、session_start()函数、需要注意的是该函数之前不可有任何的输出。

然后使用$_SESSION超全局数组来存储需要设定的值、例如:

$_SESSION[‘userINfo’] = $_POST[‘user’];、存储的数据将会存放在服务端的某个文件中、或者可以存放在memcache或者redis中。

如何销毁session?

1、通过unset()函数

2、将session的值设置为空数组

3、使用session_destroy()函数、

总结、在使用会话控制的过程中、可能会遇到未知的错误、这是我们需要做容错处理、使用isset()函数来检测一个变量是否存在、如存在才进行相关操作。

 

以上就是对于PHP中会话控制的讲解、更多深入的内容见后文或者自行深入琢磨!


本文不定期更新文章、如果您有学习上的困惑、可以找我一起学习、共同进步!



感谢支持、我相信我会做得更好!

举报

相关推荐

0 条评论