php会话总是在刷新时创建

时间:2014-11-02 14:10:24

标签: php ajax session

我是PHP的新手,所以有一个非常基本的问题 我创建一个页面我最初使用用户ID和密码创建一个页面,一旦输入用户ID和密码并单击提交,就会调用AJAX来对数据库进行验证。 一旦验证完成,我想刷新页面,向用户显示更多选项 我在考虑使用session 但每次刷新页面时都会创建一个新会话 我把它放在页面顶部作为测试,并且总是在F5按下时我在页面顶部看到“新会话”

<?php
if (!isset($_SESSION)){
    session_start();
    echo("new session");
}
else
{
    echo("old session");
}
?>

2 个答案:

答案 0 :(得分:4)

必须在与会话相关的任何内容之前始终调用

session_start。调用它之后,您可以获取或设置$_SESSION变量的值。

Reference

您的代码应为:

<?php
session_start(); // always call this at top
if (!isset($_SESSION['has_been_here'])){
    $_SESSION['has_been_here'] = true;
    echo("new session");
}
else
{
    echo("already been here");
}
?>

答案 1 :(得分:1)

来自php.net:

session_start — Start new or resume existing session

这意味着您必须使用

开始会话
session_start();

在第一行的每一页上,它将启动或恢复它。检查php.net manual,它将帮助您了解如何正确处理和检查会话。