首页 > 编程语言 >php之Cookies和Sessions

php之Cookies和Sessions

时间:2023-10-09 17:56:06浏览次数:51  
标签:存储 Cookies PHP Sessions 用户 session cookie Session php

PHP Cookies

  • cookie 常用于识别用户
  • cookie 是服务器留在用户计算机中的小文件。每当相同的计算机通过浏览器请求页面时,它同时会发送 cookie。
  • 通过 PHP,您能够创建并取回 cookie 的值
  • setcookie() 函数用于设置 cookie。
  • setcookie() 函数必须位于 标签之前。
  • 在发送 cookie 时,cookie 的值会自动进行 URL 编码,在取回时进行自动解码(为防止 URL 编码,请使用 setrawcookie() 取而代之)。
语法:
setcookie(name, value, expire, path, domain);

例子:
<?php 
setcookie("user", "Alex Porter", time()+3600);
?>

<html>
<body>

</body>
</html>
  • PHP 的 $_COOKIE 变量用于取回 cookie 的值
<?php
// Print a cookie
echo $_COOKIE["user"]; //获取指定name的cookie值

// A way to view all cookies
print_r($_COOKIE); //获取所有cookie值
?>
  • 当删除 cookie 时,您应当使 过期日期 变更为 过去的时间点
<?php 
// set the expiration date to one hour ago
setcookie("user", "", time()-3600);
?>

PHP Sessions

  • PHP session 变量用于存储有关 用户会话 的信息,或更改用户会话的设置。
  • 不过,会话信息是临时的,在用户离开网站后将被删除,如果您需要永久储存信息,可以把数据存储在数据库中
  • Session 变量保存的信息是单一用户的,并且可供应用程序中的所有页面使用
  • Session 的工作机制是:为每个访问者创建一个唯一的 id (UID),并基于这个 UID 来存储变量。UID 存储在 cookie 中,亦或通过 URL 进行传导。

1. 开始 PHP Session

  • 在您把用户信息存储到 PHP session 中之前,首先必须启动会话。
  • session_start() 函数必须位于 标签之前
下面的代码 会向服务器注册用户的会话,以便您可以开始保存用户信息,同时会为用户会话分配一个 UID

<?php session_start(); ?>

<html>
<body>

</body>
</html>

2. 存储 Session 变量

  • 存储和取回 session 变量的正确方法是使用 PHP $_SESSION 变量
<?php
session_start(); // 1. 开启会话
// store session data
$_SESSION['views']=1; // 2. 存储session变量
?>

<html>
<body>

<?php
//retrieve session data
echo "Pageviews=". $_SESSION['views'];  // 3. 获取session变量
?>

</body>
</html>

3. 终结 Session

  • 如果您希望删除某些 session 数据,可以使用 unset() 或 session_destroy() 函数。
  • unset() 函数用于释放指定的 session 变量
  • session_destroy() 将重置 session,您将失去所有已存储的 session 数据
<?php
     unset($_SESSION['views']);
     
     // session_destroy() 函数彻底终结 session
     session_destroy();
?>

标签:存储,Cookies,PHP,Sessions,用户,session,cookie,Session,php
From: https://www.cnblogs.com/songxia/p/17752562.html

相关文章

  • 泛微OA e-office平台uploadify.php任意文件上传漏洞
    0x01漏洞描述泛微e-office系统是标准、易用、快速部署上线的专业协同OA软件,国内协同OA办公领域领导品牌,致力于为企业用户提供专业OA办公系统、移动OA应用等协同OA整体解决方案。泛微OAe-office平台uploadify.php处存在任意文件上传漏洞,攻击者通过漏洞可以获取服务器权限。 ......
  • GraphPad Prism 9:探索科研医学数据的视觉传奇 mac+win版
    GraphPadPrism9,这不仅仅是一款数据绘图和分析软件,更是一款引领你走进科研医学世界的工具。无论你是科研工作者还是医学研究者,GraphPadPrism9都能帮你将复杂的数据转化为直观、精美的图表,为你的研究提供清晰的视觉呈现。→→↓↓载GraphPadPrism9mac/win版GraphPadP......
  • wsl 部署php8.1+swoole+redis
    1.开启wsl2.apt换源sudomv/etc/apt/sources.list/etc/apt/sources.list.bak&&sudovim/etc/apt/sources.listdebhttps://mirrors.tuna.tsinghua.edu.cn/ubuntu/jammymainrestricteduniversemultiversedebhttps://mirrors.tuna.tsinghua.edu.cn/ubuntu/......
  • php模拟post提交请求,调用接口
    /***模拟post进行url请求*@paramstring$url*@paramstring$param*/functionrequest_post($url='',$param=''){if(empty($url)||empty($param)){returnfalse;}......
  • php 接口与前端数据交互实现
    最近在做前后端数据交互的尝试,也跳了很多坑,使用的是php+bootstrap-table+js,把一些收获记录在这里,方便查询。这个小项目,仅有3个文件,分别为:crud.htmldata.phpcrud.sql数据交互实现1:查询mysql数据库建表php查询接口前端数据展现mysql数据库建表数据库名称:crud......
  • php自学提升进阶路线
    为了自己对php的系统全面深入的掌握,我通过个人经验,以及搜索网上高手经验,汇总了一份php自我学习路线规划,包括实战演练、学习建议、高手进阶、常见问题和测试总结五块。算是一个系统的学习计划和目标吧。避免盲目学习,对提高有所指引。希望自我加压,通过努力修炼达到高手水平。天道酬......
  • php java net 开发应用
    一、语言:PHP:PHP产生与1994年,其语法混合了C、Java、Perl和他自创的一些编程语法;PHP是嵌入在HTML中执行的;它也是一种解释性语言。早期的PHP并非完全的面向对象编程语言,到了PHP4以后的版本才开始有了面向对象的概念。PHP主要在大型网站和小型网站,sns,互联网应用方面广泛使用,高......
  • PHP的错误机制总结
    PHP的错误机制总结PHP的错误机制也是非常复杂的,做了几年php,也没有仔细总结过,现在就补上这一课。特别说明:文章的PHP版本使用5.5.32PHP的错误级别https://www.clw9335.com/rj/首先需要了解php有哪些错误。截至到php5.5,一共有16个错误级别注意:尝试下面的代码的时候请确保打开er......
  • for循环php:使用For循环来提高你的PHP编程技能
    示例示例for循环是一种常用的循环控制结构,用于重复执行一段代码片段。在PHP中,for循环可以使用以下语法格式:for初始化;条件;增量){for循环是一种常用的循环控制结构,用于重复执行一段代码片段。在PHP中,for循环可以使用以下语法格式:for(初始化;条件;增量){//代码块}其中,......
  • for循环php:使用For循环来提高你的PHP编程技能
    示例示例for循环是一种常用的循环控制结构,用于重复执行一段代码片段。在PHP中,for循环可以使用以下语法格式:for初始化;条件;增量){for循环是一种常用的循环控制结构,用于重复执行一段代码片段。在PHP中,for循环可以使用以下语法格式:for(初始化;条件;增量){//代码块}其中,初......