Ir para conteúdo

POWERED BY:

Arquivado

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

emmanuelsiqueira30

Erro Parse error: syntax error, unexpected ';' in C:\xampp\htdocs\adocao\backend\valida.php on line 32

Recommended Posts

Pessoal não estou conseguindo achar o erro por favor alguém me ajuda:

 

<?php
	session_start();	
	//Incluindo a conexão com banco de dados
	include_once("conexao.php");	
	//O campo usuário e senha preenchido entra no if para validar
	if ((isset($_POST['email'])) && (isset($_POST['senha']))) 
	{
		$usuario = mysqli_real_escape_string($con, $_POST['email']); //Escapar de caracteres especiais, como aspas, prevenindo SQL injection
		$senha = mysqli_real_escape_string($con, $_POST['senha']);
		$senha = $senha;
			
		//Buscar na tabela usuario o usuário que corresponde com os dados digitado no formulário
		$result_usuario = "SELECT * FROM usuario WHERE email = '$usuario' && senha = '$senha' LIMIT 1";
		$resultado_usuario = mysqli_query($con, $result_usuario);
		$resultado = mysqli_fetch_assoc($resultado_usuario);
		
		//Encontrado um usuario na tabela usuário com os mesmos dados digitado no formulário
		if (isset($resultado)) 
		{			
			$_SESSION['usuarioId'] = $resultado['id_usuario'];
			$_SESSION['usuarioNome'] = $resultado['nome'];
			$_SESSION['usuarioNiveisAcessoId'] = $resultado['niveis_acesso_id'];
			$_SESSION['usuarioEmail'] = $resultado['email'];
			
			if ($_SESSION['usuarioNiveisAcessoId'] == "1")
			{
				header("Location: administrativo.php");
				exit;
			}
			else ($_SESSION['usuarioNiveisAcessoId'] == "2")
			{
				header("Location: colaborador.php");
				exit;
			}
		
		}
		//Não foi encontrado um usuario na tabela usuário com os mesmos dados digitado no formulário
		//redireciona o usuario para a página de login
		else {
			//Váriavel global recebendo a mensagem de erro
			$_SESSION['loginErro'] = "Usuário ou senha Inválido";
			header("Location: index.php");
		}
	//O campo usuário e senha não preenchido entra no else e redireciona o usuário para a página de login
	} 

	else
	{
		$_SESSION['loginErro'] = "Usuário ou senha não preenchidos";
		header("Location: index.php");
	}
?>

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

esta errado

 

else ($_SESSION['usuarioNiveisAcessoId'] == "2")
			{
				header("Location: colaborador.php");
				exit;
			}

 

 

o correto

else  {   if ($_SESSION['usuarioNiveisAcessoId'] == "2"){
				header("Location: colaborador.php");
				exit;
      }
}

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
	session_start();	
	//Incluindo a conexão com banco de dados

esse session_start é meio desnecessário. coloque-o em outra code.

 

recomendo usar joomla, caso seja iniciante, para a criação do design e funcionamento do site.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Só pra fins de aprendizado, uma vez que o problema já foi resolvido, mas a forma que você usou o "else" é o que disparou o erro, o correto seria "else if":

a forma que você fez:
if(...){
	...
}
else ($_SESSION['usuarioNiveisAcessoId'] == "2")
{
	...
}

correto:
if(...){
	...
}
else if ($_SESSION['usuarioNiveisAcessoId'] == "2")
{
	...
}

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Parecia resolvido ai então agora sou direcionado para uma página que não existe. http://localhost/adocao/backend/loginusuario.php essa página só existe na raiz.

Compartilhar este post


Link para o post
Compartilhar em outros sites
3 minutos atrás, BrunoBit disse:

Só pra fins de aprendizado, uma vez que o problema já foi resolvido, mas a forma que você usou o "else" é o que disparou o erro, o correto seria "else if":


a forma que você fez:
if(...){
	...
}
else ($_SESSION['usuarioNiveisAcessoId'] == "2")
{
	...
}

correto:
if(...){
	...
}
else if ($_SESSION['usuarioNiveisAcessoId'] == "2")
{
	...
}

 

 

Com elseif funcionou porém a página é redirecionada para uma página que não existe. http://localhost/adocao/backend/loginusuario.php essa página só existe na raiz.

Compartilhar este post


Link para o post
Compartilhar em outros sites
11 minutos atrás, BrunoBit disse:

Poem aqui o código que está em colaborador.php.

O arquivo colaborador.php não existe mas o usuário está com nivel de acesso 1 que deveria ir para administrativo.php

Compartilhar este post


Link para o post
Compartilhar em outros sites
else if ($_SESSION['usuarioNiveisAcessoId'] == "2")
{
	header("Location: colaborador.php");
	exit;
}

Se o php passou nessa verificação e resultou em verdadeiro, é pq em $_SESSION['usuarioNiveisAcessoId'] ele encontrou o número 2 como valor.

Compartilhar este post


Link para o post
Compartilhar em outros sites
6 horas atrás, emmanuelsiqueira30 disse:

Pessoal não estou conseguindo achar o erro por favor alguém me ajuda:

 


