PHP之session工作流程

本文详细介绍了会话控制(Session)的基本概念与实现原理。包括Session的生成过程、客户端与服务器端之间的交互方式,以及如何利用PHP语言进行Session的创建、读取与销毁等操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

上一篇博客介绍了关于cookie的流程,下面是一个更为重要的:会话控制(Session),废话不多说,直接上干货:

FOR EXAMPLE:



解释:

1.当我们首次访问服务器时,会生成一个唯一的session_id,然会我们可以为这个用户设置一些session信息,用户唯一标示这个用户,并将session_id返回到客户端

2.当我们再一次进行访问时,浏览器会自动将session_id一起进行提交,服务器用户判断,然后根据session_id,去查找,并将查到的信息保存在$_SESSION数组里,

3,session只保存在服务器端,在客户端保存的只是session_id

下面有一个小的demo:

<?php
header("content-type:text/html;charset=utf-8");
//开启session
//在次之前不要用任何输出
session_start();//session_start()这个函数必须位于<html>标签之前
/**
session_start()这个函数首先会检查当前是否存在一个会话,如果不存在,则会创建一个全新的会话,
并且这个会话可以访问超全局变量$_SESSION数组,如果存在,函数会直接使用这个会话,加载已经注册过的会话变量,然后使用
**/
$_SESSION["aa"]="1111111111";
$_SESSION["bb"]="2222222222";
//将session_id输出
echo session_id()."<br/>";

?>

<?php
header("content-type:text/html;charset=utf-8");
/**
session_start()这个函数首先会检查当前是否存在一个会话,如果不存在,则会创建一个全新的会话,
并且这个会话可以访问超全局变量$_SESSION数组,如果存在,函数会直接使用这个会话,加载已经注册过的会话变量,然后使用
**/
session_start();
print_r($_SESSION);
//session_name() PHPSESSID
echo (session_name()."<br/>");
echo (session_id()."<br/>");
?>

<?php
//删除session
header("content-type:text/html;charset=utf-8");//header()函数前面不可以有输出
//删除也需要开启session
session_start();

//清空session值,或者我们可以用unset
$_SESSION=array();

//最后删除客户端的相关cookie
//首先判断cookie是否存在(即删除客户端在cookie中的session_id)
if(isset($_COOKIE[session_name()])){
	//在php的配置文件我们制定了cookie的路径,有关于session的
	//session.cookie_path = /
	setcookie(session_name(),'',time()-3600,"/");
}
//彻底删除session(会话控制)
session_destroy();
?>

ps:自己要动手,你会收获很多
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值