PHP中session的使用方法和生命周期问题

1. 用到session的php页面都需要session_start()一遍,并不是在一开始执行的php页面中session_start()一次就够了。否则会在非开启session的页面出现调用session失败的情况。

以下两个反例,在test2.php中均读取不到存入的session。

反例1:

test1.php

<?php

session_start();

$_SESSION['username'] = 'XingyaZhao';
$_SESSION['age'] = 18;

echo '用户名:' . $_SESSION['username'];
echo '<br>';
echo '年龄:' . $_SESSION['age'];

?>

<br>
<a href="test3.php">跳转到test2.php</a>

test2.php

<?php

//session_start();

echo '用户名:' . $_SESSION['username'];
echo '<br>';
echo '年龄:' . $_SESSION['age'];

反例2:

在test1.php中没有开启session,在test2.php中开启了session。

2.session的生命周期是从开启session到关闭浏览器。

若以上两个php页面均开启了session,先打开test1.php,存入session值,再打开test2.php可以读取到值。 若打开test1.php存入session值后,关闭浏览器,再启动浏览器直接打开test2.php,则读取不到session值。

另外:导致session过期的另外一个因素是一段时间内不操作。

原文地址:https://www.cnblogs.com/xingyazhao/p/7095043.html