第一个例子
<?php
session_start();
if(!isset($_SESSION['count'])) $_SESSION['count'] = 0;
else ++$_SESSION['count'];
echo $_SESSION['count'] . "<br />";
?>
第二个例子
<?php
session_start();
if(!isset($_SESSION['initiated']))
{
session_regenerate_id();
$_SESSION['initiated'] = 1;
}
if(!isset($_SESSION['count'])) $_SESSION['count'] = 0;
else ++$_SESSION['count'];
echo $_SESSION['count'] . "<br />";
我能找到唯一不同的是,如果我使用两个不同的URL(例如:http // localhost / test?PHPSESSID = 123; http // localhost / test?PHPSESSID = 456),第一个脚本将从零开始重新计数,但第二个将继续计数
那么两个例子意味着什么呢?它想告诉我什么?
答案 0 :(得分:0)
抱歉,我的第一个答案太仓促了。检查This。 PHP.net说:
“session_regenerate_id()将使用新会话ID替换当前会话ID,并保留当前会话信息。”
答案 1 :(得分:0)
session_regenerate_id()如果可以,将提交cookie以保存会话详细信息。 可以将其视为用户的扩展会话。因此,如果用户关闭其浏览器,则可以调用用户会话。