Rumah > pembangunan bahagian belakang > tutorial php > php中如何启动Session会话

php中如何启动Session会话

伊谢尔伦
Lepaskan: 2023-03-07 16:40:01
asal
9310 orang telah melayarinya

php中如何启动Session会话

Session 的设置与  Cookie 不同,必须先行启动,在PHP中必须调用 session_start()函数,以便让 PHP 核心程序将和 Session相关的内建环境 变量预先载入到内存中。

使用 session_start()函数启动会话,语法格式如下的形式:

session_start(void);   // 创建  Session,开始一个会话,进行 Session 初始化
Salin selepas log masuk

session_start()这个函数没有参数,且返回值均为 TURE。该函数有两个主要的作用,仪式开始一个会话,而是返回已经存在的会话。

当第一次访问网站时,session_start()函数就会创建一个唯一的 Session ID ,并自动通过 HTTP 的响应头将这个  Session ID 保存到客户端 Cookie 中。同时,页在服务器端创建一个以这个 Session ID 命名的文件,用于保存这个用户的会话信息。

当同一个用户再次访问这个网站时,也会自动通过 HTTP 的请求头将客户端 Cookie 中保存的 Session ID给带过来,这时 session_start()函数就不会再去分配一个新的 Session ID,而是在服务器的硬盘中去寻找和这个 Session ID 同名的Session文件,将之前为这个用户保存的会话信息读出,在当前脚本中应用,达到跟踪这个用户的目的。

所以在会话期间,同一个用户在访问服务器上任何一个页面时,都是使用同一个 Session ID

 注意: 通常,session_start()函数在页面开始位置调用,然后会话变量被登录到数据 $_SESSION

 说明:如果使用基于 Cookie 的  Session,在使用该函数开启 Session之前,不能有任何输出的内容。因为基于  Cookie 的 Session 实在开启的时候,调用 session_start()函数生成唯一的一个  Session ID,需要保存在客户端计算机的 Cookie 中,所以使用  session_start()函数之前浏览器不能有任何输出,即使是空格和空行也不行,否则会产生输出字符串产生的错误。

如果不想在每个脚本中都使用 session_start()函数 来开启 Session,可以再 php.ini 里面设置 session.auto_start = 1,就不需要每次使用 Session 之前都要调用 session_start()函数。但启用这个选项也饿石油一些限制的,就是不能将对象放入 Session 中,因为类定义必须在启动 Session 之前加载。 所以一般不建议使用session.auto_start来开启 Session。

相关专题推荐php session (包含图文、视频、案例)

Atas ialah kandungan terperinci php中如何启动Session会话. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan