【发布时间】:2014-12-29 06:45:45
【问题描述】:
我是 PHP 新手,所以有一个非常基本的问题 我创建一个页面 我最初使用用户 ID 和密码创建一个页面,一旦输入用户 ID 和密码并单击提交,就会调用 AJAX 来验证数据库。 验证完成后,我想刷新向用户显示更多选项的页面 我正在考虑使用会话 但是每次我刷新页面时都会创建一个新会话 我把它放在页面顶部作为测试,当按下 F5 时,我总是在页面顶部看到“新会话”
<?php
if (!isset($_SESSION)){
session_start();
echo("new session");
}
else
{
echo("old session");
}
?>
【问题讨论】:
-
我认为您误解了
session_start的作用。从文档中:“session_start() 根据通过 GET 或 POST 请求或通过 cookie 传递的会话标识符创建会话或恢复当前会话。” -
$_SESSION在调用session_start()之前永远不会被设置。您应该在每个启用会话的页面顶部调用session_start()。它不会覆盖现有会话。相反,它将使您可以访问用户的当前会话,或者如果尚不存在则创建一个。如果要显式启动新会话,请先使用session_destroy(),然后使用session_start()。