<?php
	session_start();	
	//Incluindo a conexão com banco de dados
	include_once("conexao.php");	
	//O campo usuário e senha preenchido entra no if para validar
	if ((isset($_POST['email'])) && (isset($_POST['senha']))) 
	{
		$usuario = mysqli_real_escape_string($con, $_POST['email']); //Escapar de caracteres especiais, como aspas, prevenindo SQL injection
		$senha = mysqli_real_escape_string($con, $_POST['senha']);
		$senha = $senha;
			
		//Buscar na tabela usuario o usuário que corresponde com os dados digitado no formulário
		$result_usuario = "SELECT * FROM usuario WHERE email = '$usuario' && senha = '$senha' LIMIT 1";
		$resultado_usuario = mysqli_query($con, $result_usuario);
		$resultado = mysqli_fetch_assoc($resultado_usuario);
		
		//Encontrado um usuario na tabela usuário com os mesmos dados digitado no formulário
		if (isset($resultado)) 
		{			
			$_SESSION['usuarioId'] = $resultado['id_usuario'];
			$_SESSION['usuarioNome'] = $resultado['nome'];
			$_SESSION['usuarioNiveisAcessoId'] = $resultado['niveis_acesso_id'];
			$_SESSION['usuarioEmail'] = $resultado['email'];
			
			if ($_SESSION['usuarioNiveisAcessoId'] == "1")
			{
				header("Location: administrativo.php");
				exit;
			}
			else ($_SESSION['usuarioNiveisAcessoId'] == "2")
			{
				header("Location: colaborador.php");
				exit;
			}
		
		}
		//Não foi encontrado um usuario na tabela usuário com os mesmos dados digitado no formulário
		//redireciona o usuario para a página de login
		else {
			//Váriavel global recebendo a mensagem de erro
			$_SESSION['loginErro'] = "Usuário ou senha Inválido";
			header("Location: index.php");
		}
	//O campo usuário e senha não preenchido entra no else e redireciona o usuário para a página de login
	} 

	else
	{
		$_SESSION['loginErro'] = "Usuário ou senha não preenchidos";
		header("Location: index.php");
	}
?>

 

Seu problema é na consulta, você está usando "&&" ao invés de "AND"

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por violin101
      Caros amigos do grupo, saudações e um feliz 2025.
       
      Estou com uma pequena dúvida referente a Teclas de Atalho.

      Quando o Caps Lock está ativado o Comando da Tecla de Atalho não funciona.
      ou seja:
      se estiver para letra minúscula ====> funciona
      se estiver para letra maiúscula ====> não funciona
       
      Como consigo evitar essa falha, tanto para Letra Maiúscula quanto Minúscula ?

      o Código está assim:
      document.addEventListener( 'keydown', evt => { if (!evt.ctrlKey || evt.key !== 'r' ) return;// Não é Ctrl+r, portanto interrompemos o script evt.preventDefault(); });  
      Grato,
       
      Cesar
    • Por violin101
      Caros amigos, saudações.
       
      Por favor, poderiam me ajudar.

      Estou com a seguinte dúvida:
      --> como faço para para implementar o input código do produto, para quando o usuário digitar o ID o sistema espera de 1s a 2s, sem ter que pressionar a tecla ENTER.

      exemplo:
      código   ----   descrição
           1       -----   produto_A
       
      Grato,
       
      Cesar
    • Por violin101
      Caros amigos, saudações.
       
      Humildemente peço desculpa por postar uma dúvida que tenho.

      Preciso salvar no MySql, os seguinte Registro:

      1 - Principal
      ====> minha dúvida começa aqui
      ==========> como faço para o Sistema Contar Automaticamente o que estiver despois do 1.____?
      1.01 - Matriz
      1.01.0001 - Estoque
      1.01.0002 - Oficina
      etc

      2 - Secundário
      2.01 - Loja_1
      2.01.0001 - Caixa
      2.01.0002 - Recepção
      etc
       
      Resumindo seria como se fosse um Cadastro de PLANO de CONTAS CONTÁBEIL.

      Grato,


      Cesar









       
    • Por violin101
      Caros amigos, saudações.

      Por favor, me perdoa em recorrer a orientação dos amigos.

      Preciso fazer um Relatório onde o usuário pode Gerar uma Lista com prazo para vencimento de: 15 / 20/ 30 dias da data atual.

      Tem como montar uma SQL para o sistema fazer uma busca no MySql por período ou dias próximo ao vencimento ?

      Tentei fazer assim, mas o SQL me traz tudo:
      $query = "SELECT faturamento.*, DATE_ADD(faturamento.dataVencimento, INTERVAL 30 DAY), fornecedor.* FROM faturamento INNER JOIN fornecedor ON fornecedor.idfornecedor = faturamento.id_fornecedor WHERE faturamento.statusFatur = 1 ORDER BY faturamento.idFaturamento $ordenar ";  
      Grato,
       
      Cesar
       
       
       
       
    • Por violin101
      Caros amigos, saudações
       
      Por favor, me perdoa em recorrer a orientação dos amigos, tenho uma dúvida.
       
      Gostaria de uma rotina onde o Sistema possa acusar para o usuário antes dos 30 dias, grifar na Tabela o aviso de vencimento próximo, por exemplo:
       
      Data Atual: 15/11/2024
                                           Vencimento
      Fornecedor.....................Data.....................Valor
      Fornecedor_1...........01/12/2024..........R$ 120,00 <== grifar a linha de Laranja
      Fornecedor_1...........01/01/2025..........R$ 130,00
      Fornecedor_2...........15/12/2024..........R$ 200,00 <== grifar a linha de Amarelo
      Fornecedor_2...........15/01/2025..........R$ 230,00
      Fornecedor_3...........20/12/2024..........R$ 150,00
       
      Alguém tem alguma dica ou leitura sobre este assunto ?

      Grato,
       
      Cesar
×

Informação importante

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