Jump to content
Worn

Classe dando erro

Recommended Posts

 Fala rapaziada estou tendo alguma Warmi no meu sistema to batendo a cabeça aqui e não consigo resolver 

https://prnt.sc/oqrcmy

 

linha do erro

Citar

 function logar($login, $senha, $redireciona = null) {
        // Tratando as informações
        $login = mysqli_real_escape_string($login);
        $senha = mysqli_real_escape_string($senha);

        // Verifica se o usuário existe
        $query = mysqli_query($conexao, "SELECT {$this->campoID}, {$this->campoLogin}, {$this->campoSenha}
                             FROM {$this->tabela}
                             WHERE {$this->campoLogin} = '{$login}' AND {$this->campoSenha} = '{$senha}'");

        // Se encontrado um usuário
        if(mysqli_num_rows($query) > 0)
        {
            // Instanciando usuário
            $usuario = mysqli_fetch_object($query);
 

<?php
/*
 * Login Class
 *
 * Desenvolvido por Gabriel Neves
 * Seguir cotes de desenvolvimento
 *
 */

class Login {

    private $tabela, $campoID, $campoLogin, $campoSenha;

    function  __construct($tabela = 'tbl_usuarios', $campoID = 'id', $campoLogin = 'email', $campoSenha = 'senha') {

            // Iniciando sessão
            session_start();

            // Definindo atributos
            $this->tabela = $tabela;
            $this->campoID = $campoID;
            $this->campoLogin = $campoLogin;
            $this->campoSenha = $campoSenha;
    }

    // ------------------------------------------------------------------------

    /*
	 * Retornando login do usuário que está na sessão
	 *
	 * @access	public
	 * @return	string
	 */

    function getLogin() {
        return $_SESSION[$this->campoLogin];
    }

    // ------------------------------------------------------------------------

    /**
	 * Retornando ID do usuário que está na sessão
	 *
	 * @access	public
	 * @return	integer
	 */

    function getID() {
        return $_SESSION[$this->campoID];
    }

    // ------------------------------------------------------------------------

    /**
	 * Trata as informações recebidas, procura o usuário no banco de dados e, se encontrado,
         * registra as informações na sessão.
	 *
	 * @access	public
         * @param	string
	 * @param	string
         * @param	string
	 * @return	boolean
	 */

    function logar($login, $senha, $redireciona = null) {
        // Tratando as informações
        $login = mysqli_real_escape_string($login);
        $senha = mysqli_real_escape_string($senha);

        // Verifica se o usuário existe
        $query = mysqli_query($conexao, "SELECT {$this->campoID}, {$this->campoLogin}, {$this->campoSenha}
                             FROM {$this->tabela}
                             WHERE {$this->campoLogin} = '{$login}' AND {$this->campoSenha} = '{$senha}'");

        // Se encontrado um usuário
        if(mysqli_num_rows($query) > 0)
        {
            // Instanciando usuário
            $usuario = mysqli_fetch_object($query);

            // Registrando sessão
            $_SESSION[$this->campoID] = $usuario->{$this->campoID};
            $_SESSION[$this->campoLogin] = $usuario->{$this->campoLogin};
            $_SESSION[$this->campoSenha] = $usuario->{$this->campoSenha};

            // Se informado redirecionamento
            if ($redireciona !== null)
                header("Location: {$redireciona}");
            else
                return true;
        }
        else
            return false;
    }

    // ------------------------------------------------------------------------

    /**
	 * Verifica se o usuário está logado
	 *
	 * @access	public
         * @param	string
	 * @return	boolean
	 */

    function verificar($redireciona = null) {
        // Se as sessões estiverem setadas
        if(isset($_SESSION[$this->campoID]) and isset($_SESSION[$this->campoLogin]) and isset($_SESSION[$this->campoSenha]))
            return true;
        else
        {
            // Se informado redirecionamento
            if ($redireciona !== null)
                header("Location: {$redireciona}");

            return false;    
        }

    }

    // ------------------------------------------------------------------------

    /**
	 * Finaliza a sessão do usuário
	 *
	 * @access	public
         * @param	string
	 * @return	void
	 */

    function logout($redireciona = null) {
        // Limpa a Sessão
        $_SESSION = array();
        // Destroi a Sessão
        session_destroy();
        // Modifica o ID da Sessão
        session_regenerate_id();
        // Se informado redirecionamento
        if ($redireciona !== null)
            header("Location: {$redireciona}");
    }

}
?>

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By EstilloWeb
      Está ocorrendo um erro em meu comando MySQL na ordenação dos resultados. O código é o seguinte:
      $sql_imos4 = "Select DISTINCT imovel FROM propostas ORDER BY id DESC"; $exe_imos4 = mysqli_query($conexao, $sql_imos4); O objetivo é listar uma única vez um imóvel com proposta, mesmo que haja dois ou mais registros, sempre ordenado mais recente. O que está ocorrendo quando o imóvel tem mais de uma proposta cadastrada, a ordenação está sendo feita pelo ID da proposta mais antiga.
      Exemplo:
      imóvel ref. 4528 tem duas propostas, sendo que a mais recente tem o ID 235 porém aparece na listagem abaixo do imóvel ref. 4325, que tem uma só proposta e ID 230.
      O resultado deveria estar invertido neste caso.
      Onde pode estar o erro? Agradeço a ajuda.
    • By TeixeiraRamos
      Olá,
      Tenho uma página em PHP 7 com MySQL,  com um formulário, código (PDO). 
      Os registros são salvos no banco de dados sem problema, mas na parte superior do form indicar "Erro ao enviar a mensagem!".  O correto, já que não tem erro, seria indicar                                "Mensagem enviada com sucesso!", mensagem essa prevista no código.
      O Código é esse:
      <?php session_start(); include_once("../versao_03/bd/conexao.php") ?> <?php if (isset($_SESSION['msg'])){ echo $_SESSION['msg']; unset($_SESSION['msg']); } $nome = filter_input(INPUT_POST, 'nome', FILTER_SANITIZE_STRING); $mensagem = filter_input(INPUT_POST, 'mensagem', FILTER_SANITIZE_STRING); $sql = "INSERT INTO mensagens_terco_m_gozosos (nome, mensagem) VALUES ('$nome','$mensagem')"; $result = $PDO->query($sql); if(!$result) { //print_r($PDO->errorInfo()); //exit; $_SESSION['msg'] = "<div class='alert alert-success' role='alert'>Mensagem enviada com sucesso!</div>"; header("Location: http://localhost/minhaspaginas/versao_03/tercomisteriosgozosos.php"); }else{ $_SESSION['msg'] = "<div class='alert alert-danger' role='alert'>Erro ao enviar a mensagem!</div>"; header("Location: http://localhost/minhaspaginas/versao_03/tercomisteriosgozosos.php"); } ?> Obrigado
    • By quimera
      Estou com um problema, os registro entram no banco de dados dinamicamente, e neste caso algumas postagens pode enviar valores que já existem na tabela/coluna específica.
      Ex.: 
      UPDATE `tableoperator` SET `coluna`= '1' WHERE id = '1' o Registro no banco de dados está assim:
      id | coluna | data 1       1     2020-01-01 Simplesmente não atualiza se a coluna já tiver o valor.
      Alguém pode ajudar, nunca havia me deparado com isto
    • By douglas79
      Bom dia,
       
      Estou seguindo uma vídeo aula no Youtube e o instrutor lá colocou uma sequência de div's (seja id ou class), o seletor background não funciona.

      Vou postar o código até o momento:
       
      @charset "utf-8";
       
      body, ul{padding:0;margin:0;background: #e2e2e2;list-style: none;}
      #geral{overflow: hidden;}
      #geral #topo{width:1018px;margin:0 auto;overflow: hidden;}
      #geral #topo #logo, #menuTopo{float:left;width:400px;}
      #geral #topo #logo{background:#ccc;}
      #geral #topo #menuTopo{}
      #geral #topo #menuTopo li{float:left;padding:5px;}

      Alguém pode me tirar essa dúvida???
      Desde já, agradeço!
    • By joao_vinicius
      Olá, estou tentando aprender php e estou bem no começo. Tenho uma dúvida: como fazer uma "recepção" do tipo "olá, +nome do usuario+", logo depois que ele se cadastrar? estou conseguindo fazer este processo depois que ele loga, usando email e senha, mas quero que isso aconteça logo depois do formulário de cadastro. Sei que tem a ver com session, mas estou tendo dificuldades. Obrigado
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.