PUBLICIDADE

Autor

rlpa

Rodrigo Araujo

membro deste abril de 2007

Compartilhe e guarde

  • Rec6
  • StumbleUpon
  • ueba
  • linkk
  • dihitt
  • linkloko
  • linkto
  • Technorati
  • Simpy
  • del.icio.us
  • Faves: Fave It!

PUBLICIDADE

Enquete

Qual é o melhor portal da internet brasileira?

Trabalhando com classes em PHP


Neste artigo mostro como criar uma classe para se conectar e executar consultas a um banco de dados utilizando PHP.

Desta forma podemos programar de forma fácil e organizando nosso código em funções e classes.
1a etapa

Vamos montar uma classe chamada querys: 

 
class querys {
    var $ip = "localhost";
    var $user = "root";
    var $pass = "";
    var $database = "projeto";
}  

Nessa classe montamos ela com 4 variáveis: $ip, $user, $pass e $database. Nelas estão armazenadas as configurações necessárias para acesso ao banco, isso é legal quando acontece de alguém querer configurar seu sistema, aí fica tudo bem à vista do cara, que não precisa ter medo de mexer nos códigos =). 

Agora vamos montar algumas funções chamadas: 
Selects() 
AbreConexao() 
FechaConexao() 


 
// arquivo querys.php

class  querys {
    var $ip = "localhost";
    var $user = "root";
    var $pass = "";
    var $database = "projeto";
  
   function AbreConexao() {
      $this->conn = mysql_connect ($this->ip,$this->user,$this->pass); // aqui declaramos a var conn como variável da classe
      mysql_select_db ( $this->database, $this->conn); 
      // esse "$this->" ele e utilizado para referenciar uma variável da classe
   }

  function FechaConexao() {
      mysql_close ($this->conn); // aqui fecho a conexão se baseando na variável acima declarada
  } 
      
  function Selects($config) {
      $this->AbreConexao(); // Abrimos a conexão
      $conf = explode(",",$config)   // Aqui explodimos e jogamos em array

      if ($conf[0] == "select_login") {
          $select = mysql_query("SELECT * FROM users WHERE login LIKE '".$conf[1]."' AND pass LIKE '".$_POST[pass]."' "); 
     /* 
         perceba que aqui estou pegando a variável $conf[1] que será 
         passada para a função contendo o login e para o password estou 
         pegando a variável direto do form. Esses dois exemplos são bem 
         legais.. aí você escolhe qual seguir, eu prefiro o esquema utilizado 
         no password.
     */
          $result = mysql_num_rows($select);
     }

     if ($conf[0]=="select_permissao") { 
        // aqui verifico permissão do usuário "administrador, usuário e etc"
        $select = mysql_query("SELECT * FROM users WHERE login LIKE '".$_POST[login]."' ");
        $coluna = mysql_fetch_array($select);
        $result = $coluna[permissao];
     }

     $this->FechaConexao(); // Fechamos a conexão
     return $result; // aqui fica o retorno de todas as condicionais
  }
}  

Perceba que ao declarar a função, declaro uma variável chamada $config e depois explodo a mesma, ao invés de fazer $var1, $var2, $var3. E adivinha porque? Simples, isso foi feito porque você não fica preso a uma limitada quantidade de variáveis, sendo assim poderá passar quantas variáveis quiser =), para ajustar a função ao seu gosto e adicionar quando quiser. 

Isso é legal quando você está montando um projeto muito grande, pode até chamar a mesma condicional umas 3 vezes. Se você for adicionar uma variável terá que alterar em todas? 

Pronto, para finalizarmos montamos o seguinte: 

 
// arquivo index.php
<?
include("querys.php");
$querys = new querys;

if ($_POST[acao_form] == "verificar_usuario") {
   if ($querys->Selects("select_login,$_POST[login]")) {
       if ($querys->Selects("select_permissao")=="administrador") {
           header("Location:admin.php");
        } else {
           header("Location:usuario.php");
       }
   } else  {
           echo "Você não está no banco";
   }
} 
?>

<form> 
   <input type="hidden" name="acao_form" value="verificar_usuario">
   <input type="text" name="login">
   <input type="submit" value="OPa!">
</form>  

Sim   Não   Este código foi útil para você?
NotaComentário
Ainda não foi enviado nenhum comentário.
Regras:
Os comentários seguem as seguintes regras:
  • Todos os comentários são enviados por membros cadastrados no site.
  • A pontuação de comentários de conteúdo do próprio membro não serão computados.
  • Os comentários serão pré-aprovados, porém a equipe do site revisará o conteúdo de todos os comentários podendo ser invalidados (inclusive a pontuação).
  • Os comentários precisam ter, obrigatóriamente, coerência sobre o conteúdo que será comentado.
  • O membro que atingir 5 comentários invalidados não poderá mais comentar dentro do site. Com isso o membro não poderá mais ganhar pontos com comentários.
  • Há um limite de 10 comentários por dia para cada membro.
  • Qualquer comentário após ter sido publicado poderá ser retirado através da opção ( denunciar)

Comente

     (ainda não tem cadastro? clique aqui!)


Máximo de 30 caracteres

Máximo de 255 caracteres
 

R&W Consulting - Soluções Web Hospedagem UOL HOST PagSeguro - solução para pagamentos online
© 2006-2009 R&W Informática Ltda. - Todos os direitos reservados.