junaooaks 3 Denunciar post Postado Agosto 25, 2010 ola pessoal estou iniciando no conceito oop, ja li um monte de artigo ja baixei um muncado de class comprei dois livro pra mim ajudar, so que ate agora nao consegui fazer um cadastro de cliente oop com pdo poderia me ajudar :( vo colocar as class que consegui fazer e que peguei na internet //class de conexao com o banco de dados <?PHP class Conexao { private $con = NULL; /*SE QUISERMOS UTILIZAR OUTRO BANCO DE DADOS DEVEMOS APENAS MUDAR ESTE ATRIBUTO*/ private $dbType = "mysql"; private $host = "localhost"; private $user = "teste"; private $pass = "teste"; private $db = "teste"; private $persistencia = false; private $x; /*PODE SER TROCADO POR __construct do PHP5 sem problemas*/ public function __construct($persistencia = false){ if($persistencia != false) { $this->persistencia = true; } $this->x="asfd"; } public function getConnection(){ try{ $this->con = new PDO($this->dbType.":host=".$this->host.";dbname=".$this->db,$this->user,$this->pass); /* ESTA PROPRIEDADE INDICA COMO O PDO VAI RETORNAR OS ERROS SQL NO MODO PDO::ERRMODE_WARNING O RETORNO DO ERRO É IGUAL AO QUE VEMOS SEM A UTILIZAÇÃO DO PDO */ $this->con->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING); return $this->con; }catch(PDOException $ex){ echo "ERRO:".$ex->getMessage(); } } public function Close(){ if($this->con != NULL){ $this->con = NULL; } } } ?> //class com os metodos get e set class cliente { private $id_cliente; private $nome; private $endereco; private $bairro; private $cidade; private $cep; private $cpfCnpj; private $telefone; private $celular; private $email; private $estado; public function setIdCliente($id_cliente) { $this->id_cliente = $id_cliente; } public function getIdCliente() { return $this->id_cliente; } public function setNome($nome){ $this->nome = $nome; } public function getNome(){ return $this->nome; } public function setEndereco ($endereco){ $this->endereco = $endereco; } public function getEndereco (){ return $this->endereco; } public function setBairro ($bairro){ $this->bairro = $bairro; } public function getBairro (){ return $this->bairro; } public function setCidade($cidade){ $this->cidade = $cidade; } public function getCidade(){ return $this->cidade; } public function setCep($cep){ $this->cep = $cep; } public function getCep(){ return $this->cep; } public function setCpfCnpj($cpfCnpj){ $this->cpfCnpj = $cpfCnpj; } public function getCpfCnpj(){ return $this->cpfCnpj; } public function setTelefone ($telefone) { $this->telefone = $telefone; } public function getTelefone(){ return $this->telefone; } public function setCelular($celular){ $this->celular = $celular; } public function getCelular(){ return $this->celular; } public function setEmail($email){ $this->email = $email; } public function getEmail(){ return $this->email = $email; } public function setEstado($estado){ $this->estado = $estado; } public function getEstado(){ return $this->estado = $estado; } } ?> //formulario html <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>SISGEW Mikrotik</title> <style type="text/css"> @import url("../../css/form.css"); </style> <?php //includes include ("../../mysql/conexao.php"); include ("../../bean/cliente.php"); ?> </head> <body> <form id="form1" name="form1" method="post" action=""> <table border="0" cellspacing="0" cellpadding="1"> <tr> <td><input name="novo" type="image" id="novo" src="../../botao/novo.gif"/></td> <td><input name="alterar" type="image" id="alterar" src="../../botao/alterar.gif"/></td> <td><input name="deletar" type="image" id="deletar" src="../../botao/delete.gif"/></td> <td><input name="busca" type="image" id="busca" src="../../botao/buscar.gif"/></td> <td><input name="fechar" type="image" id="fechar" onClick="window.close()" src="../../botao/fechar.gif"/></td> </tr> <tr> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> </tr> </table> <table border="0" align="center" cellpadding="5" cellspacing="0"> <tr> <td width="55">Nome:</td> <td><input name="nome" type="text" id="nome" size="80" /></td> </tr> <tr> <td>Endereço:</td> <td><input name="endereco" type="text" id="textfield2" size="80" /></td> </tr> <tr> <td>Email:</td> <td><input name="email" type="text" id="email" size="80" /></td> </tr> <tr> <td>Bairro:</td> <td><input type="text" name="bairro" id="textfield3" /></td> </tr> <tr> <td>Cidade:</td> <td><input type="text" name="cidade" id="textfield4" /></td> </tr> <tr> <td>Cep:</td> <td><input type="text" name="cep" id="textfield5" /></td> </tr> <tr> <td>estado:</td> <td><label for="estado"></label> <select name="estado" id="estado"> <option value="AC">AC</option> <option value="AL">AL</option> <option value="AP">AP</option> <option value="AM">AM</option> <option value="BA">BA</option> <option value="CE">CE</option> <option value="DF">DF</option> <option value="ES">ES</option> <option value="GO">GO</option> <option value="MA">MA</option> <option value="MT">MT</option> <option value="MS">MS</option> <option value="MG">MG</option> <option value="PA">PA</option> <option value="PB">PB</option> <option value="PR">PR</option> <option value="PE">PE</option> <option value="PI">PI</option> <option value="RJ">RJ</option> <option value="RN">RN</option> <option value="RS">RS</option> <option value="RO">RO</option> <option value="RR">RR</option> <option value="SC">SC</option> <option value="SP">SP</option> <option value="SE">SE</option> <option value="TO">TO</option> </select></td> </tr> <tr> <td>Telefone:</td> <td><input type="text" name="telefone" id="textfield7" /></td> </tr> <tr> <td>Celular:</td> <td><input type="text" name="celular" id="textfield8" /></td> </tr> <tr> <td>Cpf/Cnpj:</td> <td><input type="text" name="cpfcnpj" id="textfield9" /></td> </tr> <tr> <td> </td> <td><input type="submit" name="button" id="button" value="Cadastrar" /></td> </tr> <tr> <td> </td> <td> </td> </tr> </table> </form> </body> </html> poderia me ajudar com base nestas class a fazer um INSERT na minha tabela eu acho que tem que criar uma classe com as consulta alterações desta class ? pessoal e so pra mim da uma força, ja estou a uma semana e nao consigo sair do lugar pessoal seguindo um exemplo consegui fazer a class com o select so que nao consigo inserir arquivo no banco de dados poderia me ajudar ? o que estou fazendo de errado. class clienteSql extends Conexao { public $con; public function __construct() { $this->con = Conexao::getConnection(); } //funcao para fazer select na tabela public function Insert($cliente) { $query = "INSERT INTO clientes (NomeCliente, Email, Numero, Cgc, Cpf, Endereco, Bairro, Cidade, Estado, Cep, Telefone1, Celular ) VALUES (:nome, :email, :numero, :cnpj, :cpf, :endereco, :bairro, :cidade, :estado, :cep, :telefone, :celular)"; try { $stmt = $this->con->prepare($query); $stmt->bindValue(':nome', $cliente->getNome()); $stmt->bindValue(':email', $cliente->getEmail()); $stmt->bindValue(':numero', $cliente->getNumero()); $stmt->bindValue(':cnpj', $cliente->getCnpj()); $stmt->bindValue(':cpf', $cliente->getCpf()); $stmt->bindValue(':endereco', $cliente->getEndereco()); $stmt->bindValue(':bairro', $cliente->getBairro()); $stmt->bindValue(':cidade', $cliente->getCidade()); $stmt->bindValue(':estado', $cliente->getEstado()); $stmt->bindValue(':cep', $cliente->getCep()); $stmt->bindValue(':telefone', $cliente->getTelefone()); $stmt->bindValue(':celular', $cliente->getCelular()); return $stmt->execute(); } catch (PDOException $ex) { echo $ex->getMessage(); } } public function Update($cliente) { $query = "UPDATE clientes SET NomeCliente=:nome, email=:email, telefone=:telefone where id_cliente=:id_cliente"; try { $stmt = $this->con->prepare($query); $stmt->bindValue(':nome', $user->getNome()); $stmt->bindValue(':email', $user->getEmail()); $stmt->bindValue(':telefone', $user->getTelefone()); $stmt->bindValue(':id_cliente', $user->getIdCliente()); $stmt->execute(); } catch (PDOException $ex) { echo $ex->getMessage(); } } } galera ainda nao consegui sai do lugar com oop como faço para juntar as class e armazenar arquivo na tabela pessoal tentando resolver o a minha situação alterei o arquivo do formulario, e apareceu o seguinte erro: Fatal error: Call to a member function getNome() on a non-object in /var/www/sisgew/mysql/clienteSql.php on line 22 alterei estas linhas no formulario <?php //includes include ("../../mysql/clienteSql.php"); //new cria o objeto $clienteSql = new clienteSql(); //para selecionar a funcion e adiciona ites nela $insert = $clienteSql ->Insert($cliente); ?> tem como alguem me ajudar Compartilhar este post Link para o post Compartilhar em outros sites
junaooaks 3 Denunciar post Postado Agosto 27, 2010 na class do INSERT esta dando um erro ERRO:could not find driver Fatal error: Call to a member function prepare() on a non-object in /var/www/sisgew/mysql/clienteSql.php on line 32 e estas linhas $stmt = $this->con->prepare("INSERT INTO clientes (NomeCliente, Email, Numero, Cgc, Cpf, Endereco, Bairro, Cidade, Estado, Cep, Telefone1, Celular ) VALUES (:nome, :email, :numero, :cnpj, :cpf, :endereco, :bairro, :cidade, :estado, :cep, :telefone, :celular)"); pessoal preciso de ajuda lembrando que configurei no arquivo do php.ini a saida para PDO Compartilhar este post Link para o post Compartilhar em outros sites
Evandro Oliveira 331 Denunciar post Postado Setembro 1, 2010 Na linha 32, o termo que precede "->prepare(...)" não é um objeto. Compartilhar este post Link para o post Compartilhar em outros sites