to começando a estudar Orientado objeto em php...fiz um script de login funcionou direitinho porem gostaria de saber sé é realmente dessa maneira que se trabalha com OO??....sabe como é OO um conceito bem diferente de estruturado...kkkkk
Estrututra do Banco de Dados
CREATE TABLE `usuarios` (
`nome` varchar(50) NOT NULL,
`usuario` varchar(50) NOT NULL,
`senha` varchar(40) NOT NULL
)
<?
function __autoload($class_name) {
include $class_name . '.class.php';
}
$login = htmlspecialchars($_POST['login']); //recebe o login do formulario index
$senha = $_POST['senha']; //recebe a senha do formulario index
$obj = new bancoDados; // Instanciando a classe
$obj->conectar(); // Realiza a conexão
$obj->selecionarDB(); // Seleciona o banco de dados
$usuario = new usuario("",$login,$senha); // Instanciando a classe
$usuario->logar(); //chama o metodo de logar o usuario no sistema
?>
usuario.class.php
<?
//Classe do usuario
class usuario{
private $nome; //Nome do usuario
private $login; //Login do usuario
private $senha; //Senha do Usuario
//função de contrução
function __construct($nome2,$login2,$senha2){
$this->nome = $nome2;
$this->login = $login2;
$this->senha = md5($senha2);
}
//Função que cadastro o usuario no banco de dados
function cadastrar(){
$insert = mysql_query("INSERT INTO `teste`.`usuarios` (`nome`, `usuario`, `senha`)
VALUES ('$this->nome', '$this->login', '$this->senha');");
if ($insert) {
return true;
}
else {
return false;
}
}
//Função de logar o usuario no sistema
function logar(){
$consulta = mysql_query("select * from usuarios where usuario = '$this->login' and senha='$this->senha'");
$campo = mysql_num_rows($consulta);
if ($campo == 0){
header("Location: index.php");
}
else{
session_start();
$_SESSION['login_usuario'] = $this->login;
$_SESSION['senha_usuario'] = $this->senha;
header("Location: home.php");
}
}
}
?>
bancoDados.class.php
<?
//Classe para interação com o banco de dados
class bancoDados{
private $host; //Nome do host
private $user; //Nome do usuario do banco de dados
private $pass; //Senha do banco de dados
private $db; //Nome do banco de dados
//função de contrução
function __construct(){
$this->host = 'localhost';
$this->user = 'root';
$this->pass = '1111111';
$this->db = 'teste';
}
//Função para conexão ao banco de dados
function conectar(){
$con = mysql_connect($this->host, $this->user, $this->pass) or die($this->erro(mysql_error()));
return $con;
}
//Função para seleção do banco de dados a ser usado
function selecionarDB(){
$sel = mysql_select_db($this->db) or die($this->erro(mysql_error()));
if ($sel) {
return true;
} else {
return false;
}
}
//Função para exibir os error
function erro($erro){
echo $erro;
}
}
?>
Pergunta
Thick
Boa tarde, pessoal
to começando a estudar Orientado objeto em php...fiz um script de login funcionou direitinho porem gostaria de saber sé é realmente dessa maneira que se trabalha com OO??....sabe como é OO um conceito bem diferente de estruturado...kkkkk
Estrututra do Banco de Dados
Index.php<html> <head> <title>Login</title> <style type="text/css"> #login { position:absolute; left:43%; top:40%; } </style> </head> <body> <form action="logar.php" method="post"> <table id="login" border='0'> <tr> <td>Login:</td> <td><input type="text" value="" name="login" size=20 maxlength=15/></td> </tr> <tr> <td>Senha:</td> <td><input type="password" value="" name="senha" size=20 maxlength=15/></td> </tr> <tr> <td><input type="submit" value="Entrar" style="cursor:pointer"/></td> <td><input type="reset" value="Reset" style="cursor:pointer"/></td> </tr> <tr> <td colspan="2"><a href=cadastro.php>Cadastrar-se</a></td> </tr> </table> </form> </body> </html>logar.php<? function __autoload($class_name) { include $class_name . '.class.php'; } $login = htmlspecialchars($_POST['login']); //recebe o login do formulario index $senha = $_POST['senha']; //recebe a senha do formulario index $obj = new bancoDados; // Instanciando a classe $obj->conectar(); // Realiza a conexão $obj->selecionarDB(); // Seleciona o banco de dados $usuario = new usuario("",$login,$senha); // Instanciando a classe $usuario->logar(); //chama o metodo de logar o usuario no sistema ?>usuario.class.php<? //Classe do usuario class usuario{ private $nome; //Nome do usuario private $login; //Login do usuario private $senha; //Senha do Usuario //função de contrução function __construct($nome2,$login2,$senha2){ $this->nome = $nome2; $this->login = $login2; $this->senha = md5($senha2); } //Função que cadastro o usuario no banco de dados function cadastrar(){ $insert = mysql_query("INSERT INTO `teste`.`usuarios` (`nome`, `usuario`, `senha`) VALUES ('$this->nome', '$this->login', '$this->senha');"); if ($insert) { return true; } else { return false; } } //Função de logar o usuario no sistema function logar(){ $consulta = mysql_query("select * from usuarios where usuario = '$this->login' and senha='$this->senha'"); $campo = mysql_num_rows($consulta); if ($campo == 0){ header("Location: index.php"); } else{ session_start(); $_SESSION['login_usuario'] = $this->login; $_SESSION['senha_usuario'] = $this->senha; header("Location: home.php"); } } } ?>bancoDados.class.php<? //Classe para interação com o banco de dados class bancoDados{ private $host; //Nome do host private $user; //Nome do usuario do banco de dados private $pass; //Senha do banco de dados private $db; //Nome do banco de dados //função de contrução function __construct(){ $this->host = 'localhost'; $this->user = 'root'; $this->pass = '1111111'; $this->db = 'teste'; } //Função para conexão ao banco de dados function conectar(){ $con = mysql_connect($this->host, $this->user, $this->pass) or die($this->erro(mysql_error())); return $con; } //Função para seleção do banco de dados a ser usado function selecionarDB(){ $sel = mysql_select_db($this->db) or die($this->erro(mysql_error())); if ($sel) { return true; } else { return false; } } //Função para exibir os error function erro($erro){ echo $erro; } } ?>desde já valeuuuuu pessoal
Bandiera
Editado por ThickLink para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados
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.