Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olé pessoal, estou fazendo um estudo a respeito dos padrões factory e sigleton e para inicio estou tentando criar algumas funcoes, mas acho acho que me perdi na logica, o que ja me rendeu varias horas de lidas e re-lidas no codigo, mas não consegui identificar onde estou errando, gostaria de obter a ajuda de voces.ConnectionFactory.class.php<?php class ConnectionFactory{ private $host = "localhost"; private $user = "root"; private $senha = "senha"; public $db = "ispadmin"; static private $instance; public function ConnectionFactory(){ $link = mysql_connect($this->host, $this->user,$this->senha); if (!$link) { die('Não foi possível conectar: ' . mysql_error()."<br><br>"); } $db_selected = mysql_select_db($this->db, $link); if (!$db_selected) { die ('Não foi possível selecionar : ' . mysql_error()); } } public function getConnection(){ if (!isset(self::$instance)){ try { $c = __CLASS__; self::$instance = new $c; }catch ( PDOException $ex){ echo "Erro: ".$ex->getMessage(); } } return self::$instance; } public function Close(){ if(isset(self::$instance)){ mysql_close(); } } } ?>Usuarios.class.php<?php//Classe construtora do cadastro de usuariosclass usuarios{ public $id; public $login; public $nome; public $sobrenome; public $senha; public $email; public $data_nas; public $endereco; public $cidade; public $status; public $foto; public function usuarios(){ } // Conjunto de Sets public function setId($id){ $this->id = $id; } public function setLogin($login){ $this->login = $login; } public function setNome($nome){ $this->nome = $nome; } public function setSobrenome($sobrenome){ $this->sobrenome = $sobrenome; } public function setSenha($senha){ $this->senha = $senha; } public function setEmail($email){ $this->email = $email; } public function setDatanas($data_nas){ $this->data_nas = $data_nas; } public function setEndereco($endereco){ $this->endereco = $endereco; } public function setCidade($cidade){ $this->cidade = $cidade; } public function setStatus($status){ $this->status = $status; } public function setFoto($foto){ $this->foto = $foto; } //Conjunto de Gets // Conjunto de Sets public function getId(){ return $this->id; } public function getLogin(){ return $this->login; } public function getNome(){ return $this->nome; } public function getSobrenome(){ return $this->sobrenome; } public function getSenha(){ return $this->senha; } public function getEmail(){ return $this->email; } public function getDatanas(){ return $this->data_nas; } public function getEndereco(){ return $this->endereco; } public function getCidade(){ return $this->cidade; } public function getStatus(){ return $this->status; } public function getFoto(){ return $this->foto; }}?>UsuariosDAO.class.php<?phpclass UsuariosDAO extends ConnectionFactory { public function UsuariosDAO(){ $this->conex = ConnectionFactory::getConnection(); } public function autenticaUsuario($usuario){ try { $login = $usuario->getLogin(); $sql_login = "SELECT nome_user, senha_user, status_user, login_user, dtnas_user FROM Usuario WHERE login_user = '" . $login . "'"; $exec_login = mysql_query($sql_login) or die("Erro no banco de dados!"); $num_login = mysql_num_rows($exec_login); if($num_login > 0){ $reg_login = mysql_fetch_array($exec_login); if($senha == $reg_login["senha_user"] && !strcmp($senha, $reg_login["senha_user"])){ $_SESSION["nome_user"] = stripslashes($reg_login["nome_user"]); $_SESSION["status_user"] = $reg_login["status_user"]; $_SESSION["dtnas_user"] = $reg_login["dtnas_user"]; header("Location: inicial.php"); }else { $erro = "Usuário e/ou senha invalido1(s)."; } }else{ $erro = "Usuário e/ou senha invalido(s)."; } $this->Close(); }catch (PDOException $ex){ echo "Erro: ".$ex->getMessage(); } } }?>index.php<?phpsession_start();error_reporting(E_ALL & E_WARNING);include("class/ConnectionFactory.class.php");include("class/Usuarios.class.php");include("class/UsuariosDAO.class.php");include_once("conf/config.php");if(isset($_GET['acao'])){ if($_GET['acao'] == "login"){ if(isset($_POST['Usuario'])){ if(empty($_POST['Usuario'])){ $erro[] = "Informe seu login."; } }else{ $erro[] = "Informe seu login."; } if(isset($_POST['Senha'])){ if(empty($_POST['Senha'])){ $erro[] = "Informe sua senha."; } }else{ $erro[] = "Informe sua senha."; } if(!isset($erro)){ $login = addslashes(trim($_POST["Usuario"])); $senha = md5(trim($_POST["Senha"])); try { $con = ConnectionFactory::getConnection(); $usuario = new usuarios(); $usuario->setLogin($login); $usuario->setSenha($senha); $autentica = new UsuariosDAO(); $autentica->autenticaUsuario($usuario); }catch (Exception $e){ echo "Erro: ".$e->getMessage(); } } }} ?>Bom o erro é o seguinte, sempre que tento efetuar o login retorna a mensagem:Erro no banco de dados!Espero a ajuda de voces. AbraçosCarregando comentários...