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

Problema com Login


Black_34

Pergunta

Ola Boa Tarde a todos Gostaria da ajuda de você para resolver este pequeno problema tenho um sistema de login e após o usuario efetuar o login , passa uma pagina onde há a verificação dos dados para ver se usuario é cadastrado ou não

conforme segue os códigos.

index.php

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Teste de Script</title>
</head>
<body>
<form action="autentica.php" method="post" name="formautentica" id="formautentica">
  <table border="0" cellpading="0" cellspacing="0" width="30%">
    <tr> 
      <td width="19%"><strong>Usuário:</strong></td>
      <td width="81%"> <input type="text" name="user" size="25"></td>
    </tr>
    <tr> 
      <td width="19%"><strong>Senha:</strong></td>
      <td width="81%"> <input type="password" name="senha" size="10"></td>
    </tr>
    <tr> 
      <td colspan="2" align="center"> <input name="btnlogin" type="submit" id="btnlogin" value="Logar "></td>
    </tr>
  </table>
</form>
</body>
</html>
autentica.php
<?php
//FAZEMOS O INCLUDE DO  ARQUIVO DE CONFIG
require_once("config.php");
//RECEBE OS DADOS DO FORMULÁRIO
$usuario1   =   $_POST[user]; 
// ASPAS ESCARPADAS EVITANDO ASPAS SIMPLES 
$usuario =  addslashes($usuario1);
// RECEBE OS DADOS DE USER DA SENHA 
$senha1     =   $_POST[senha];
// DA O MD5 PARA  CRIPTOGRAFIA 
$senha  = md5($senha1); 

//VERIFICAMOS USUÁRIO E SENHA COMPARANDO COM OS DADOS DO BANCO MYSQL
$sql   =   mysql_query("SELECT ID_USUARIO, NOME_USUARIO FROM tb_usuarios 
                       WHERE  USUARIO  =  '$usuario' AND SENHA    =  '$senha'") 
                       or die("ERRO NO COMANDO SQL");

//VERIFICAMOS AS LINHAS AFETADAS PELA CONSULTA
$row   =  mysql_num_rows($sql);

//VERIFICAMO SE RETORNOU ALGO
if($row == 0) 
{
    echo "Erro: Usuário ou Senha inválidos";
    echo "<br>";
    echo "<a href='index.php'>voltar</a>";
}
//SE $row É DIFERENTE DE ZERO, RETORNOU ALGO
else 
{ 
     //PEGA OS DADOS DO MYSQL E ATRIBUIMOS O VALOR A VARIAVEL
     $id   =   mysql_result($sql, 0, "ID_USUARIO");
     $nome =   mysql_result($sql, 0, "NOME_USUARIO");
     //INICIALIZAMOS A SESSÃO
     session_start();
     //PASSAMOS AS VARIÁVEIS PARA SESSÃO
     $_SESSION[iduser]    =   $id;
     $_SESSION[nomeuser]  =   $nome;     
     //REDIRECIONAMOS PARA A PÁGINA QUE VAI EXIBIR OS DADOS
      header("Location: result.php");
}
?>
verifica.php
<?php
//INICIALIZAMOS A SESSÃO
session_start();
//VERIFICAMOS SE NÃO TEM VARIÁVEIS REGISTRADAS
if( (!isset($_SESSION[iduser])) AND (!isset($_SESSION[nomeuser])) )
//RETORNA PARA A TELA DE LOGIN  
 header("Location: index.php");
?>
result.php
<?php
// FAZEMOS O INCLUDE DO ARQUIVO PARA VER SE A SESSÃO ESTÁ ATIVA
require_once("config.php");
// FAZEMOS O INCLUDE DO ARQUIVO CONFIG
require_once("verifica.php");
// MONTAMOS NOSSA SQL
$sql   =   mysql_query("SELECT * FROM tb_usuarios") 
                          or die("ERRO NA CONSULTA SQL");
//LINHAS TOTAIS AFETADAS PELA CONSULTA
$row  =  mysql_num_rows($sql);
// NOME DO USER LOGADO
echo "Usuário logado: ".$_SESSION[nomeuser];
// MONTANDO OS DADOS NA TABELA
 echo "<table border='1' cellpadding='0' cellspacing='0' bordercolor='#CCCCCC'>";
 echo "<tr>";
 echo "<td>ID</td>";
 echo "<td>NOME</td>";
 echo "<td>Username</td>";
 echo "</tr>";
//EXIBE OS DADOS REFERENTE AO USUÁRIO LOGADO NO MOMENTO
for($i=0; $i<$row; $i++)
{
     $user_id    =   mysql_result($sql, $i, "ID_USUARIO");
     $nome_user  =   mysql_result($sql, $i, "NOME_USUARIO");
     $user_nome  =   mysql_result($sql, $i, "USUARIO");
     
     echo "<tr>";
     echo "<td>$user_id</td>";
     echo "<td>$nome_user</td>";
     echo "<td>$user_nome</td>";
     echo "</tr>";
}
echo "</table>";
// CRIANDO LINK PARA PÁGINA DE LOGOUT
echo "<br><hr><a href='logout.php'>Logout</a>";
?>
Meu problema esta no verifica.php ele esta vazio não pega valor nenhum não sei o que pode esta acontecendo de errado, comentando o header("Location: index.php") ele vai para o result.php, mas a pagina a ser visualizada esta vazia só esta imprimindo o código HTML, não comentando ele volta para o index.php Segue a Base de dados para efetuarem teste
CREATE TABLE `tb_usuarios` (
`ID_USUARIO` SMALLINT( 6 ) NOT NULL AUTO_INCREMENT ,
`NOME_USUARIO` VARCHAR( 50 ) NOT NULL ,
`USUARIO` VARCHAR( 30 ) NOT NULL ,
`SENHA` VARCHAR( 32 ) NOT NULL ,
PRIMARY KEY ( `ID_USUARIO` ) 
) TYPE = MYISAM;
INSERT INTO `tb_usuarios` ( `ID_USUARIO` , `NOME_USUARIO` , `USUARIO` , `SENHA` ) 
VALUES ('', 'Black_33', 'alex', MD5( 'teste' ));

....

Obrigado conto com a ajuda de vocês....

Vlw

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

1 resposta a esta questão

Posts Recomendados

  • 0

Altere isso:

if( (!isset($_SESSION[iduser])) AND (!isset($_SESSION[nomeuser])) )
//RETORNA PARA A TELA DE LOGIN  
header("Location: index.php");
Para isso:
if( (!isset($_SESSION[iduser])) AND (!isset($_SESSION[nomeuser])) ){
//RETORNA PARA A TELA DE LOGIN  
header("Location: index.php");
exit;
}

Vai ter que fazer um debug do código, ver se as sessões estão sendo criadas...

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...