Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

-Z3R0-

[Resolvido] Erro Login ²+¹

Recommended Posts

Erro não ta mostrando o login do usuario ao logar e tbm não desloga =/ da erro

aki os codigos :

 

Aki codigo do login.php

 

<?php
Include('conexao.php'); //ARQUIVO DE CONEXAO

/**********
# COLETA #
**********/
$Usuario           = $_POST['txt_login_user']; // Pega do post
$Senha             = $_POST['txt_login_pass']; // Pega do post

/*consulta tabelas mysql para comparar com o digitado nas text box */
//$SQL               = mysql_query('SELECT * FROM cadastrados WHERE login = "'.$Usuario.'" AND senha = "'.$Senha.'" ');
$SQL               = mysql_query("SELECT COUNT(`id`) FROM `cadastrados` WHERE login = '$Usuario' AND senha = '$Senha'");
$linha             = mysql_fetch_row($SQL);
//conpara e executa comandos se a condição for verdadeira
if($linha[0] != 0)
{
session_start();
//vetor com a tabela referente a variavel $SQL
$dados        = mysql_fetch_assoc($SQL);

$_SESSION['id'] 	= $dados   ['id']	 ;
$_SESSION['login']  = $dados   ['login'] ;

header('Location: ressul_P.php');
}
else
{
//redireciona para index.php com tipo um valor erro para que seja conparado la msm na pagina inicial de login =D
header ("Location: index.php?status=erro");
}

?>

 

ressul_P.php

 

<?php

//inicia secão
session_start();
$login  = $_SESSION['id'];
$login  = $_SESSION['login'];

if (isset($_SESSION['login']) && (int)$_SESSION['id']>0) { echo 'você pode ver!'; } else { echo 'vaza daqui!'; }

?>

<html>
<head>

	<link rel="stylesheet" type="text/css" href="css/stilo_site.css"/>

</head>
<body>

<form action="" name="fr1">

<table width="10%" class="Logado" border="1" cellpadding="5" cellspacing="0" align="right" >
<tr> <td>Seja Bem Vindo <?php  echo $login; ?> </td></tr>
<tr> <a href="logout.php">Sair</a></tr>
</table>

</form>
</body>
</html>

 

Logout.php

 

<?php 
session_start();
if (isset($_SESSION['login']) && (int)$_SESSION['id']>0)
{
session_destroy();
header('Location: index.php'); } 
else 
{
 echo 'Você não pode Deslogar sem ta logado erro , tente logar primeiro Oo!'; 
}
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa tarde

 

Ele acusa alguma mensagem de erro? habilite as mensagens de erro no seu script para vermos o que acontece. Tente mudar seu script e deixe assim:

 

<?php
include('conexao.php'); //o comando é minusculo, e o php é case-sensitive

/**********
# COLETA #
**********/
$Usuario           = $_POST['txt_login_user']; // Pega do post
$Senha             = $_POST['txt_login_pass']; // Pega do post

/*consulta tabelas mysql para comparar com o digitado nas text box */
//$SQL               = mysql_query('SELECT * FROM cadastrados WHERE login = "'.$Usuario.'" AND senha = "'.$Senha.'" ');
$SQL               = mysql_query("SELECT COUNT(`id`) FROM `cadastrados` WHERE login = '$Usuario' AND senha = '$Senha'");
$linha             = mysql_fetch_row($SQL);
//conpara e executa comandos se a condição for verdadeira
if($linha[0] != 0)
{
       session_start();
       //vetor com a tabela referente a variavel $SQL
       $dados        = mysql_fetch_assoc($SQL);

       $_SESSION['id']     = $dados['id']; //se tiver espaço que nem tinha vai dar erro
       $_SESSION['login']  = $dados['login'];//idem

header('Location: ressul_P.php');
}
else
{
       //redireciona para index.php com tipo um valor erro para que seja conparado la msm na pagina inicial de login =D
       header ("Location: index.php?status=erro");
}

?>

 

 

Vou postar um exemplo meu para você ter uma noção, esse sistema é funcional:

 

login.php (somente o formulário)

<!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=utf-8" />
<title>Untitled Document</title>
</head>

<body>
<form id="form1" name="form1" method="post" action="valida.php">
 <p>Nome:
   <input type="text" name="nome" id="nome" />
 </p>
 <p>Senha:
   <input type="text" name="senha" id="senha" />
 </p>
 <p>
   <input type="submit" name="button" id="button" value="Enviar" />
</p>
</form>
</body>
</html>

 

valida.php (recebe os dados do form e verifica no banco)

<?php

include("../con/conC.php");

       if($_SERVER['REQUEST_METHOD'] == "POST"){

               if(empty($_POST['nome']) or empty($_POST['senha'])){
                       header("Location: login.php");
                       exit;
               }

               $nome = mysql_real_escape_string($_POST['nome']);
               $pass = mysql_real_escape_string($_POST['senha']);

               $sql = "SELECT nome, usuario FROM usuarios WHERE nome = '$nome' AND senha = '$pass' LIMIT 1";
               $consulta = mysql_query($sql);

               if(mysql_num_rows($consulta) != 1){
                       echo "Login inválido<br />";
                       echo "<a href='login.php'>Voltar</a>";
                       exit;
               } else {
                       $resultado = mysql_fetch_assoc($consulta);

                       if(!isset($_SESSION)) session_start();

                       $_SESSION['nome'] = $resultado['nome'];
                       $_SESSION['usuario'] = $resultado['usuario'];

                       header("Location: index.php");
               }



       } else {
               echo "Você não pode acessar essa página<br />";
               echo "<a href='login.php'>Voltar</a>";
               exit;
       }

 

index.php (quando o usuario estiver logado)

<?php

       if(!isset($_SESSION)) session_start();

       if(!isset($_SESSION['nome'])) {
               session_destroy();
               header("Location: login.php");
               exit;
       }       

?>
<!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=utf-8" />
<title>Untitled Document</title>
</head>

<body>
<table width="400" border="0" align="center" cellpadding="0" cellspacing="0">
 <tr>
   <td colspan="3">Olá - <?php echo $_SESSION['nome']; ?> - <a href="logout.php">Sair</a></td>
 </tr>
 <tr>
   <td> </td>
   <td> </td>
   <td> </td>
 </tr>
 <tr>
   <td> </td>
   <td> </td>
   <td> </td>
 </tr>
</table>
</body>
</html>

 

logout.php (para deslogar o usuario)

<?php

       session_start();
       session_destroy();
       header("Location: login.php");
       exit;

Compartilhar este post


Link para o post
Compartilhar em outros sites

essa query você seleciona apenas a contagem

$SQL = mysql_query("SELECT COUNT(`id`) FROM `cadastrados` WHERE login = '$Usuario' AND senha = '$Senha'"); 

e aki você está tentando pegar o campo id e login, impossível

$dados = mysql_fetch_assoc($SQL); 

       $_SESSION['id']         = $dados   ['id']        ; 
       $_SESSION['login']  = $dados   ['login'] ; 

conselho.

apaga esse código seu e faça tudo de novo, e faça bem feito!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.