Opa!
Primeiramente meus agradecimentos aos meus colegas de correria:
Clodonil Honório Trigo, Gaby Lima Dias e ao grande
amigo e irmão Rodrigo Rodrigues =).
Bom vamos lá.
Pessoal, esses exemplos que estarei postando aqui foram tempos de
trabalho em cima de projetos e necessidades que no decorrer do tempo
foram criadas para melhor aproveitamento do código e rapidez na
finalização de um sistema.
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? hehehe
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>
Beleza pessoal, esse primeiro artigo de muitos é para mostrar como
podemos simplificar ao máximo nosso trabalho árduo =), esse ainda está
bem simples, no próximo vamos começar a montar um sistema de login com
permissão de usuários, restrições e etc. Esse artigo foi só para nos
familiarizarmos =)
Então mande perguntas e me mandem também o que gostariam de estar vendo
no próximo artigo... inté =)
Guilherme L. Stolfo
Smart Solutions e Tecnologia
www.smart-tec.com.br