O caso é bem simples, é um função para autenticar um Login e Senha.
ele funciona uma parte outra não....
dentro da função existe o comando os pesquisa o usuario onde o Login = login e senha = senha. beleza
então tem a condição
se mostrar menos que 1 registro deve dar um erro e retorna a pagina de login. Porém isso não acontece.. e ele pula para a condição de negação que é buscar as informações dentro do Banco e da tabela e gravar na Session..
ele faz tudo isso menos a condição de quando tem algo errado.
a condição é essa e os arquivos segue ai em baixo.
// se não encontrar nenhum registro vai dar o error
if($this->qregistro < 1){
echo '
<script type="text/javascript">
alert("Acesso Negado / Usuario ou Senha Incorreto");
history.back(-1);
</script>
';
}
Aquivos.
class.conexao.php
<?php
########################################################
######Configuração para conectar ao Banco de Dados.#####
########################################################
class conexao{
private $host = 'localhost'; // Host ( p/ Local "127.0.0.1" )
private $user = 'root'; // Usuario do Banco de Dados
private $pass = '123456'; // Senha do Banco de Dados
private $banco = 'tcc'; // Nome do banco que sera utilizado
public $conecta_bd;
public $select_bd;
private $data;
private $novadata;
private $hora;
private $novahora;
public function conectarBanco() {
$this->conecta_bd = mysql_connect($this->host, $this->user, $this->pass) or die ('Erro ao Conectar com o Banco de Dados.');
$this->select_bd = mysql_select_db($this->banco, $this->conecta_bd) or die ('Erro ao Selecionar Banco de Dados.');
@$this->data = date("y/m/d");
@$this->novadata = substr($data,6,2).substr($data,2,3)."/".substr($data,0,2);
@$this->hora = date("H:i:s",mktime(date("H") - 1, date("i"), date("s")));
@$this->novahora = substr($hora,0,2)."hs".substr($hora,3,2)."min";
}
public function fecharBanco() {
mysql_close($this->conecta_bd);
}
}
?>
autentica.class.php
<?php
class autentica{
public $login;
public $senha;
private $sql;
private $qregistro;
private $resp;
private $registro;
public $codigo;
public $acesso;
private $sql_update;
private $exeUpdate;
public $nome; //variavel que muda se é login ou cnpj.
public $tabela;
public function autenticar() {
$this->sql = mysql_query("select * from" .$this->tabela. "where" .$this->nome."=".$this->login. "and senha = ".$this->senha);
//vai contar a quantidade de linhas que ele retorna a quantidade de pessoas cadastradas.
$this->qregistro = mysql_num_rows($this->sql);
// se não encontrar nenhum registro vai dar o error
if($this->qregistro < 1){
echo '
<script type="text/javascript">
alert("Acesso Negado / Usuario ou Senha Incorreto");
history.back(-1);
</script>
';
}else{
$this->resp = mysql_query("select * from" .$this->tabela. "where" .$this->nome."=".$this->login. "and senha = ".$this->senha);
//
$this->registro = mysql_fetch_array($this->resp);
$this->$codigo = $registro['id'];
$this->$login = $registro['cnpj'];
$this->$acesso = $registro['ultimoacesso'];
//vai atualizar a ultima hora que o usuario logou
$this->sql_update = "UPDATE" .$this->tabela. "SET acesso = now() where id =" .$this->codigo;
$this->exeUpdate = mysql_query($this->sql_update);
}
}
}
?>
autenticar.php
<?php session_start();
//chamar o banco
if(!empty($_POST)and(empty($_POST['edtLogin'])or empty($_POST['edtSenha']))){
?>
<script type="text/javascript">
alert("Voce deve informar USUARIO e SENHA");
//History back -1 retornar uma pagina
history.back(-1)
</script>
<?php
exit();
}
include_once "_config/class.conexao.php"; // Buscando arquivo de configuração com o banco de dados.
include_once "_class/autentica.class.php";
$banco = new conexao;
$banco->conectarBanco();
$autenticacao = new autentica;
$autenticacao->autenticar;
//addslashes impede comandos sqls para tentar bular o login , ele impede comandos de programação
$autenticacao->login = addslashes($_POST['edtLogin']);
$autenticacao->senha = addslashes($_POST['edtSenha']);
//variavel que informa a tabela a selecionar
$autenticacao->nome = "cnpj";
$autenticacao->tabela = "usuarios";
//vou utilizar as sessoes agora a sessao codigo vai armazenar codigo e assim por diante
$_SESSION['codigo'] = $autenticacao->codigo;
$_SESSION['login'] = $autenticacao->login;
$_SESSION['senha'] = $autenticacao->senha;
$_SESSION['acesso'] = $autenticacao->acesso;
?>
<script type="text/javascript">
window.location='sistema/';
</script>
<?php
$banco->fecharBanco();
?>
Pergunta
JaguA
Bom dia, Boa tarde...
O caso é bem simples, é um função para autenticar um Login e Senha.
ele funciona uma parte outra não....
dentro da função existe o comando os pesquisa o usuario onde o Login = login e senha = senha. beleza
então tem a condição
se mostrar menos que 1 registro deve dar um erro e retorna a pagina de login. Porém isso não acontece.. e ele pula para a condição de negação que é buscar as informações dentro do Banco e da tabela e gravar na Session..
ele faz tudo isso menos a condição de quando tem algo errado.
a condição é essa e os arquivos segue ai em baixo.
// se não encontrar nenhum registro vai dar o error if($this->qregistro < 1){ echo ' <script type="text/javascript"> alert("Acesso Negado / Usuario ou Senha Incorreto"); history.back(-1); </script> '; }Aquivos. class.conexao.php<?php ######################################################## ######Configuração para conectar ao Banco de Dados.##### ######################################################## class conexao{ private $host = 'localhost'; // Host ( p/ Local "127.0.0.1" ) private $user = 'root'; // Usuario do Banco de Dados private $pass = '123456'; // Senha do Banco de Dados private $banco = 'tcc'; // Nome do banco que sera utilizado public $conecta_bd; public $select_bd; private $data; private $novadata; private $hora; private $novahora; public function conectarBanco() { $this->conecta_bd = mysql_connect($this->host, $this->user, $this->pass) or die ('Erro ao Conectar com o Banco de Dados.'); $this->select_bd = mysql_select_db($this->banco, $this->conecta_bd) or die ('Erro ao Selecionar Banco de Dados.'); @$this->data = date("y/m/d"); @$this->novadata = substr($data,6,2).substr($data,2,3)."/".substr($data,0,2); @$this->hora = date("H:i:s",mktime(date("H") - 1, date("i"), date("s"))); @$this->novahora = substr($hora,0,2)."hs".substr($hora,3,2)."min"; } public function fecharBanco() { mysql_close($this->conecta_bd); } } ?>autentica.class.php<?php class autentica{ public $login; public $senha; private $sql; private $qregistro; private $resp; private $registro; public $codigo; public $acesso; private $sql_update; private $exeUpdate; public $nome; //variavel que muda se é login ou cnpj. public $tabela; public function autenticar() { $this->sql = mysql_query("select * from" .$this->tabela. "where" .$this->nome."=".$this->login. "and senha = ".$this->senha); //vai contar a quantidade de linhas que ele retorna a quantidade de pessoas cadastradas. $this->qregistro = mysql_num_rows($this->sql); // se não encontrar nenhum registro vai dar o error if($this->qregistro < 1){ echo ' <script type="text/javascript"> alert("Acesso Negado / Usuario ou Senha Incorreto"); history.back(-1); </script> '; }else{ $this->resp = mysql_query("select * from" .$this->tabela. "where" .$this->nome."=".$this->login. "and senha = ".$this->senha); // $this->registro = mysql_fetch_array($this->resp); $this->$codigo = $registro['id']; $this->$login = $registro['cnpj']; $this->$acesso = $registro['ultimoacesso']; //vai atualizar a ultima hora que o usuario logou $this->sql_update = "UPDATE" .$this->tabela. "SET acesso = now() where id =" .$this->codigo; $this->exeUpdate = mysql_query($this->sql_update); } } } ?>autenticar.php<?php session_start(); //chamar o banco if(!empty($_POST)and(empty($_POST['edtLogin'])or empty($_POST['edtSenha']))){ ?> <script type="text/javascript"> alert("Voce deve informar USUARIO e SENHA"); //History back -1 retornar uma pagina history.back(-1) </script> <?php exit(); } include_once "_config/class.conexao.php"; // Buscando arquivo de configuração com o banco de dados. include_once "_class/autentica.class.php"; $banco = new conexao; $banco->conectarBanco(); $autenticacao = new autentica; $autenticacao->autenticar; //addslashes impede comandos sqls para tentar bular o login , ele impede comandos de programação $autenticacao->login = addslashes($_POST['edtLogin']); $autenticacao->senha = addslashes($_POST['edtSenha']); //variavel que informa a tabela a selecionar $autenticacao->nome = "cnpj"; $autenticacao->tabela = "usuarios"; //vou utilizar as sessoes agora a sessao codigo vai armazenar codigo e assim por diante $_SESSION['codigo'] = $autenticacao->codigo; $_SESSION['login'] = $autenticacao->login; $_SESSION['senha'] = $autenticacao->senha; $_SESSION['acesso'] = $autenticacao->acesso; ?> <script type="text/javascript"> window.location='sistema/'; </script> <?php $banco->fecharBanco(); ?>Link para o comentário
Compartilhar em outros sites
4 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.