Ir ao conteúdo

Posts recomendados

Postado

Boa tarde. Estou fazendo um sistema, e na parte de login está dando certo (em localhost):


image.thumb.png.7b25ef33d15a7afb22ea255bdaa83a2b.png

 

Veja meu código:

 

<?php
	session_start();
	include("conecta.php");

$login=$_POST['cpf'];
$senha=$_POST['senha'];
$senha_md5=md5($senha);
$pontos = array("-",".");
$result = str_replace($pontos, "", $login);
$login = $result;

$busca_sql = "SELECT * FROM `autenticacao` WHERE login = '{$login}' and senha='{$senha}';";
$result_sql= mysqli_query($connect, $busca_sql) or die ('Algo deu errado na query Busca de Login: '.mysqli_error($connect));
$usuario=mysqli_fetch_assoc($result_sql);

if($usuario == null) {
		header("Location: login.php?login=0");
		
	} else {
		$_SESSION['usuario_logado'] = true;

		
		$nome_sql = "SELECT * FROM `usuario` WHERE cpf = '{$login}';";
		$result_nome= mysqli_query($connect, $nome_sql) or die ('Algo deu errado na query Busca do Nome: '.mysqli_error($connect));
		$nome=mysqli_fetch_assoc($result_nome);
		$_SESSION['usuario_nome']=$nome["nome"];
		$_SESSION['usuario_sobrenome']=$nome["sobrenome"];
		$_SESSION['usuario_cpf']=$nome["cpf"];
		setcookie("usuario_logado", $nome_completo);
		header("Location: login.php?login=1"); 
	}
	die();
?>
<div class="imagem-banner"> 
			<img class="img-thumbnail" src="../images/Principal.jpg"> 
</div>

 

Porém, ao enviar para o meu host (000webhostapp) exatamente o mesmo código, dá um erro ao tentar fazer o login, veja:

 

image.thumb.png.e883fdcd15c8fac409890d10ade4c887.png

 

Alguém pode me ajudar?

 

P.S: Reforçando --> O que está no localhost (onde está funcionando tudo) são exatamente o mesmos arquivos que enviei para o webhost, mudando apenas o arquivo "conecta.php" que possui os dados do banco de dados.

Postado
  Em 09/05/2019 às 18:38, Leonardo0308 disse:

Boa tarde @Lucas-Guamá

 

Onde está sendo setado o valor dessa variável $nome_completo? 

 

setcookie("usuario_logado", $nome_completo);

 

Expandir  

Olá. Obrigado por responder!

$nome_completo não esta setado em nenhum lugar. Porém, quando você disse isso eu setei um valor qualquer pra ela no meu código "$nome_completo = 'oi'". Quando fiz isso, todos os erros sumiram, porém na tela de login aparece a apenas a mensagem "Logado com sucesso", mas eu realmente não estou logado.
image.thumb.png.2ef4e353ec3682a460bc17ad46354a9e.png

 

Eu sei que não estou logado, pois ao estar logado deve acontecer duas coisas:
1 - Deve aparecer: "Você está logado como "nome do usuário logado aqui"
2 - A barra de navegação deve mostrar as opções "Minha Conta", "Enviar TCC" e "Sair".

 

Veja como fica quando faço login no sistema, mas pelo localhost (que é onde está funcionando):

image.thumb.png.abdf4217de4b0179285f6ec1c179d88a.png

 

É como se quando eu faço login (no webhost) ele não fizesse o login de fato, setando SESSION e COOKIE.

Postado
  Em 09/05/2019 às 18:50, Leonardo0308 disse:

@Lucas-Guamá uma coisa boba, mas que as vezes pode resolver o problema ou verificar se é realmente problema no código, é limpar os cookies e cache do navegador.

Expandir  

Não é no navegador, pois já testei em guia anônima e testei também no meu celular.

O código está funcionando 100%, mas apenas em localhost. No webhost fica dando esse problema, não sei porque, já que é exatamente o mesmo código que está em localhost.

Postado
  Em 09/05/2019 às 19:04, Leonardo0308 disse:

As configurações da hospedagem são as mesma do servidor que você está rodando local?

Expandir  

Não. Há um arquivo chamado "conecta.php", nele há as informações de acesso ao banco (root, db, senha etc..). O localhost possui as informações do Banco de Dados do localhost e o webhost possui as informações de acesso ao Banco de Dados do webhost.

Postado

Bem, os banco de dados são diferentes, eu nunca mexi em MariaDB. 

 

Não sei informar se o mysqli é compatível com o MariaDB.

 

Mas esse pode ser uma possível causa dos problemas.

Postado
  Em 09/05/2019 às 19:32, Leonardo0308 disse:

Bem, os banco de dados são diferentes, eu nunca mexi em MariaDB. 

 

Não sei informar se o mysqli é compatível com o MariaDB.

 

Mas esse pode ser uma possível causa dos problemas.

Expandir  

Opa, isso já é uma luz! Vou procurar saber como alterar de MariaDB para MySQL. Muito obrigado pela sua ajuda.

  • Curtir 1
Postado

@Lucas-Guamá Cara eu notei alguns erros no seu código.

 

Tipo você utiliza include em algo que você realmente vai precisar, nesse caso é melhor e mais recomendado você utilizar o require.

 

Pela posição do elemento <div> você coloca o código php dentro do elemento html, até ai não tem problema, mas você utiliza session, e session deve ser declarada antes do elemento <html> e do <!DOCTYPE html>, você também utiliza header, que também deve ser colocado antes dos elementos citados.

 

Na sua consulta ao banco de dados você coloco o "and" em minúsculo sendo que o certo é "AND" em maiúsculo.

 

Você também não tem nenhum filtro nos dados que vem do método post, e muito menos um sistema de validação de usuário.

image.thumb.png.5bffb8f9283b564ac7da1e376de917bb.pngimage.thumb.png.69b078bda9de8ad6a12282493b1d47b8.png

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Mostrar mais  

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

Mostrar mais  
×
×
  • Criar novo...