Jump to content


Photo

Fazendo Login


  • Faça o login para participar
Nenhuma resposta neste tópico

#1 wesley.tome

wesley.tome

    24 Horas

  • Usuários
  • 422 posts
  • Sexo:Masculino

Posted 09/12/2006, 12:21

Fala galera, blz? Tive umas dúvidas e postei aqui, mas depois fui estudando e consegui fazer. Segue os passos do login.

1.
Aqui é a página do form, verifico se foi enviado com o campo hidden "posted" e crio um objeto.
session_start();

include ("lib/login.class.php");

//ACOES DO SUBMIT
if ($_POST["posted"]=="ok"){
	//CAMPOS
	$str_login = $_POST['login'];
	$str_senha = $_POST['senha'];
	
	$logar = new autenticaUsuario();
	$logar->logar($str_login, $str_senha);
}

2.
O arquivo login.class.php tem um include de uma classe que faz conexão com o BD, esta classe também possui outros métodos. Vou rezumir.
//classe database
class database{
	//**Atributos da classe database
	var $db_HOST = "localhost";
	var $db_USER = "root";
	var $db_PASS = "";
	var $banco   = "teste"; 
	var $CONST_ERRO = "erro na conexao do nosso banco"; 
	var $dbc;
	
	function database()
		{//metodo construtor
		$this->connect_db();
	}
	
	//** metodos da classe database
	function connect_db()
	{//metodo de conexao
		$this->dbc = mysql_connect($this->db_HOST,$this->db_USER,$this->db_PASS);
		$m = mysql_select_db($this->banco,$this->dbc);
		return($dbc);
	}  
	
	function query_db($query)
	{//executa query no banco
		$tmp = mysql_query($query);
		return($tmp);
	}	
	function num_rows_db($query)
	{//retorna numero de registros de uma query
		$tmp = mysql_num_rows($query);
		return($tmp);
	}  
};

3.
Agora o arquivo de login.
require ("conexao.class.php");

//CRIA A CONEXÃO COM O BANCO
$db = new database();

class autenticaUsuario extends database{
	var $msg;
	var $bolExibeForm;
	
	//CONTRUTOR
	function autenticaUsuario($login, $senha){
		$this->login = $login;
		$this->senha = $senha;
		$this->bolExibeForm = True;
	}
	
	//FUNCAO QUE EFETUA O LOGIN
	function logar($login,$senha){
		$sql="SELECT * FROM nome_tabela WHERE login='$login'";
		$query = database::query_db($sql);
		$total_query = database::num_rows_db($query);
		
		#SE ENCONTROU ALGUM USUÁRIO, VERIFICA A SENHA.
		if($total_query > 0 ):
			#RESGATA OS VALORES DOS REGISTROS DO USUÁRIO REFERENTE AO LOGIN INFORMADO.
			$dados = mysql_fetch_array($query);
			#VERIFICA SE A SENHA INFORMADA É VÁLIDA.
			$sql ="SELECT * FROM nome_tabela WHERE login='$login' AND senha='$senha'";
			$query = database::query_db($sql);
			$total_query = database::num_rows_db($query);
			if($total_query > 0):
				$this->msg = "LOGADO COM SUCESSO";
				$this->bolExibeForm= False;
				header("Location: home.php");
			else:
				$this->msg = "SENHA INVÁLIDA";
				$this->bolExibeForm= True;
			endif;
		else:
			$this->msg = "LOGIN INVÁLIDO";
			$this->bolExibeForm= True;
		endif;
	}
}

Edição feita por: wesley.tome, 11/12/2006, 22:51.

.................




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq