Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Login


Nill

Pergunta

O meu login não esta funcioando, o pior e que não está apresentando nenhuma mensagem de erro, ai não estou conseguindo resolver o problema.

O login funciona assim, tenho uma tabela que chama tbl_login outra tbl_clientes. Quando o cliente preenche os dados completos, e envia, estou distribuidos os dados nas 2 tabelas, ou seja, copiando o CPF para login e a senha que o cara digitou para senha na tbl_login, os restantes dos dados tbl_clientes tmab´´em coloco o cpf nessa tabela.

Dessa forma o login seria o cpf do cliente, e também tenho o campo cpf na tbl_clientes...

Deu pra entender + ou -?

Bom vamos lá aos scripts.

login.htm

<html>
<head>
     <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
    <title>Cadastro de Cliente</title>
     <link rel="stylesheet" type="text/css" href="css/stylesheet.css">
</head>

<body>
<form method="post" action="efetuaLogin.php" name="form">
     <table border="0" width="100%" cellspacing="0" cellpadding="0" id="table1">
      <tr>
        <td>
            <table border="0" width="100%" cellspacing="0" cellpadding="0" id="table2">
            <tr>
                <td class="pageHeading">Login da Minha Conta</td>
                <td class="pageHeading" align="right">
     &nbsp;</td>
                </tr>
        </table></td>
      </tr>
      <tr>
        <td>
        <img src="images/pixel_trans.gif" border="0" alt="" width="100%" height="10"></td>
      </tr>

      </tr>
      <tr>
        <td class="main"><b>Sua Senha</b></td>
      </tr>
      <tr>
        <td>
        <table border="0" width="100%" cellspacing="1" cellpadding="2" class="infoBox" id="table12">
          <tr class="infoBoxContents">
            <td><table border="0" cellspacing="2" cellpadding="2" id="table13">
              <tr>
                <td class="main">Login:</td>
                <td class="main">
                <input type="text" name="usuario" maxlength="40" size="20">&nbsp;<span class="inputRequirement">*</span></td>
              </tr>
              <tr>
                <td class="main">Senha:</td>
                <td class="main"><input type="password" name="senha" maxlength="40">&nbsp;<span class="inputRequirement">*</span>&nbsp;</td>

              </tr>
           </table></td>
          </tr>
        </table></td>
      </tr>
      <tr>
        <td>
        <img src="images/pixel_trans.gif" border="0" alt="" width="100%" height="10"></td>
      </tr>
      <tr>
        <td>
        <table border="0" width="100%" cellspacing="1" cellpadding="2" class="infoBox" id="table14">
          <tr class="infoBoxContents">
            <td>
            <table border="0" width="100%" cellspacing="0" cellpadding="2" id="table15">
              <tr>
                <td width="10">
                <img src="images/pixel_trans.gif" border="0" alt="" width="10" height="1"></td>
                <td>
                <input type="submit" name="buttom" value="Logar"></td>
                <td width="10">
                <img src="images/pixel_trans.gif" border="0" alt="" width="10" height="1"></td>
              </tr>
            </table></td>
          </tr>
        </table></td>
      </tr>
    </table></form>

</body>

</html>
Apos o cliente logar, eu irei precisar dos dados dele, Nome, Sobrenome e Endereço, para carregar em outra pagina restrita... Por isso os coloquei em Sessão, conforme abaixo. efetuaLogin.php
<?php
//inicio a sessão
session_start();
//include da conexão com o banco.
include "conecta_mysql.inc";
//recebo as variáveis.

$usuario = $_POST["usuario"];
$senha = $_POST["senha"];


// verifico se estão preenchidos.

if(empty($usuario) || empty($senha)){
echo "você deve informar o usuário e a senha.";
$erro +=1; //informo que ocorreu um erro.
}
//verifico se o usuário e a senha possuem mais que 5 caracteres
if(strlen($usuario) < 10 || strlen($senha) < 4){
echo "Usuário possui mais de 5 caracteres e a senha mais 4 caracteres.";
$erro +=1;
}

