PHP SESSION变量麻烦

skh*_*skh 1 php session

我很抱歉打扰你,我尽力解决这个问题,但我不确定我哪里出错了,我想知道那里的人是否愿意帮忙!

基本上,我遇到了一些$ _SESSION变量的问题; 我希望每次访问者都能访问该页面时会显示不同的内容消息.以下代码首次登陆页面时似乎会跳过第一个"content1",并显示"content2"相反,然后再次访问"content3".我已经进行了一次未设置的调用,最终将其发送到那里,我没有正确使用_SESSIONS吗?

我不确定会话变量是如何分配给1的,因为它在if === 1语句中正确着陆而没有首先返回原始的"content1"

if (empty($_SESSION)) {
        session_start();
    }

    if (!isset($_SESSION['content'])) {
        $content = "content1";
        $_SESSION['content'] = 1;
        return $content;
    }
    elseif ($_SESSION['content'] === 1) {
        $content = "content2";
        $_SESSION['content'] = 2;
        return $content;
    }
    elseif($_SESSION['content'] === 2) {
        $content = "content3";
        unset($_SESSION['content']);
        return $content;
    }
Run Code Online (Sandbox Code Playgroud)

为bab呀学语道歉或者这对我来说是否是一个简单的解决/误解.这引起了很大的麻烦!

非常感谢.

-编辑-

这是一个从同一个类中调用的函数,它在任何地方都没有经过循环.

Rya*_*yan 5

session_start();如果尚未创建会话,则仅调用.

那么其他时候,当它是1或2?

呼叫session_start();您不论if (empty($_SESSION)) {声明