Ola pessoal, sou novato no PHP OO... Estou tentando realizar o cadastro de um Funcionário e não estou conseguindo, segue o codigo dos meus arquivos. Dentro da pasta Classes estão-> Pessoa.class.php <?php
class Pessoa{
private $nome;
private $cpf;
private $dtNascimento;
public function setNome($nome){
$this->nome = $nome;
}
public function getNome(){
return $nome;
}
public function setCpf($cpf){
$this->cpf = $cpf;
}
public function getCpf(){
return $cpf;
}
public function setDtNascimento($dtNascimento){
$this->dtNascimento = $dtNascimento;
}
public function getDtNascimento(){
return $dtNascimento;
}
}
?>
Pessoa.class.php
<?php
require 'Pessoa.class.php';
class Funcionario extends Pessoa{
private $usuario;
private $senha;
public function setUsuario($usuario){
$this->usuario = $usuario;
}
public function getUsuario(){
return $usuario;
}
public function setSenha($senha){
$this->senha = $senha;
}
public function getSenha(){
return $senha;
}
}
?>
Conexao.class.php
<?php
class Conexao{
private $localhost = "localhost:3306";
private $root = "root";
private $senha = "paranoia";
private $banco = "testePHP";
public function conecta() {
$conexao = mysql_connect($this->localhost, $this->root, $this->senha);
if (!$conexao){
echo "Erro ao se conectar ao banco de dados";
}
$banco = mysql_select_db($this->banco, $conexao);
if (!$banco){
echo "Erro ao selecionar o banco de dados";
}
}
}
?>
Dentro da pasta Dao estão->
FuncionarioDao.class.php
<?php
class FuncionarioDao{
public function cadastra(Funcionario $funcionario){
mysql_query("INSERT INTO Pessoa (Nome, CPF, dtNascimento) values ($funcionario->getNome(), $funcionario->getCpf(), $funcionario->getDtNascimento())");
$idPessoa = mysql_query("SELECT max(idPessoa) FROM Pessoa where Nome= $funcionario->getNome()");
mysql_query("INSERT INTO Funcionario (idPessoa, usuario, senha) values ($idPessoa, $funcionario->getUsuario(), $funcionario->getSenha()");
}
}
?>
e na raiz do sistema estão->
form_cadastra_funcionario.php
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<form method="POST" action="funcao_cadastra_funcionario.php">
<table>
<tbody>
<tr>
<td>
<label>Nome:</label>
<input type="text" name="nome" id="nome"/>
</td>
</tr>
<tr>
<td>
<label>CPF:</label>
<input type="text" name="cpf" id="cpf"/>
</td>
</tr>
<tr>
<td>
<label>dtNascimento:</label>
<input type="text" name="dtNascimento" id="dtNascimento"/>
</td>
</tr>
<tr>
<td>
<label>Usuário:</label>
<input type="text" name="usuario" id="usuario"/>
</td>
</tr>
<tr>
<td>
<label>Senha:</label>
<input type="password" name="senha" id="senha"/>
</td>
</tr>
<tr>
<td>
<label>Re-Senha:</label>
<input type="password" name="reSenha" id="reSenha"/>
</td>
</tr>
<tr>
<td>
<input type="submit" value="Salvar"/>
</td>
</tr>
</tbody>
</table>
</form>
</body>
</html>
funcao_cadastra_funcionario.php
<?php
require 'Classes/Funcionario.class.php';
require 'Daos/FuncionarioDao.class.php';
require 'Classes/conexao.class.php';
$conexao = new Conexao();
$conexao->conecta();
$nome = $_POST['nome'];
$cpf = $_POST['cpf'];
$dtNascimento = $_POST['dtNascimento'];
$usuario = $_POST['usuario'];
$senha = $_POST['senha'];
$reSenha = $_POST['reSenha'];
if($senha != $reSenha){
echo "As senhas digitadas são diferentes, volte e corrija";
}else{
echo "Iniciando...";
$funcionario = new Funcionario();
echo "1";
$funcionario->setNome($nome);
echo "2";
$funcionario->setCpf($cpf);
echo "3";
$funcionario->setDtNascimento($dtNascimento);
echo "4";
$funcionario->setUsuario($usuario);
echo "5";
$funcionario->setSenha($senha);
echo "6";
$funcDao = new FuncionarioDao();
echo "7";
$funcDao->cadastra($funcionario);
echo "8";
}
?> Se alguém puder me dar uma luz, o sistema esta executando todos os echo acima, mas não cadastra no banco... Obrigado..