Ir para conteúdo

Arquivado

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

Conrado Mirto

Problema de Conexão [LOGIN]

Recommended Posts

Não Estou Conseguindo logar no Sistema ja refiz o codigo e não descobri o erro

 

CONEXAO.PHP

<?php
	$servidor = "localhost";
	$usuario = "root";
	$senha = "";
	$dbname = "globalservidores";
	
	//Criar a conexão
	$conn = mysqli_connect($servidor, $usuario, $senha, $dbname);
	if(!$conn){
		die("Falha na conexao: " . mysqli_connect_error());
	}else{
		//echo "Conexao realizada com sucesso";
	}
?>

 

LOGIN.PHP

<?php
	session_start();
?>
<!DOCTYPE html>
<html lang="pt-br">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <meta name="description" content="">
    <meta name="author" content="Cesar Szpak - Celke">
    <link rel="icon" href="imagens/favicon.ico">

    <title>Area Restrita</title>
    <link href="css/bootstrap.css" rel="stylesheet">
    <link href="css/ie10-viewport-bug-workaround.css" rel="stylesheet">
    <link href="css/signin.css" rel="stylesheet">
    <script src="js/ie-emulation-modes-warning.js"></script>
  </head>

  <body>

    <div class="container">

      <form class="form-signin" method="POST" action="valida.php">
        <h2 class="form-signin-heading">Área Restrita</h2>
        <label for="inputEmail" class="sr-only">Usuário</label>
        <input type="email" name="txt_usuario" id="inputEmail" class="form-control" placeholder="Usuário" required autofocus>
        <label for="inputPassword" class="sr-only">Senha</label>
        <input type="password" name="txt_senha" id="inputPassword" class="form-control" placeholder="Senha" required>
        <button class="btn btn-lg btn-danger btn-block" type="submit">Acessar</button>
		<p class="text-center text-danger">
			<?php if(isset($_SESSION['loginErro'])){
				echo $_SESSION['loginErro'];
				unset ($_SESSION['loginErro']);
			}?>
		</p>
		<p class="text-center text-success">
			<?php if(isset($_SESSION['loginDeslogado'])){
				echo $_SESSION['loginDeslogado'];
				unset ($_SESSION['loginDeslogado']);
			}?>
		</p>
      </form>
    </div> <!-- /container -->
    <script src="js/ie10-viewport-bug-workaround.js"></script>
  </body>
</html>

 

VALIDA.PHP

<?php
	session_start();
	include_once("conexao/conexao.php");
	//Verifica se os campos possuem dados 
	if((isset($_POST['txt_usuario'])) && (isset($_POST['txt_senha']))){
		$usuario = mysqli_real_escape_string($conn, $_POST['txt_usuario']); //Escapar de caracteres especiais, como aspas, prevenindo SQL injection
		$senha = mysqli_real_escape_string($conn, $_POST['txt_senha']);
		$senha = md5($senha);
		
		$result_usuario = "SELECT * FROM usuarios WHERE email = '$usuario' && senha = '$senha'";
		$resultado_usuario = mysqli_query($conn, $result_usuario);
		$resultado = mysqli_fetch_assoc($resultado_usuario);
		
		//Encontrando um usuário na tabela usuario com os mesmos dados digitado pelo usuario
		if(isset($resultado)){
			$_SESSION['usuarioId'] = $resultado['id'];
			$_SESSION['usuarioNome'] = $resultado['nome'];
			$_SESSION['usuarioNiveisAcessoId'] = $resultado['niveis_acesso_id'];
			$_SESSION['usuarioEmail'] = $resultado['email'];
			if($_SESSION['usuarioNiveisAcessoId'] == "1"){
				header("Location: administrativo.php");
			}elseif($_SESSION['usuarioNiveisAcessoId'] == "2"){
				header("Location: colaborador.php");
			}elseif($_SESSION['usuarioNiveisAcessoId'] == "3"){
				header("Location: cliente.php");
			}else{
				$_SESSION['loginErro'] = "Erro - Entre em contato cesar@celke.com.br";
				header("Location: index.php");
			}
		}else{
			$_SESSION['loginErro'] = "Usuário ou senha inválido";
			header("Location: index.php");
		}
	}else{
		$_SESSION['loginErro'] = "Usuário ou senha inválido";
		header("Location: index.php");
	}
?>

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então troca isso:

$resultado_usuario = mysqli_query($conn, $result_usuario);

por isso:

$resultado_usuario = mysqli_query($conn, $result_usuario) or die(mysqli_error($conn));

E veja qual erro informa.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nada de Erro Ainda Continua / Usuário ou senha inválido / 

 

BANCO DE DADOS

-- phpMyAdmin SQL Dump
-- version 4.7.4
-- https://www.phpmyadmin.net/
--
-- Host: 127.0.0.1:3306
-- Generation Time: 30-Dez-2017 às 17:43
-- Versão do servidor: 5.7.19
-- PHP Version: 5.6.31

SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET AUTOCOMMIT = 0;
START TRANSACTION;
SET time_zone = "+00:00";


/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8mb4 */;

