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.










