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.