Ir para conteúdo

POWERED BY:

Arquivado

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

Vandilson Lima

[Resolvido] Falha sistema de login

Recommended Posts

Olá galera, em meu site criei um sistema de login, que até então funciona perfeitamente, porém eu estou mudando este sistema.

O atual, ao logar no site, ele redireciona para uma outra pagina, que é restrita com uma session, porem agora estou á fazer de uma outra forma login

 

 

Agora em meu site todas as paginas tem a opção de login, e o que vai aconteder é o seguinte:

 

Caso o usuario não esteja logado, exibir os campos de login e senha, se estiver logado, mostrar o painel de controle do usuario no local onde ficaria os campos de login e senha,( ou seja muda somente uma parte da pagina ao logar)

 

Até ai consegui fazer tudo certinho, mas o que acontece , é que esse sistema de login está aceitando login e senha em branco, e como tenho mtos cadastros ainda sem login e senha isso tá complicando.

 

Vou postar aqui o codigo que autentica, e o codigo que tem a condição da session para exibir ou não o painel de controle do usuario

 

Se alguem puder ajudar ficarei mto grato

 

 

 

 

 

 

autentica.php

 

<?php
	  //FAZEMOS O INCLUDE DO ARQUIVO DE CONFIG

	  require_once("config.php");

	  //RECEBE OS DADOS DO FORMULÁRIO

	  $login = $_POST["campo_login"];

	  // ASPAS ESCARPADAS EVITANDO ASPAS SIMPLES

	  $login = addslashes($login);

	  // RECEBE OS DADOS DE USER DA SENHA

	  $senha = $_POST["campo_senha"];

	  // DA O MD5 PARA CRIPTOGRAFIA



	   

	  //VERIFICAMOS USUÁRIO E SENHA COMPARANDO COM OS DADOS DO BANCO MYSQL

	  $sql = mysql_query("SELECT codigo, login, senha,nome,codigo FROM cadastro_de_bandas

	  WHERE login = '$login' 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)

	  {

	 header("Location:login_incorreto.php");

	  }

	  //SE $row É DIFERENTE DE ZERO, RETORNOU ALGO

	  else

	  {

	  //PEGA OS DADOS DO MYSQL E ATRIBUIMOS O VALOR A VARIAVEL

	  $id = mysql_result($sql, 0, "codigo");

	  $nome = mysql_result($sql, 0, "login");
	  
	  $senha_user = mysql_result($sql, 0, "senha");
	  
	   $nome_banda = mysql_result($sql, 0, "nome");
	   
	   $autorizado = "autorizado";

	  //INICIALIZAMOS A SESSÃO

	  session_start();

	  //PASSAMOS AS VARIÁVEIS PARA SESSÃO

	  $_SESSION[iduser] = $id;

	  $_SESSION[nomeuser] = $nome;
	  
	   $_SESSION[senhauser] = $senha_user;
	   
	   $_SESSION[nomebanda] =  $nome_banda;
	   
	   
	   $_SESSION[acesso] =  $autorizado;
	   
	   
	  
	  $id_logado = $_SESSION[iduser];

	  //REDIRECIONAMOS PARA A PÁGINA QUE VAI EXIBIR OS DADOS

	  header("Location:index.php");

	  }

	  ?>

 

Session

 

<?php

if($_SESSION['acesso']=="autorizado" )
{
echo"<div id='topo_login'>
					</div>
					
						<div id='dentro_login_esquerda'>
						
								<div class='linha_login_esquerda'></div>
								
								<div class='linha_login_esquerda'><font class='fonte-form-login2'>Bem Vindo ao Undersound !!! </font> </div>
								
								<div class='linha_login_esquerda'><font class='fonte-form-login4'><em>Chipset Zero </em></font></div>
								
								<div class='linha_login_esquerda'><font class='fonte-form-login3'><em>Guarulhos - SP </em></font></div>
								
								<div class='linha_login_esquerda' align='center'>
								  <label></label>
								</div>
						
						</div>
						
						
						<div id='dentro_login_direita'>
						
								<div class='linha_login_direita'><font class='fonte-form-login3'><a href='#'>Alterar Senha  </a></font><br />
								  <font class='fonte-form-login3'> <a href='#'>Página da Banda </a></font></div>
						
						</div>";
}
else 
{
echo $_SESSION['acesso'];
echo"<div id='topo_login'>
					</div>
					
						<div id='dentro_login_esquerda'>
						
						
						<form action='autentica.php'  enctype='multipart/form-data' method='post'>
						
						
						
								<div class='linha_login_esquerda'><font class='fonte-form-login'>Nome de Usuário:</font> 
								</div>
								
								<div class='linha_login_esquerda'>
								  <input name='campo_login' type='text' id='campo_login' size='25' maxlength='20' />
								</div>
								
								<div class='linha_login_esquerda'><font class='fonte-form-login'>Senha:</font></div>
								
								<div class='linha_login_esquerda'>
								  <input name='campo_senha' type='password' id='campo_senha' size='25' />
								</div>
								
								<div class='linha_login_esquerda' align='center'>
								  <label>
								  <input type='submit' name='Submit' value='Entrar' />
								  </label>
								</div>
								
								
								
								
								</form>
								
								
						
						</div>
						
						
						<div id='dentro_login_direita'>
						
								<div class='linha_login_direita'><font class='fonte-form-login2'><a href='#'>Recuparar Senha</a> </font><br />
								  <font class='fonte-form-login2'> <a href='#'>Cadastre Sua Banda</a> </font></div>
						
						</div>";
						
}

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

O problema é esse:

e como tenho mtos cadastros ainda sem login e senha isso tá complicando.

 

como você tem usuarios com login e senha em branco, o select ta certo, ja que o usuario nao digita nada, e no banco nao tem nada.

 

você precisa validar no submit e no server, antes de fazer o select, verifique se os campos estão vazios e impeça que o usuario faça o login

Compartilhar este post


Link para o post
Compartilhar em outros sites

Seu arquivo original tem todos esses espaços mesmo?

Primeiro antes de fazer a validação, teste se está vazio os campos.

if( $login != '' && $senha != '' )
	{
		//faz todo o processo normalmente
	}
	else
		echo 'Você deve informar usuário e senha';

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tem muitos espaços realmente meu codigo, esse fiz na pressa pra postar aqui,, mas vou formatá-lo de uma forma organizada .,rsrsrsr

 

 

Agora William eu entendi, esse codigo que você colocou vai se encaixar perfeitamente, pois vai vericiar o campo, caso tenha algum conteudo digitado continua o processo, caso contrario não autentica, mas como posso encaixar esse codigo no meu codigo fonte ? será colocado no codigo do login, é isso ??/

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eita.. é só jogar TODO o teu código ai no meio.. onde eu coloquei o comentário !!

Apartir dessa linha:

//VERIFICAMOS USUÁRIO E SENHA COMPARANDO COM OS DADOS DO BANCO MYSQL
pra baixo.. é só colocar dentro do bloco do IF..

 

Não ficou claro oq fiz ?? oO

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.