Ir ao conteúdo

Posts recomendados

Postado
$pesquisa = mysqli_query("SELECT 
	                      login_user,senha_user 
						  FROM usuarios
						  WHERE
						  BINARY
						  login_user = '$login' AND
						  senha_user = '$senha'");

Não sei se é um probema com o $ ou mas a ultima linha esta errada.

Captura de Tela (50).png

  • Moderador
Postado

@Augusto G rocha Não sei o resto do código, mas o mysqli_query() espera dois parâmetros.  O que está faltando é a conexão.

A sintaxe correta é:  

mysqli_query($conexao, "sua instrução SQL aqui");

 

Postado

o código ainda não funcional, esta assim

<?php



	error_reporting (E_ALL & ~ E_NOTICE & ~ E_DEPRECATED);
	
	$conectar = mysqli_connect ("localhost","root","","bancophp") or
	die ("Não foi possível conectar no servidor de Banco de Dados");
 if (mysqli_connect_errno())
  {
  echo "Falha em conectar com o Banco de dados: " . mysqli_connect_error();
  }
?>
<?php
/* conexao com o banco de dados, no arquivo conexao.php*/
	session_start();
include "conexao.php";

/*receber o login e a senha*/
$login = $_POST ["login"];
$senha = $_POST["senha"];

/*verifica se o login e a semha baten no bd */
$pesquisa = mysqli_query($conetar,"SELECT login_user, senha_user FROM usuario WHERE BINARY
											
								login_user = '$login' 
								AND senha_user = 
								'$senha'");
								
								$linhas = mysqli_num_rows ($pesquisa);
								
								/* se bater entra se nao retorne!!! */
					if ($linhas == true) {
						$_SESSION["login"] = $login;
						echo "<script>
						location.href = ('administracao.php')
						</script>
						";
					} 
					else {
						echo "<script>
						 alert ('LOGIN OU SENHA INCORRETO ! INFORME NOVAMENTE LOGIN E SENHA') 
						 </script>
						 <script>
						 location.href = ('index.php')
						</script>
						";
					}

ele roda dizendo que o login e a senha estão incorretos e depois aparece o erro na linha da $senha 

  • Moderador
Postado

@Augusto G rocha Bom.. o que eu vejo de anormal ali é aquele BINARY. Retira ele. você não precisa disso para fazer o select na tabela.

A comparação das linhas também pode retirar.

Tem um outro jeito melhor de se fazer a comparação, além disso o location ali você pode fazer de outra forma:

 

Arquivo conexão.php

<?php
$conexao = mysqli_connect("localhost","root","","bancophp");

Sim, apenas estas duas linhas.  E deixe a última linha sem o fechamento da tag do PHP. Porque se houver erro, ele vai avisar e encerrar.

PS: retire do seu código os  error_reporting (E_ALL & ~ E_NOTICE & ~ E_DEPRECATED); 

 

Arquivo que recebe os dados vindos dos campos login e senha

session_start();
	
$login = $_POST["email"];
$senha = $_POST["senha"];
	
//adiciona barras para evitar SQL injection
$loginSeguro = addslashes($login);
$senhaSegura = addslashes($senha);
	
//testa para saber se os campos estão vazios
if (empty($login) or empty($senha)):
    echo "<script>
          alert('Preencha todos os campos');
          history.go(-1);
          </script>";
    exit;    
endif;
	
//inclui a conexao	
include 'conexao.php';
	
//consulta ao banco de dados
$dados = mysqli_query($conecta, "SELECT id_user,
                                        login_user,
                                        senha_user 
                                 FROM usuario WHERE email ='$loginSeguro' 
                                 AND senha = '$senhaSegura' ");

//armazena na variável o número de linhas encontradas
$num = mysqli_num_rows($dados);
	
//se zero, é porque ele errou a senha ou o login
if ($num == 0):
	echo "<script>
			alert('Usuario ou senha Incorreta');
			history.go(-1);
			 </script>";
	exit;
else :
    
    //armazena a função fetch_object onde é tratado como objeto
	$linha = mysqli_fetch_object($dados);

    //armazena na variável o número ID do usuário 
	$coduser = $linha->idUsuario;
		
    //armazena na sessão o ID do usuário logado 
	$_SESSION["codusuario"] = $coduser;

    //armazena na sessão o nome do login.
    //aqui pode ser e-mail, login, nome do usuário e etc.
	$_SESSION["email"] = $login;
		
	//manda o usuário para a páginas depois de logado		
	header ("Location: sua_pagina.php");
endif;

 

Agora que vem o pulo do gato:

 

Na sua_pagina.php aquela que vem depois do login adicione isto  bem no inicio acima do <html>:

<?php
session_start();
setcookie("ck_authorized", "true", 0, "/");

/*testa se a sessão tem valor.
  Refere-se a linha lá no arquivo de login onde
  é inserido o login na sessão. */
if(!isset($_SESSION["login"])):
    header("location: index.php");
else:
    $login = $_SESSION["login"];
endif;    
?>

Este último código faz com que SE não houver sessão, jogue o usuário de volta para a tela de login sem poder burlar o sistema.

 

PS: recomendo que não apenas copie estes códigos, mas sim estude eles e implemente no seu! assim você aprende!

Postado

consegui resolver aqui, parece que o problema estava no 

$conectar = mysqli_connect

e o 

$validar_login = mysqli_query($conectar,....

que tinham que ser iguais, segue o código funcionando. acho que quebrei um monte de normas técnicas e procedimentos mas depois eu arrumo esses detalhes.

 

<?php
$conectar = mysqli_connect("localhost","root","","bancophp");
<?php
/* conexao com o banco de dados, no arquivo conexao.php*/
	session_start();
include "conexao.php";

/*receber o login e a senha*/
$login = $_POST ["login"];
$senha = $_POST["senha"];

$loginSeguro = addslashes($login);
$senhaSegura = addslashes($senha);

/*verifica se o login e a semha baten no bd */

$validar_login = mysqli_query($conectar,"SELECT login_user FROM usuario WHERE login_user = '$loginSeguro '");
$validar_senha = mysqli_query($conectar,"SELECT senha_user FROM usuario WHERE senha_user = '$senhaSegura'");								
								$linha1 = mysqli_num_rows ($validar_login);
								$linha2 = mysqli_num_rows ($validar_senha);
								
								/* se bater entra se nao retorne!!! */
					if ($linha1 == true and $linha1 == true ) {
						$_SESSION["login"] = $login;
						echo "<script>
						location.href = ('administracao.php')
						</script>
						";
					} 
					else if ($linha1 == false ) {
						echo "<script>
						 alert ('$login Não encontrado ! INFORME NOVAMENTE O LOGIN') 
						 </script>
						 <script>
						 location.href = ('index.php')
						</script>
						";
					}
						else if ($linha2 == false ) {
						echo "<script>
						 alert ('$senha INCORRETO ! INFORME NOVAMENTE SENHA') 
						 </script>
						 <script>
						 location.href = ('index.php')
						</script>
						";
					}





?>

 

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

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

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!