php无法读取会话值

I'm working with a login.php page. when users login successfully, system will save their usernames into session.like below code:

if ($user != null) {
    $_SESSION['username'] = $user["username"];
    $_SESSION['userid'] = $user["id"];
    return 0;
}

Then the page will be located to main.php. Main.php will read the session, like below code:

session_start();
if (isset($_SESSION['username']) == false || empty($_SESSION['username']))
{
    // transfer into login page
}
else
{
    echo $_SESSION['username'];
}

The main page can't read the $_SESSION['username'], the value is null. What should I do now?

You should add session_start() at the $user check condition page.

session_start();
if ($user != null)
{
    $_SESSION['username'] = $user["username"];
    $_SESSION['userid'] = $user["id"];
    return 0;
} 

You Must add session_start() when you use SESSION variable

session_start(); //at the beginning of file 

if ($user != null) {
    $_SESSION['username'] = $user['username'];
    $_SESSION['userid'] = $user['id'];
    return 0;
} 

and then

session_start();

if (isset($_SESSION['username'])) {
    // transfer into login page
}
else
{
    echo $_SESSION['username'];
}

If you want to user session variable. you must start session before use session variable.

session_start();
if ($user != null) {
    $_SESSION['username'] = $user["username"];
    $_SESSION['userid'] = $user["id"];
    return 0;
}
session_start();
if (count($user)>0 and is_array($user)) {
    $_SESSION['username'] = $user["username"];
    $_SESSION['userid'] = $user["id"];

}