Jump to content


S4ur0N

Member Since 14/07/2004
Offline Last Active 10/07/2010, 16:42
-----

Posts I've Made

In Topic: Problema Com Sessions E Classes

09/12/2009, 23:26

No último trecho que código que você postou, tenta substituir a linha:
echo "$_SESSION["usuario"]->getNome()";

por...

echo $_SESSION["usuario"]->getNome();

sem as "aspas"...
Mais uma coisa, não reli o tópico pra ver se já foi perguntado... o PHP está exibindo os erros pra você?

In Topic: Verificar Se O Email É Válido No Servidor

28/11/2009, 11:39

Enviar email e esperar pelo erro pode não ser a melhor solução, pois vários administradores de rede configuram o servidor de email pra receber qualquer coisa e simplesmente ignorar caso a conta não exista. Isso evita que os spammers façam um flood pra descobrir as contas válidas.

In Topic: Problema Com Sessions E Classes

28/11/2009, 11:32

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.

In Topic: Problema Com Sessions E Classes

26/11/2009, 14:02

Vê se esse exemplo ajuda:

<?php
//index.php
include("Usuario.php");
session_start();

if (!isset($_SESSION["usuario"]))
    header("location: entrar.php");

echo "Olá {$_SESSION["usuario"]->getNome()}!";

?>

<?php
//entrar.php
include("Usuario.php");
session_start();

$_SESSION["usuario"] = new Usuario("João da Silva");

header("location: ./");

?>

<?php
//Usuario.php
class Usuario{
    
    private $nome;
    
    public function Usuario($nome) {
    	$this->nome = $nome;
    }
    
    public function getNome() {
    	return $this->nome;
    }

}
?>

In Topic: Problema Com Sessions E Classes

25/11/2009, 19:18

Cara, essa classe é usada pra armazenar informações do usuário na session? O que exatamente deveria acontecer e não está acontecendo?

Uma coisa, não testei, mas a forma correta de instanciar uma classe é assim: new informacoesUser(); << com os parênteses. E você precisa dar o session_start() pra iniciar a session.

IPB Skin By Virteq