// agora verifico se ocorreu erro ou não.
if($erro !=0){
 echo "$erro";
echo "<br>";
echo "<a href='#' onclick='java script:history.go(-1)'>Voltar</a>";
}
//se não ocorreu erro
else{
$sql = mysql_query("SELECT * FROM tbl_login WHERE login='$usuario' and senha='$senha'");
$sql1 = mysql_query("SELECT cod, nome, sobrenome, endereco FROM tbl_clientes WHERE cpf ='$usuario'");

$rows = mysql_num_rows($sql, $sql1);
//verifico se existe registros na consulta
if($rows!=0){
//a consulta não for 0
$mostra = mysql_fetch_array($sql1); // busco todas as informações da consulta.
//incremento as variáveis.
$nome = $mostra["nome"];
$sobrenome = $mostra["sobrenome"];
$endereco = $mostra["endereco"];
$id = $mostra["cod"];

//crio as sessoes

$_SESSION["usuario"] = $usuario; //sessão do usuario
$_SESSION["senha"] = $senha; //crio a sesão da senha
$_SESSION["nomeUsuario"] = $nome; //crio tb a sessão do nome para ser exibido
$_SESSION["sobrenomeUsuario"] = $sobrenome; //crio tb a sessão do sobrenome para ser exibido
$_SESSION["enderecoUsuario"] = $endereco; //crio tb a sessão do endereco para ser exibido
$_SESSION["idUsuario"] = $id; //crio tb e levo junto a sessão do id para que seja usado se precisar

//apresento uma mensagem de boas vindas usando o alert e puxando o php dentro do javascript

echo "&lt;script>
                  alert('Seja bem Vindo, " . $nome . " ');
         </script>";

//redireciono para a pagina padrão

echo "&lt;script> window.location='paginaProt.php'; </script>";

          }//fecho o if
      else{
    //por algum motuivo for 0 a consulta
    echo "&lt;script>alert('Usuário e senha Não reconhecidos.'); history.back()</script>";
    //se for 0 mostro mensagem e utilizo a função js para voltar para a pagina.
   }//fecho o else da consulta
}//fecho o else de verificação

mysql_close($conexao);
?>
A pagina abaixo, é um teste pra ver se esta logando. paginaProt.php
<?php
//antes de qualquer tag html devo primeiro iniciar a sessão
session_start();
//indico o arquivo que verifica se é verdade ou não,.
require("Proteger.php");

?>
<html>
<head>
<title>Pagina Protegida</title>
</head>
<body>
<h1 align="center">Está pagina é protegida</h1>
</body>
</html>

Porém quando mando logar, esta me dando a mensagem "Usuário e senha Não reconhecidos", mas esta certo o usuário e senha no banco, estou digitando corretamente

O que fiz de errado nesse código?

Editado por Nill
Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Existe isso:

$rows = mysql_num_rows($sql, $sql1);

???

mysql_num_rows retorna o número de linhas de uma determinada query, agora, como vai retornar o número de linhas de duas querys??? No manual não consta nada sobre essa sintaxe que você usou, por isso acho que ela não existe...

Link para o comentário
Compartilhar em outros sites

  • 0

//se não ocorreu erro
else{
$sql = mysql_query("SELECT * FROM tbl_login WHERE login='$usuario' and senha='$senha'");

$rows = mysql_num_rows($sql);
//verifico se existe registros na consulta
echo "$rows";
if($rows!=0){

//pegar os dados da tbl_clientes
$sql1 = mysql_query("SELECT cod, nome, sobrenome, endereco FROM tbl_clientes WHERE cpf ='$usuario'");

//a consulta não for 0
$mostra = mysql_fetch_array($sql1); // busco todas as informações da consulta.
//incremento as variáveis.
$nome = $mostra["nome"];
$sobrenome = $mostra["sobrenome"];
$endereco = $mostra["endereco"];
$id = $mostra["cod"];

//crio as sessoes

$_SESSION["usuario"] = $usuario; //sessão do usuario
$_SESSION["senha"] = $senha; //crio a sesão da senha
$_SESSION["nomeUsuario"] = $nome; //crio tb a sessão do nome para ser exibido
$_SESSION["sobrenomeUsuario"] = $sobrenome; //crio tb a sessão do sobrenome para ser exibido
$_SESSION["enderecoUsuario"] = $endereco; //crio tb a sessão do endereco para ser exibido
$_SESSION["idUsuario"] = $id; //crio tb e levo junto a sessão do id para que seja usado se precisar

//apresento uma mensagem de boas vindas usando o alert e puxando o php dentro do javascript

echo "<script>
                  alert('Seja bem Vindo, " . $nome . " ');
         </script>";

//redireciono para a pagina padrão

echo "<script> window.location='paginaprot.php'; </script>";

          }//fecho o if
      else{
    //por algum motuivo for 0 a consulta
    echo "<script>alert('Usuário e senha Não reconhecidos.'); history.back()</script>";
    //se for 0 mostro mensagem e utilizo a função js para voltar para a pagina.
   }//fecho o else da consulta
}//fecho o else de verificação

mysql_close($conexao);

Beleza, resolvido esse problema, agora esta chamando o 'paginaprot.php', porém a pagina fica em branco? o que pode ser...

Consegir descobri o erro, vlw ai pessoal

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652,1k
×
×
  • Criar Novo...