PHP $_SESSION 返回不正确的值

PHP $_SESSION returning incorrect value

好的,所以当我执行初始函数时它工作正常,用户名存储在数据库中,但是当我 运行 第二个函数将用户名附加到用户选择输入的文本时IF 语句 returns 'no user' - 当一个用户被定义时...

如果有人知道如何解决这个问题那就太好了 - 我目前正在学习 PHP 和 mysql 所以如果有任何不正确的地方我很抱歉

<?php

session_start()

    // connect to the database
    mysql_connect("localhost", "root", "");
    mysql_select_db("ajaxchat");



    // read the stage

    $stage = $_POST['stage'];

    // primary code
    if($stage == 'initial') {

        // check the username       
        $user = $_POST['user'];

        $query = mysql_query("SELECT * FROM chat_active WHERE user='$user'");
        if (mysql_num_rows($query) == 0) {

            $time = time();

            // 
            mysql_query("INSERT INTO chat_active VALUES ('$user', '$time')");

            // set the session
            $_SESSION['user'] = $user;

            echo 'good';
        }
        else {
            echo 'taken';
        }
    }

/////////////// PROBLEM FUNCTION ///////////////
================================================

    else if($stage == 'send') {
        // get the textdomain
        $text = $_POST['text'];

        // check for user_error
        if (isset($_SESSION['user'])) {
            $user = $_SESSION['user'];
            echo $user.' - '.$text.'<br />';
        }
        else {
            echo 'no user';
        }
    }
    else {
        echo 'error';
    }
?>

这是javascript:

<script type="text/javascript">
    function chat_initialise() {
        var user = document.getElementById("chat_user").value;

        $.post("./chat.php", {stage:"initial", user:user}, function(data) {
            if (data == "good") {
                $('#initial').css('display', 'none');
                $('#content').css('display', 'inline')
            }
            else {
                alert("That username is taken! Please try another.");
            }
        });
    }

    function chat_send() {
        var text = document.getElementById("chat_text").value;

        $.post("./chat.php", {stage:"send", text:text}, function(data) {
            document.getElementById("chat_text").value = '';
            $('#window').text($('#window').text() + data);
            // alert(data)
        });
    }
</script>

我修复了它 - 更改了 POST 函数以获取当前用户名,然后将其重新定义为第二个函数中的变量:

else if($stage == 'send') {
    // get the textdomain
    $text = $_POST['text'];
    $user = $_POST['user'];

    echo $user;

    // check for user_error
    if (isset($_SESSION['user'])) {
        $_SESSION['user'] = $user;
        echo $user.' - '.$text.'<br />';
    }
    else {
        echo 'no user';
        var_dump($_SESSION);
    }
}

感谢大家的帮助!!