PHP - Log in Script Não Criando Sessões

Eu tenho um script de login onde eu consegui fazer usuários e fazer o login com sucesso. Agora, meu problema é que sempre que tento usar meu método de proteger páginas, estou vendo se existe uma SESSION para 'usuário' se não for direciona você de volta para a página de login.

Aqui estou eu checando a sessão,

require("common.php"); 


if(empty($_SESSION['user'])) 
{ 

    header("Location: login"); 

    die("Redirecting to login"); 
} 

Aqui é onde eu estou definindo a minha sessão, eu estou apenas definindo um session_start (); em login.php

if($login_ok) 
    { 

        unset($row['salt']); 
        unset($row['password']); 

        $_SESSION['user'] = $row; 

        header("Location: home?worked=1"); 
        die("Redirecting to: home?worked=1");
        session_start(); 
    } 
    else 
    { 
        print("Login Failed."); 
        $submitted_username = htmlentities($_POST['username'], ENT_QUOTES, 'UTF-8'); 
    } 
} 

O que isso faz é fazer o login, e ele irá processar e me levar para a minha home page, em seguida, processar o cabeçalho de volta para a página de login agindo como se eu não estivesse logado. Eu testei um falso login e está dizendo que o seu o login correto.

Obrigado por qualquer ajuda, estou puxando meu cabelo aqui!

Necro

EDITAR

Eu mudei session_start (); para o topo do meu common.php e tudo é perfeito.

questionAnswers(3)

yourAnswerToTheQuestion