--
-- Database: `globalservidores`
--

-- --------------------------------------------------------

--
-- Estrutura da tabela `niveis_acessos`
--

DROP TABLE IF EXISTS `niveis_acessos`;
CREATE TABLE IF NOT EXISTS `niveis_acessos` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `nome` varchar(250) NOT NULL,
  `created` datetime NOT NULL,
  `modified` datetime DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=4 DEFAULT CHARSET=latin1;

--
-- Extraindo dados da tabela `niveis_acessos`
--

INSERT INTO `niveis_acessos` (`id`, `nome`, `created`, `modified`) VALUES
(1, 'Administrador', '2017-12-29 00:00:00', NULL),
(2, 'Colaborador', '2017-12-29 00:00:00', NULL),
(3, 'Cliente', '2017-12-29 00:00:00', NULL);

-- --------------------------------------------------------

--
-- Estrutura da tabela `situacoes`
--

DROP TABLE IF EXISTS `situacoes`;
CREATE TABLE IF NOT EXISTS `situacoes` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `nome` varchar(50) NOT NULL,
  `created` datetime NOT NULL,
  `modified` datetime DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=3 DEFAULT CHARSET=latin1;

--
-- Extraindo dados da tabela `situacoes`
--

INSERT INTO `situacoes` (`id`, `nome`, `created`, `modified`) VALUES
(1, 'Ativo', '2017-12-29 00:00:00', NULL),
(2, 'Inativo', '2017-12-29 00:00:00', NULL);

-- --------------------------------------------------------

--
-- Estrutura da tabela `usuarios`
--

DROP TABLE IF EXISTS `usuarios`;
CREATE TABLE IF NOT EXISTS `usuarios` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `nome` varchar(240) NOT NULL,
  `email` varchar(240) NOT NULL,
  `senha` varchar(240) NOT NULL,
  `situacao_id` int(11) NOT NULL,
  `niveis_acesso_id` int(11) NOT NULL,
  `created` datetime NOT NULL,
  `modified` datetime DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=3 DEFAULT CHARSET=latin1;

--
-- Extraindo dados da tabela `usuarios`
--

INSERT INTO `usuarios` (`id`, `nome`, `email`, `senha`, `situacao_id`, `niveis_acesso_id`, `created`, `modified`) VALUES
(1, 'admin', 'admin@admin.com', '123', 1, 1, '2017-12-29 00:00:00', NULL),
(2, 'conrado', 'conradomirto', '202cb962ac59075b964b07152d234b70', 1, 1, '2017-12-30 00:00:00', NULL);
COMMIT;

/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;

Não sei se Danificou Algo a INTERNET Caiu e dps disso não consegui mais efetuar o LOGIN

Compartilhar este post


Link para o post
Compartilhar em outros sites

Testei seu código aqui e ta funcionando, a única coisa que alterei foi:

troquei isso:

