Fui testar todo o programa mas no primeiro, quem tem o echo tá dando erro e não consegue carregar a página. Fiz o programa inclusive um pouco mais simples, pois ele imprime direto com o echo sem testar e possivelmente transferir para o entrar.php, pois ele só é chamado se passar pelo login (e assim já foi testado).
Sabe porque está dando erro no echo???
Se você tirou a verificação, provavelmente tá dando erro porque a $_SESSION['usuario'] não existe.
2-
Quando coloco include("Usuario.php");
$_SESSION["usuario"] = new Usuario("João da Silva");
ele já "carrega" a função Usuario? Porque pelo que aprendi primeiro faria
a= new Usuario();
$_SESSION["usuario"]-> Usuario(João da Silva");
É como se fosse um construtor?
Usuário é uma classe, não uma função.
O include é pra carregar os arquivos.
$a= new Usuario(); << você tá instanciando um objeto Usuario na variável $a.
$_SESSION["usuario"]-> Usuario(João da Silva"); << você está chamando o método Usuario() do objeto que tá instanciado na variavel 'usuario' da session.
Você poderia fazer assim:
$a = new Usuario("João da Silva"); << instancia o objeto na variável
$_SESSION['usuario'] = $a; << joga a variável na session
1-
Preciso carregar todas as informações pessoais do usuario. Neste programa como faço? Pensei em criar um getNome, outro getEmail que acesso o MySQL tendo o usuario do getNome etc.
e acesso as informações por
$_SESSION["usuario"]->getNome();
$_SESSION["usuario"]->getEmail();
etc.
É assim mesmo?
Eu faria assim: depois de submetido o formulário de login, pega todos os dados do usuario e joga numa classe Usuario na session. Eu não faria os selects dentro da classe.