对PHP的session_start()的理解

时间:2022-10-19 19:00:40

session_start()


bool session_start ()

session_start() 会创建新会话或者重用现有会话。 如果通过 GET 或者 POST 方式,或者使用 cookie 提交了会话 ID, 则会重用现有会话。



实验测试


show_session.php文件:

<?php

session_start();

if(!empty($_SESSION['fcker']))echo $_SESSION['fcker'];

show_session.php文件:

<?php
//backstate_session.php

session_start();

if(empty($_SESSION['fcker']))$_SESSION['fcker']=1;
else $_SESSION['fcker']++;

echo $_SESSION['fcker'];

每次访问backstate_session.php的时候, SESSION[‘fcker’]都会自增一次。
访问show_session.php的时候,可以发现,查看到的SESSION[‘fcker’]的值与backstate_session.php的显示值一致。

这就很直观地体现了session_start()的作用——共享一个会话内所定义的变量

我们可以利用session来实现当同一个浏览器访问时,同一个web服务器内两个不同页面之间的传参。



注意事项


  • 同一个浏览器访问时候的session才是互通的,不同浏览器不会使用同一个会话。
  • 当同一个web服务器作为多个不相干的网站的服务器的话,最好设置session_name,避免多个不相干的网页使用会话功能的时候重用了同一个会话。