if(isset($resultado)){

Por isso:

if(mysqli_num_rows($resultado_usuario)){

E adicionei or die(mysqli_error());

$resultado_usuario = mysqli_query($conn, $result_usuario) or die(mysqli_error($conn));

Fiz o login e me redirecionou pra administrativo.php do nível de acesso 1 normalmente.

Compartilhar este post


Link para o post
Compartilhar em outros sites
15 minutos atrás, Conrado Mirto disse:

Nada de Erro Ainda Continua / Usuário ou senha inválido / 

Esse aviso ta aparecendo na página index.php quando você é redirecionado?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Copia esse código aqui inteiro e poem lá em valida.php:

<?php
	session_start();
	include_once("conexao/conexao.php");
	//Verifica se os campos possuem dados 
	if((isset($_POST['txt_usuario'])) && (isset($_POST['txt_senha']))){
		$usuario = mysqli_real_escape_string($conn, $_POST['txt_usuario']); //Escapar de caracteres especiais, como aspas, prevenindo SQL injection
		$senha = mysqli_real_escape_string($conn, $_POST['txt_senha']);
		$senha = md5($senha);
		
		$result_usuario = "SELECT * FROM usuarios WHERE email = '$usuario' && senha = '$senha'";
		$resultado_usuario = mysqli_query($conn, $result_usuario) or die(mysqli_error($conn));
		$resultado = mysqli_fetch_assoc($resultado_usuario);
		
		//Encontrando um usuário na tabela usuario com os mesmos dados digitado pelo usuario
		if(mysqli_num_rows($resultado_usuario)){
			$_SESSION['usuarioId'] = $resultado['id'];
			$_SESSION['usuarioNome'] = $resultado['nome'];
			$_SESSION['usuarioNiveisAcessoId'] = $resultado['niveis_acesso_id'];
			$_SESSION['usuarioEmail'] = $resultado['email'];
			if($_SESSION['usuarioNiveisAcessoId'] == "1"){
				header("Location: administrativo.php");
			}elseif($_SESSION['usuarioNiveisAcessoId'] == "2"){
				header("Location: colaborador.php");
			}elseif($_SESSION['usuarioNiveisAcessoId'] == "3"){
				header("Location: cliente.php");
			}else{
				$_SESSION['loginErro'] = "Erro - Entre em contato cesar@celke.com.br";
				//header("Location: index.php");
			}
		}else{
			$_SESSION['loginErro'] = "Usuário ou senha inválido";
			//header("Location: index.php");
		}
	}else{
		$_SESSION['loginErro'] = "Usuário ou senha inválido";
		//header("Location: index.php");
	}
?>

Vê se aparece o erro agora.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você não logou, você ficou parado na página valida.php, se ela ficou branca é pq o código mysqli agora ta funcionando sem imprimir erro. O problema agora pode estar em algum dado seu no banco de dados, tenta trocar a senha do usuário que você ta tentando efetuar o login pra ver.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faz um teste. Ao invés de fazer login usando o valor do POST você já coloca o usuário e senha diretamente lá na QUERY, se der erro suas chances de acha-lo aumentarão 

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por gersonab
      boa tarde, preciso excluir o item de uma categoria do orçamento e manter a mesma com valor zerado, este se for único não consigo, porém se tiver mais de um funciona fazendo um novo calculo e update .
      tipo:
      categoria 1 - valor R$ 100,00 item 1 - valor R$ 50,00 item 2 - valor R$ 50,00 se deletar um dos itens :
      categoria 1 - valor R$ 50,00 item 1 - valor R$ 50,00 até aí tranquilo, porém se tiver somente um item :
      categoria 1 - valor R$ 50,00 item 1 - valor R$ 50,00 após deletar este categoria 1 - valor R$ 50,00 precisaria q ficasse assim ? categoria 1 - valor R$ 0,00 <?php if(!empty($_GET)) { $idorc=$_GET['idorc']; $sql = $pdo->query("SELECT * FROM orcamento WHERE idorc = $idorc"); $user = $sql->fetch(PDO::FETCH_ASSOC); $orc = $user['orc']; $id = $user['idcatc']; $fallback = '../adm/orcamento.php?idocl=$orc'; $anterior = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : $fallback; $sql = "DELETE FROM orcamento WHERE idorc = :idorc"; $stmt = $pdo->prepare($sql); $stmt->bindParam(':idorc', $idorc, PDO::PARAM_INT); if ($stmt->execute() === false){ echo "<pre>"; print_r($stmt->errorInfo()); } $consulta = $pdo->query("SELECT colunas da tabela FROM orcamento WHERE orc=$orc AND idcatc = $id"); $user331 = $consulta31->fetch(PDO::FETCH_ASSOC); // dados das colunas $stmt=$pdo->prepare("UPDATE categoria SET valor = :valor WHERE id = :id"); $stmt->bindValue(':valor',$valor); $stmt->bindParam(':id',$id, PDO::PARAM_INT); if ($stmt->execute() === false){ echo "<pre>"; print_r($stmt->errorInfo()); } } else { } header("location: {$anterior}"); exit; ?> espero q tenham entendido.
    • Por Agnosticado
      Estou tentando mostrar os dias (em sequencia) e a quantidade de um tipo de registros gravados naquele dia. 
      Consegui escrever um select onde tenho os dias sequenciados MAS quando o dia não tem registros do tipo específico este dia não aparece no resultado
      SELECT tipo, COUNT(*) AS total, DATE_FORMAT(data_registro, '%d') AS dia FROM tbl_tabela WHERE data_registro BETWEEN '2019-11-01' AND '2019-11-31'  AND tipo  = '1' GROUP BY dia resultado
      dia - total
      01  - 10
      02 -  4
      03 - 19
      06 - 3
      07 - 27
       
       eu precisava listar também os dias que o resultado fosse ZERO registros sem pular dias.
       
      dia - total
      01 - 10
      02 - 04
      03 - 19
      04 - 0
      05 - 0
      06 - 3
      07 - 27
       
      também TENTEi o select abaixo, mas obtive o mesmo resultado
       
      SELECT DAY(data_registro) dia,      COUNT(*) FROM     tbl_tabela WHERE     MONTH(data_registro) = 11 AND tipo = '1'  GROUP BY dia ORDER BY dia
      :(
       
      Alguém pode me dá uma dica de como listar também os dias sem registros informando como valor 0?
       
      AGRADEÇO A GENTILEZA, AMIGOS!
    • Por Luciano Zanita
      Olá caros amigos, estou tentando fazer um multiplo Where nesta consulta pelo seguinte fator:
      1. existem vários resultados para o mesmo rad_username
      2. Mais somente um com status = 1
      Gostaria de selecionar ele em especifico, lembrando que terá outras rad_username diferente no meio, como posso proceder para fazer isto?
      fiz este código mais não consigo isolar o código em especifico.
      Alguém pode me dar uma ajuda?
      $sql223 = "SELECT * FROM playlist WHERE rad_username='$cheat254' AND status='1'"; $result = @mysql_query($sql223) or die("Erro ao receber a playlist"); while($rowplay=@mysql_fetch_array($result)){ $playlistnome= $rowplay[pname]; $arquivoautodj .= "playlistfile=/".$path."/".$cheat254."/radio/playlist/".$playlistnome.".lst"; }
×

Informação importante

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