PHP,会话问题

时间:2010-01-22 07:30:52

标签: php session

我的数据库更改了会话变量后遇到会话变量问题,当我按下后退按钮但是在数据库上时,它没有更新新的会话变量,它已经更新但不在网页上,我必须重新登录才能看到新变量。

以及如何使用session_regenerate_id?

3 个答案:

答案 0 :(得分:1)

php.net复制:

<?php
session_start();

$old_sessionid = session_id();

session_regenerate_id();

$new_sessionid = session_id();

echo "Old Session: $old_sessionid<br />";
echo "New Session: $new_sessionid<br />";

print_r($_SESSION);
?>

答案 1 :(得分:1)

当用户按下后退按钮时,他们的浏览器通常会显示缓存页面,而不是重新请求页面,因此很可能是您的问题来自哪里。

您通过调用它来使用session_regenerate_id ...并且将为用户提供新的会话ID,并且他们的会话将被转移到该ID,如果您将True作为参数传递,会话将被清除也是。它通常用于阻止session fixation attacks

答案 2 :(得分:0)

请确保您已将以下声明置于脚本之上,否则将不会处理任何会话:

session_start();