Sadjow 1 Denunciar post Postado Janeiro 9, 2007 Ajuda aqui. com __autoload().tenho o seguinte arquivos....classes.inc.php <?php function __autoload($class_name) { require_once $_SERVER['DOCUMENT_ROOT']."/projetos/newsletter/classes/".$class_name . ".class.php"; } ?>cadastrar_Cliente.php<?php require_once ("../classes/Classes.inc.php"); $Cliente = new Cliente(); $Cliente->setCodigo(0); $Cliente->setNome($_POST['nome']); $Cliente->setLogin($_POST['login']); $Cliente->setSenha($_POST['senha']); $Cliente->setSenha2($_POST['senha2']); $Cliente->setSenhaMd5($_POST['senha']); $Cliente->setCNPJ($_POST['cpf_cnpj']); $Cliente->setTipo($_POST['tipo']); $Cliente->setInscricao($_POST['inscricao']); $Cliente->setEndereco($_POST['endereco']); $Cliente->setBairro($_POST['bairro']); $Cliente->setComplemento($_POST['complemento']); $Cliente->setCidade($_POST['cidade']); $Cliente->setUF($_POST['UF']); $Cliente->setCEP($_POST['CEP']); $Cliente->setTelefone($_POST['telefone']); $Cliente->setEmail($_POST['email']); $Cliente->setDtCadastro(date("Y-m-d")); $Cliente->setDtLiberacao(null); $ativo = (isset($_POST['ativo'])) ? $_POST['ativo'] : 2; $Cliente->setAtivo($ativo); $Cliente->setAction("Cad"); $ValidarCadastroCliente = new ValidarCadastroCliente(); $msg = $ValidarCadastroCliente->validar($Cliente); if ($msg === TRUE) { $CadastroCliente = new CadastroCliente($Cliente); @session_start(); $_SESSION = array(); session_destroy(); header("Location: ../index.php?page=cad_sucesso"); } else { @session_start(); $_SESSION['arrayCliente'] = get_object_vars($Cliente); header("Location: ../index.php?page=cadastro&msg=$msg"); } ?>e o resultado:Fatal error: Cannot redeclare __autoload() (previously declared in C:\xampp\htdocs\projetos\Newsletter\classes\Classes.inc.php:24) in C:\xampp\htdocs\projetos\newsletter\classes\Classes.inc.php on line 27Por não declara a entidade? se eu nem declarei ela ainda... esse __autoload() sei não viu....ps.: ele n ta declarando a entidade $CadastroCliente .... Compartilhar este post Link para o post Compartilhar em outros sites
Sadjow 1 Denunciar post Postado Janeiro 9, 2007 vou postar aqui a classe cliente para facilitar.... <?php require_once("Classes.inc.php"); class CadastroCliente extends Exception { function __construct($objCliente) { $this->cfg = new Config(); $dsn = $this->cfg->db_dsn; $this->db = new DB(); $this->conn = DB::connect($dsn); if (DB::isError($this->conn)) die("Problemas na conexão com o banco".$this->conn->getMessage().""); if ($objCliente instanceof Cliente){ try { $strSQL = "CALL SP_AGMCLIENTES (''.$objCliente->getCodigo().'', ''.$objCliente->getNome().'', ''.$objCliente->getLogin().'', ''.$objCliente->getSenha().'', ''.$objCliente->getCNPJ().'', ''.$objCliente->getTipo().'', ''.$objCliente->getInscricao().'', ''.$objCliente->getEndereco().'', ''.$objCliente->getBairro().'', ''.$objCliente->getComplemento().'', ''.$objCliente->getCidade().'', ''.$objCliente->getUF().'', ''.$objCliente->getCEP().'', ''.$objCliente->getTelefone().'', ''.$objCliente->getEmail().'', ''.$objCliente->getDtCadastro().'', ''.$objCliente->getDtLiberacao().'',''.$objCliente->getAtivo().'',''.$objCliente->getAction().'')"; $data = $this->conn->query($strSQL); if (PEAR::isError($data)) { throw new Exception("Não foi possível o Cliente ". $strSQL); } } catch (Exception $e){ } } else { echo "O Objeto instanciado passado não é um Cliente!"; } } } ?> AFFE!!! Desculpa ai!!!! agora que eu vi o : <?php require_once("Classes.inc.php"); class CadastroCliente extends Exception {.....?> mals mesmo aeeeee...!! Compartilhar este post Link para o post Compartilhar em outros sites
Tellys Castro 12 Denunciar post Postado Janeiro 9, 2007 kra , mas no erro, ta falando que você ta chamando a funçao 2x, ou seja, verifique nas linhas que ele ta dando o erro, ele ta duplicada ali!! Fatal error: Cannot redeclare __autoload() (previously declared in C:\xampp\htdocs\projetos\Newsletter\classes\Classes.inc.php:24) in C:\xampp\htdocs\projetos\newsletter\classes\Classes.inc.php on line 27 Compartilhar este post Link para o post Compartilhar em outros sites
Sadjow 1 Denunciar post Postado Janeiro 9, 2007 já vi onde foi .....nunca mais coloco um require antes de um classe heheehhe....vlw abraço Compartilhar este post Link para o post Compartilhar em outros sites
Tellys Castro 12 Denunciar post Postado Janeiro 9, 2007 Resolveu? Compartilhar este post Link para o post Compartilhar em outros sites
Sadjow 1 Denunciar post Postado Janeiro 9, 2007 ainda nãoo... tirei mais deu um erro denovo .. Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\projetos\newsletter\classes\CadastroCliente.class.php:23) in C:\xampp\htdocs\projetos\Newsletter\action\cadastrar_Cliente.php on line 66o engraçado do erro anterior é que require_once o "once" só inclue uma vez o arquivo... não sei porque ele incluiu duas vezez.... sera burg? Compartilhar este post Link para o post Compartilhar em outros sites
Tellys Castro 12 Denunciar post Postado Janeiro 9, 2007 Mas agora o erro mudou.... ta com o Header('Location:');Ele ta no local errado ai da sua funçao.... o Mesmo caso , nas linhas informadas no erro Compartilhar este post Link para o post Compartilhar em outros sites
Sadjow 1 Denunciar post Postado Janeiro 9, 2007 muito obrigado ai pela atenção resolvido....... tinha a m***** de um espaço na classe CadastroCliente.... porque o session_start() n aceita? nem um espaço antes dele? olha so o espaço que tinha CadastroCliente.class.php <?php/*** Sistema criado por ******************** http://www.************* contato@************* ####################################* * Data de Criação do Arquivo/Script: 08/01/2007* Criado por: Sadjow Medeiros Leão* Script para o Projeto: Agillis Newsletter* Tipo de Script: Classe* * Parâmetros recebidos:######################################################Obj Cliente######################################################***/?> [color="#FF0000"][b]<--- Aqui a p**** do espaço kkkkkkkkk[/b][/color]<?php class CadastroCliente extends Exception { function __construct($objCliente) { $this->cfg = new Config(); $dsn = $this->cfg->db_dsn; $this->db = new DB(); $this->conn = DB::connect($dsn); if (DB::isError($this->conn)) die("Problemas na conexão com o banco".$this->conn->getMessage().""); if ($objCliente instanceof Cliente){ try { $strSQL = "CALL SP_AGMCLIENTES (''.$objCliente->getCodigo().'', ''.$objCliente->getNome().'', ''.$objCliente->getLogin().'', ''.$objCliente->getSenha().'', ''.$objCliente->getCNPJ().'', ''.$objCliente->getTipo().'', ''.$objCliente->getInscricao().'', ''.$objCliente->getEndereco().'', ''.$objCliente->getBairro().'', ''.$objCliente->getComplemento().'', ''.$objCliente->getCidade().'', ''.$objCliente->getUF().'', ''.$objCliente->getCEP().'', ''.$objCliente->getTelefone().'', ''.$objCliente->getEmail().'', ''.$objCliente->getDtCadastro().'', ''.$objCliente->getDtLiberacao().'',''.$objCliente->getAtivo().'',''.$objCliente->getAction().'')"; $data = $this->conn->query($strSQL); if (PEAR::isError($data)) { throw new Exception("Não foi possível o Cliente ". $strSQL); } } catch (Exception $e){ } } else { echo "O Objeto instanciado passado não é um Cliente!"; } } } ?> Acontece com todos.... =D Compartilhar este post Link para o post Compartilhar em outros sites
Tellys Castro 12 Denunciar post Postado Janeiro 9, 2007 Bem, ate ond eu sei o PHP nao tem isso nao, de probs com quebra de linha e espaço entre comandos, o que determina é o fim com '' ou "" ou , ou ; ou } ou ] e por ai vai... Compartilhar este post Link para o post Compartilhar em outros sites
Sadjow 1 Denunciar post Postado Janeiro 9, 2007 pelo menos aqui no meu tem... foi com xampp versão 5.2 do phpmais vlw pela ajuda..Abraço! Compartilhar este post Link para o post Compartilhar em outros sites