Siga-nos em...
Follow us on Twitter Follow us on Facebook Watch us on YouTube
Registro

Alpha Servers
Resultados 1 a 3 de 3
  1. #1

    Avatar de SHIP
    Data de Ingresso
    Sep 2010
    Localização
    NADA
    Posts
    90
    Agradecido
    13
    Agradeceu
    6
    Peso da Avaliação
    0

    Padrão Sistema de Login PHP Orientado á Objetos

    Olá pessoal estava aqui brincando com o php e resolvi postar, é um sistema bem simples mas que da para o pessoal que estar iniciando em POO ter uma ideia como funciona.

    Model/Conexao.interface.php
    Código:
    <?php
    /*
     * To change this license header, choose License Headers in Project Properties.
     * To change this template file, choose Tools | Templates
     * and open the template in the editor.
     */
    
    /**
     *
     * @author Valdir
     */
    interface ConexaoInterface{
        
        public function connectar();
        
        public function selecionarDB();
        
        public function executarSQL();
        
    
    }
    /Model/ConexaoMySQL.class.php
    Código:
    <?php
    
    /*
     * To change this license header, choose License Headers in Project Properties.
     * To change this template file, choose Tools | Templates
     * and open the template in the editor.
     */
    
    /**
     * Description of ConexaoMySQLModel
     *
     * @author Valdir
     */
    include 'Conexao.interface.php';
    
    class ConexaoMySQL implements ConexaoInterface{
        //put your code here    
        private $host = "localhost";
        private $usuario = "root";
        private $senha = "";
        private $db = "";
        private $debug = false;
        private $sql;
        
      
     function __construct() {
         $this->connectar();
         $this->selecionarDB();
     }
        
      public function __set($atributo, $valor) {
          $this->$atributo = $valor;
          
      }
      public function __get($atributo) {
          return $this->$atributo;
      }
        
      private function connectar(){      
          $result = mysql_connect($this->host,$this->usuario,$this->senha)
                  or die (mysql_error());
          return $result;
      }
      
      private function selecionarDB(){
          $result = mysql_select_db($this->db)
              or die (mysql_error());
          return $result;
      }
      
      public function executarSQL(){
          $return = mysql_query($this->sql)
              or die (mysql_error());
          if($this->debug){
              echo "[DEBUG] : $this->sql";          
          }
      }
      
    
        
                
        
    }
    Model/Usuario.class.php

    Código:
    <?php
    
    /*
     * To change this license header, choose License Headers in Project Properties.
     * To change this template file, choose Tools | Templates
     * and open the template in the editor.
     */
    
    /**
     * Description of UsuarioModel
     *
     * @author Valdir
     */
    include 'ConexaoMySQL.class.php';
    class Usuario {
        //put your code here
        private $login;
        private $senha;
        
        
        public function validarLogin($login,$senha){
            $conexao = new ConexaoMySQl();
            $conexao->sql = "select * from usuario where login = '$login' and senha = '$senha'";
            $consulta = $conexao->executar();
            $linhas = mysql_num_rows($consulta);
            if($linhas > 0){
                return true;
            }
            else{            
                return false;
            }        
        }
        
        
        
        
        
        
        
    }
    View/LoginView.php

    Código:
    <!DOCTYPE html>
    <!--
    To change this license header, choose License Headers in Project Properties.
    To change this template file, choose Tools | Templates
    and open the template in the editor.
    -->
    <html>
        <head>
            <meta charset="UTF-8">
            <title></title>
        </head>
        <body>
            
            <form name="login" method="post" action="../Control/UsuarioControl.php">
                <label>Login</label>
                <input type="text" name="login" required=""><br>
                <label>Senha</label>
                <input type="password" name="senha" required=""><br>
                <input type="submit" value="Entrar" name="enviar">
                <input type="reset" value="Cancelar" name="cancelar">
                <input type="hidden" name="control" value="logar"> 
            </form>
        </body>
    </html>
    Control/UsuarioControl.php
    Código:
    <?php
    
    /*
     * To change this license header, choose License Headers in Project Properties.
     * To change this template file, choose Tools | Templates
     * and open the template in the editor.
     */
    include '../Model/Usuario.class.php';
    if (isset($_POST['control'])) {
        $controle = $_POST['control'];
    
        switch ($controle) {
    
            case "logar":
                $u = new Usuario();
                $result = $u->validarLogin($_POST['login'], $_POST['senha']);
                if ($result) {
                    echo "LOGOU";
                } else {
    
                    echo "NÃO LOGOU";
                }
                break;
        }
    }
    É isso ai pessoal como já disse é bem simples fiz em 15 minutos agora no almoço da para melhorar muito como por exemplo uso de session e etc mais estar ai pra quem quiser ^^
    Última edição por SHIP; 05-11-2014 às 03:22 PM.

  2. Os Seguintes 5 Usuários Agradeceram você SHIP Por este Post Útil:


  3. #2



    Avatar de Renato
    Data de Ingresso
    Nov 2010
    Localização
    Imperyus
    Posts
    1.099
    Agradecido
    2519
    Agradeceu
    492
    Peso da Avaliação
    30

    Padrão

    Muito bacana a iniciativa em postar, principalmente por ser um exemplo em MVC utilizando interface.

    Parabéns mesmo
    Código PHP:
    <?php
        
    if(Weather::getState() == 'Rainy weather') {
            
    $this->removingLittleHorseFromRain();
        }

  4. O Seguinte Usuário Agradeceu Renato Por este Post Útil:


  5. #3

    Avatar de kessiler
    Data de Ingresso
    Feb 2010
    Localização
    :)
    Posts
    14
    Agradecido
    11
    Agradeceu
    6
    Peso da Avaliação
    0

    Padrão

    Parabéns pela iniciativa.

    Só tenho uma sugestão para você, considere-a se achar conveniente.

    A sua interface se tornou inútil a partir do momento que você utilizou métodos mágicos do PHP (__get e __set).

    Abçs!

  6. Os Seguintes 2 Usuários Agradeceram você kessiler Por este Post Útil:


 

 

Informações de Tópico

Usuários Navegando neste Tópico

Há 1 usuários navegando neste tópico. (0 registrados e 1 visitantes)

Tópicos Similares

  1. |Dúvida| PAGINAÇÃO ORIENTADO A OBJETOS
    Por BattleLog no fórum PHP
    Respostas: 6
    Último Post: 12-12-2014, 10:00 AM
  2. |Suporte| Problemas com sistema de login
    Por michetti no fórum Suportes|Dúvidas|Pedidos
    Respostas: 2
    Último Post: 23-10-2011, 06:56 PM
  3. |Tutorial| [Iniciante]Criando Easy Sistema De Login e Senha
    Por FusioN no fórum Delphi
    Respostas: 1
    Último Post: 02-09-2011, 12:29 AM
  4. |Dúvida| Sistema de páginação de login
    Por Brutallus no fórum Suportes|Dúvidas|Pedidos
    Respostas: 2
    Último Post: 05-08-2011, 04:24 PM
  5. |Flood livre| Criação de Web com Sistema de Login e Cadastro
    Por Skanifer- no fórum Flood Livre
    Respostas: 0
    Último Post: 24-05-2011, 03:09 PM

Marcadores

Permissões de Postagem

  • Você não pode iniciar novos tópicos
  • Você não pode enviar respostas
  • Você não pode enviar anexos
  • Você não pode editar suas mensagens
  •