Php 我的会话在本地模式下工作,但在服务器模式下不工作

Php 我的会话在本地模式下工作,但在服务器模式下不工作,php,session,login,Php,Session,Login,我有这个PHP代码,这是一个简单的登录系统 <?php session_start(); // Connecting to DB mysql_connect("localhost", "database1", "dbdb1"); mysql_select_db("dbdb"); // Getting session info and params AFTER sending POST params print_r($_SESSION)

我有这个PHP代码,这是一个简单的登录系统

<?php
    session_start();

    // Connecting to DB

    mysql_connect("localhost", "database1", "dbdb1");
    mysql_select_db("dbdb");

    // Getting session info and params AFTER sending POST params

    print_r($_SESSION);

    function doLogin($username_post, $password_post){
        $select_login = "
            SELECT 
                id, 
                username 
              FROM 
                users 
            WHERE 
                username = '$username_post'
                password = '$password_post'
            LIMIT 1";

        $query_login = mysql_query($select_login);
        $rows_login = mysql_num_rows($query_login);

        $array  = mysql_fetch_assoc($query_login);

        if($rows_login>0){

            $_SESSION['user_in'] = True;

            return True;

        }else{
            return False;
        }
    }

    // LOGIN

    $username           = $_POST['username'];                                       
    $password = $_POST['password'];

    if(!empty($username) && !empty($password)){
        doLogin($username, $password);
    }
?>

<!DOCTYPE HTML>
<html>
    <body>
        <form action = "" method = "post">
                <input type = "text" name = "username"/>
                <input type = "password" name = "password" />

                <button type="submit" name = "submit">Login</button>

        </form>
    </body>
</html>

我猜您的数据库服务器与您的本地计算机具有相同的登录名和数据的相同数据库


如果数据库没有返回任何行,它将不会设置会话值

可能您的服务器不支持会话。使用
phpinfo()
命令检查,并检查
会话支持
参数是否已启用,如果已启用,请与服务器管理员检查其他会话参数

编辑1:您应该在where条件之间使用

$select_login = "
    SELECT 
        id, 
        username 
      FROM 
        users 
    WHERE 
        username = '$username_post' AND
        password = '$password_post'
    LIMIT 1";

是的。相同的数据库。它记录良好,但不存储会话。可能重复
$select_login = "
    SELECT 
        id, 
        username 
      FROM 
        users 
    WHERE 
        username = '$username_post' AND
        password = '$password_post'
    LIMIT 1";