I';我无法传递会话变量。它在本地主机上工作,但在服务器上不工作。(PHP 7.4)

I';我无法传递会话变量。它在本地主机上工作,但在服务器上不工作。(PHP 7.4),php,html,mysql,session,Php,Html,Mysql,Session,这是login.php 使用本地主机,我的网站工作正常。但是,在服务器上它不工作。 该网站正在与数据库连接并检查用户、电子邮件、密码,但会话未启动。 我已经从localhost和server上检查了PHP版本。它们是同一版本的PHP7.4。 我不知道如何解决这个问题,如果你知道如何解决它,我已经支付了一些有更多经验的人来解决它。但他们没有修复。所以如果你能帮我解决这个问题,请联系我,我们可以协商 谢谢大家 require_once 'php/dbconfig.php'; class USE

这是login.php

使用本地主机,我的网站工作正常。但是,在服务器上它不工作。 该网站正在与数据库连接并检查用户、电子邮件、密码,但会话未启动。 我已经从localhost和server上检查了PHP版本。它们是同一版本的PHP7.4。 我不知道如何解决这个问题,如果你知道如何解决它,我已经支付了一些有更多经验的人来解决它。但他们没有修复。所以如果你能帮我解决这个问题,请联系我,我们可以协商

谢谢大家


require_once 'php/dbconfig.php';


class USER
{

    private $conn;

    public function __construct()
    {
        $database = new Database();
        $db = $database->dbConnection();
        $this->conn = $db;
    }

    public function runQuery($sql)
    {
        $stmt = $this->conn->prepare($sql);
        return $stmt;
    }

    public function register($fname, $mname, $lname, $uname, $dob, $pnumber, $streetname, $number, $city, $state, $postcode, $country, $umail, $upass, $usertype )
    {
        try
        {
            $new_password = password_hash($upass, PASSWORD_DEFAULT);

            $stmt = $this->conn->prepare("INSERT INTO customers(FName,MName, LName, UserName, DOB, PNumber, StreetName, Number, City, State, PostCode, Country, Email, Password, UserType)
                                  VALUES(:fname, :mname, :lname, :uname, :dob, :pnumber, :streetname, :number, :city, :state, :postcode, :country, :umail, :upass, :usertype)");


            $stmt->bindparam(":fname", $fname);
            $stmt->bindparam(":mname", $mname);
            $stmt->bindparam(":lname", $lname);
            $stmt->bindparam(":uname", $uname);
            $stmt->bindparam(":dob", $dob);
            $stmt->bindparam(":pnumber", $pnumber);
            $stmt->bindparam(":streetname", $streetname);
            $stmt->bindparam(":number", $number);
            $stmt->bindparam(":city", $city);
            $stmt->bindparam(":state", $state);
            $stmt->bindparam(":postcode", $postcode);
            $stmt->bindparam(":country", $country);
            $stmt->bindparam(":umail", $umail);
            $stmt->bindparam(":upass", $new_password);
            $stmt->bindparam(":usertype", $usertype);


            $stmt->execute();

            return $stmt;
        }
        catch(PDOException $e)
        {
            echo $e->getMessage();
        }
    }


    public function doLogin($uname,$umail,$upass)
    {
        try
        {
            $stmt = $this->conn->prepare("SELECT CustomerID, UserType, UserName, FName, LName, Email, Password FROM customers WHERE UserName=:uname OR Email=:umail");

            $stmt->execute(array(':uname'=>$uname, ':umail'=>$umail,));

            $userRow=$stmt->fetch(PDO::FETCH_ASSOC);
            if($stmt->rowCount() == 1)
            {
                if(password_verify($upass, $userRow['Password']))
                {
                    $_SESSION['user_session'] = $userRow['CustomerID'];
                    $_SESSION['user_name']= $userRow['UserName'];
                    $_SESSION['user_fname']= $userRow['FName'];
                    $_SESSION['user_lname']= $userRow['LName'];
                    $_SESSION['user_usertype']= $userRow['UserType'];



                    return true;
                }
                else
                {
                    return false;
                }
            }
        }
        catch(PDOException $e)
        {
            echo $e->getMessage();
        }
    }

    public function is_loggedin()
    {
        if(isset($_SESSION['user_session']))
        {
            return true;
        }
    }

    public function redirect($url)
    {
        header("Location: $url");
    }

    public function doLogout()
    {
        session_destroy();
        unset($_SESSION['user_session']);
        return true;
    }
}
?>
添加会话_start();这一页的开头

<?php
session_start();  //add this line 
require_once 'php/dbconfig.php';

欢迎来到Stackoverflow。请使用编辑器正确格式化代码,这是不可读的。