php中session和cookie的区别是什么?

php中session和cookie的区别是什么?

一、session

(1)Session的由来以及介绍

Session:在计算机中,尤其是在网络应用中,称为“会话控制”,生存时间为用户在浏览某个网站时,从进入网站到关闭这个网站所经过的这段时间,也就是用户浏览这个网站所花费的时间。

由于Http是一种无状态的的协议,只负责请求服务器,当它在服务器相应之后,就与浏览器失去了联系。不能保存用户的个人信息,就像一个商场和一个自动售货机或者普通的人之间的关系,所以为了弥补这个缺点Session才应声而出,Session需要在4.1版本以上。

【创想鸟】学习专题:php session (包含图文、视频、案例)

(2)Session的机制

立即学习“PHP免费学习笔记(深入)”;

session机制采用的是在服务器端保持状态的方案,并且有自己对应的唯一标识session_id,区分不同用户之前的信息

就比如:我们去一家餐厅吃饭,我们有一张会员卡,上面有我的个人信息,以及有效时间,当我每次来的时候餐厅都能找到我的个人信息

(3)session的工作原理

1>当一个session第一次被启用时,一个唯一的标识被存储于本地的cookie中。

2>首先使用session_start()函数,PHP从session仓库中加载已经存储的session变量。

3>当执行PHP脚本时,通过使用session_register()函数注册session变量。

4>当PHP脚本执行结束时,未被销毁的session变量会被自动保存在本地一定路径下的session库中,这个路径可以通过php.ini文件中的session.save_path指定,下次浏览网页时可以加载使用。

保存的文件:

cookie-2.jpg

(4)Session项目实战中都有哪些应用

1>记录用户登陆信息,全局使用

2>制作验证码,验证对比操作

3>将session保存到数据库可以实现:a.控制一个帐号只能一个人登录

(5)Session的优缺点

1>session的优点:唯一性、方便调用、不会过多占用资源,是存储在服务器的一组临时数据。一般情况下,我们在做用户登录时,会将用户数据存入session。这样,在任何页面都可以方便调用,而且 每个客户端会产生唯一的session_id,不会混肴。并且在关闭浏览器后,服务器会有session回收机制,自动删除过期session

2>缺点:在客户端是以cookie方式保存的,禁用cookie就没用了。

(6)Session和Cookie的联系以及区别

1>联系:Session在客户端也需要保存一个标识,所以就要借助Cookie,session是通过cookie来工作的session和cookie之间是通过$_COOKIE[‘PHPSESSID’]来联系的,通过$_COOKIE[‘PHPSESSID’]可以知道session的id,从而获取到其他的信息。

2>区别:Cookie机制采用的是在客户端(浏览器)保持状态的方案,而session机制采用的是在服务器端保持状态的方案

(7)Session的使用

sesstion_start(); // 首先开启session

$_SESSION[‘user’] = ‘username’; // 把username存在里面

echo $_SESSION[‘user’]; // 直接输出 username

session_destroy(); // 销毁session

二、Cookie

(1)Cookie的由来以及介绍

Cookie是作为互联网的产物随之产生的,也是为了保存用户的一些基本的信息,也可以理解为服务器在你计算机上暂时保存的一些信息,下次来的时候先看看这些信息资料,然后直接加载这些资料,送出特定的信息。

(2)Cookie的机制

Cookie和Session的机制原理类似,都是会为每一个用户生成一个特定的值,这次是在客户端保存,当我们打开cookie里面保存了我们个人信息的网站,他会将我们的个人信息提交到服务器,之后请求服务器相应资料信息

(3)Cookie的原理

当你访问一个网站的时候,可以将服务器的一些少量的数据保存到硬盘上,比如说用户名,id等,等你下次访问的时候,服务器会首先寻找这个文件然后读取你的相关信息,这样可以让你在不输入用户名密码的情况下直接登陆网站

(4)Cookie在项目实战中都有哪些应用

1>记住用户名密码

(5)Cookie的优缺点

1>优点:a.不需要服务器资源空间 b.持久时间更长

2>缺点:a.客户端大小受限制 b.用户禁用Cookie那么就废用了 c.不安全

(6)Cookie和Session的区别和联系

1>联系:Cookie可以在客户端为session保存唯一标识

2>区别:Cookie机制采用的是在客户端(浏览器)保持状态的方案,而session机制采用的是在服务器端保持状态的方案

(7)Cookie的使用

1>创建和更新:setCookie($cookieName,$value,time()+秒数);

