Jump to content
Fórum Script Brasil
  • 0

(Resolvido) Login


Nill

Question

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?

Edited by Nill
Link to comment
Share on other sites

3 answers to this question

Recommended Posts

  • 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 to comment
Share on other 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 to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152k
    • Total Posts
      651.5k
×
×
  • Create New...