Ir para conteúdo
Fórum Script Brasil
  • 0

Login em PHP com uso de class


LordAragon11

Pergunta

Bom dia, galera.  Que a força esteja com vocês. Tudo bem? Estou com um problema em desenvolver um script de login com uso de PHP, Mysql, Javascript, jquey  (baixei esse aqui compressed, production jQuery 3.1.1 ) e Html. Sou iniciante nessas linguagens e estou fazendo cursos on lines para melhorar meus conhecimentos, quem poder ajudar eu agradeço. Recentemente iniciei um curso pelo youtube do canal Desenvolvendo PHP e estou empacado num procedimento no qual não consigo proceder com o script de login, ele simplesmente não conclui a ação de click (feito em javascript) com o qual deveria gerar: "Acesso Negado" ou "Informar email" ou "Senha Inválida" ou "Email Inválido".  Abaixo segue as linhas de código:

Obs: foi utilizado na linguagem php requisição de Class para formulação do script. Bem vamos, lá !!!!!!!

Primeiro a ConDB.class.php

 

<?php


function __autoload ($class){require_once"{$class}.class.php";}

abstract class ConDB

{
    private $cnx;    
    private function setConn()
    
    {    
    return    
    is_null($this->cnx)?
            $this->cnx=new PDO('mysql:host=localhost;dbname=cadastro','usuario-mysql ','senha-mysql '):
            $this->cnx;
    }    
    
    public function getConn()
    {return $this->setConn();}
    
    }

?>

Segundo CRUD.class.php

<?php

class  CRUD extends ConDB

{
    
    private $query;
    private function prepExec($prep,$exec)
    {
    
    $this->query=$this->getConn()->prepare($prep);
    $this->query->execute($exec);
        
    }
    
    public function insert($table,$cond,$exec)
    
    {
        $this->prepExec('INSERT INTO '.$table.' SET '.$cond.'',$exec);
        return $this->getConn()->lastInsertId();
        
    }
    
    public function select($fields,$table,$cond,$exec)
    
    {
        $this->prepExec('SELECT '.$fields.' FROM '.$table.' '.$cond.'',$exec);  
        return $this->query;
    }
    
    public function update($table,$cond,$exec)
    
    {
        $this->prepExec('UPDATE '.$table.' SET '.$cond.'',$exec);
        return $this->query;
        
    }
    
    public function delete($table,$cond,$exec)
    
    {
        
        $this->prepExec('DElETE FROM '.$table.' '.$cond.'',$exec);
        
    }
}

?>

 

Segue de mais três class  (ValidaEmail.class.php - ValidaSenha.class.php e Cripto.class.php)  - Que não irei colocar o código para encurtar....

Class Login.class.php

<?php

class  Login

{
    
    private $vem,$vsh,$cpt,$crud,$email,$senha,$log,$dds;
    public function setLogin($email,$senha)
    
    {
        
        $this->vem=new ValidaEmail;
        $this->vsh=new ValidaSenha;
        $this->cpt=new Cripto;
        $this->crud=new CRUD; 
        
        $this->email=$this->vem->setValidaEmail($email);
        $this->senha=$this->vsh->setValidaSenha($senha);
        
        $this->log=$this->senha==$senha?
                $this->crud->select('idUsuario','usuario','WHERE email=? AND senha=?',
                array($this->email,$this->cpt->setCripto($this->senha))):FALSE;
        
        
        if($this->email<>$email)
        {
            
            return $this->email;
            
        }else
        if($this->senha<>$senha)
        {
            
            return $this->senha;
            
        }else
        {
            
        
           if($this->log AND $this->log->rowCount()>0)
            {
            
            foreach($this->log as $this->dds)
            {$_SESSION['logado']=$this->dds;}
         
                
           
            
            }else
            {return 'Acesso Negado.';}
            
        }
    }
}

?>

Em html tem a requisição do script de jquery e login.js

<!DOCTYPE html>

<html lang="PT-br">

<head>

<meta charset="UTF-8"/>
<title>Login site Chances de Ouro</title>
<link type="text/css" rel="stylesheet" href="../_css/login.css"/>
<script type="text/javascript" src="require/js/jquery.js"></script>
<script type="text/javascript" src="require/js/login.js"></script>

</head>

...

<main>

<form action="javascript:void(0);">
<p>Login - Chances de Ouro</p>
<div><label for="eLogin">E-mail:</label><input type="text" id="eLogin"></div>
<div><label for="sLogin">Senha:</label><input type="password" id="sLogin"></div>
<div><button onclick="fctlogin()">Entrar</button></div>
<span>  </span>
</form>

</main>


 

Script de login.js

 

function fctlogin()

//{alert('testando');}
    
{
        
    $.post('require/jp/jpLogin.php',
    {
        
        email:$('#eLogin').val(),
        senha:$('#sLogin').val
        
    },function(res)
    
         {
        
            if(res)   
                            
                
                $('main form span').html(res).css({color:'#f00'});
                
            else
                location.href='../../admin/Admin.php';
            
            
            //$('main form span').html('Logado com sucesso!!!');
        
        //alert(res);
        
        });
    
}

e finalmente o script elo que iria juntar o javascript com o php

jpLogin.php

<?php

require_once"../class/ConDB.class.php";

$lgn=new Login;
print $lgn->setLogin($_POST['email'],$_POST['senha']);

//var_dump($lgn->setLogin('',''));

?>

Alguma alma caridosa poderia me orientar em qual parte "errei". Obs: Dentro da Pasta Require estão as pastas Class, JP e JS; Em outra pasta de nome Admin encontra-se o script admin.php para o location. O script login.php assim como os arquivos em html estão fora das pastas Require e Admin. 

 

Desde já agradeço. Abraço a todos

 

 

 

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...