实例:setcookie(“UserName”,”imooc”,time()+2*7*24*3600);

取值:$uName=$_COOKIE[‘UserName’];

2>删除Cookie

setcookie($cookieName,value,time()-秒数);

登录后复制

//或者

setcookie($cookiename, '');

登录后复制登录后复制

//或者

setcookie($cookiename, '');

登录后复制登录后复制

实例:

setcookie("UserName","imooc",time()-3600);

登录后复制

以上内容仅供参考。

相了解更多相关问题请访问PHP中文网:PHP视频教程

以上就是php中session和cookie的区别是什么?的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2157689.html

(0)
上一篇 2025年2月25日 07:03:12
下一篇 2025年2月21日 12:04:18

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • php中单引号和双引号的区别是什么?

    在php中,字符串的定义可以使用单引号也可以使用双引号。 一般情况下,两者是通用的,但是双引号会解析变量,单引号则不解析。 php允许我们直接在双引号中包含字符串变量。 单引号中的内容会被认为是普通字符,因此单引号中的内容不会被解析,效率也…

    2025年2月25日
    200
  • php重载和重写的区别是什么?

    重写: 就是当子类继承父类的一些方法后,子类又在其内部定义了相同的方法,则这个新定义的方法会覆盖继承而来的父类的方法,子类只能调用其内部定义的方法。 有以下几点要求: 1.当一个父类和子类有一个方法,参数和名字完全一致,那么子类方法会覆盖父…

    2025年2月25日
    200
  • php中sort排序如何使用

    PHP sort() 函数 定义和用法 sort() 函数对索引数组进行升序排序。 注:本函数为数组中的单元赋予新的键名。原有的键名将被删除。 立即学习“PHP免费学习笔记(深入)”; 如果成功则返回 TRUE,否则返回 FALSE。 提示…

    2025年2月25日
    200
  • php中unset是什么

    unset() 销毁指定的变量。 unset() 在函数中的行为会依赖于想要销毁的变量的类型而有所不同。(推荐学习:PHP视频教程) 如果在函数中 unset() 一个全局变量,则只是局部变量被销毁,而在调用环境中的变量将保持调用 unse…

    2025年2月25日
    200
  • php中变量有哪些基本数据方式

    在php中存储数据的一种方式,就是i可以发生改变的量,这种方式是在内存中开辟一个可以存放数据的空间,给这个空间起个名称,这时候的空间就可以称为一个变量。在运行过程中这个值是可以发生改变的 当前空间的名称就是变量名,当前空间的数据(八种数据类…

    2025年2月25日
    200
  • 如何正确结束php语句?

    php的语句结束是非常简单同时也是非常重要且最容易忽视的一个问题。在实际工作中,有的时候就是因为语句无法正确结束而导致错误的发生,但是,这类错误恰巧又是非常难察觉的。所以,如何正确的结束语句其实是一个非常小但是有非常重要的问题。 在php中…

    2025年2月25日
    200
  • php中变量占内存吗

    在php中存储数据的一种方式,就是i可以发生改变的量,这种方式是在内存中开辟一个可以存放数据的空间,给这个空间起个名称,这时候的空间就可以称为一个变量。在运行过程中这个值是可以发生改变的 当前空间的名称就是变量名,当前空间的数据(八种数据类…

    2025年2月25日
    200
  • php中不等运算符是什么

    PHP 比较运算符用于比较两个值(数字或字符串),今天我们来介绍一下不等于运算符。 !=,不等于运算符,如果 $x 不等于 $y,则返回 true。(推荐学习:PHP视频教程) nbsp;html>   登录后复制 ,不等于运算符,如…

    2025年2月25日
    200
  • php中常见的运算符有哪些

    PHP 中常见的运算符分有:算数运算符、赋值运算符、比较运算符、逻辑运算符、数组运算符。 PHP 算数运算符(推荐学习:PHP视频教程) 算术运算符主要是用于进行算术运算的,例如:加法运算、减法运算、乘法运算、除法运算; 立即学习“PHP免…

    2025年2月25日 编程技术
    200
  • php中除怎么表示

    php中除是算术运算符中的一种,使用/(斜杠)表示,例如:$x / $y,得$x与$y的商数。 实例:(推荐学习:PHP编程从入门到精通) nbsp;html>   登录后复制 输出: 2.125 登录后复制 以上就是php中除怎么表…

    2025年2月25日
    200

发表回复

登录后才能评论