IceCOld 1 Denunciar post Postado Novembro 3, 2009 seguinte galera, estou com um problema sério. minhas classes no php não estão instanciando. elas não funcionam.. estou achando que pode ser algo no apache.. adicionei umas extensions do php como a php_class e a php_runkit... mais ainda assim não funciona.. o que será que é?? Página que fará o cadastro: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Deleane Folheados - Sistema de Controle de Estoque</title> <?php include "categoria.class.php"; if($_SERVER['REQUEST_METHOD'] == 'POST'){ $nome1 = $_POST['nome']; $obj = new Categoria(); $obj->setCadCat($nome1); } ?> </head> <body> <div id="pagina"> <?php include "menu.php"; ?> <div id="conteudo"> <form id="form1" name="form1" method="post" action="categoria.php"> <table width="500" border="0" cellspacing="3" cellpadding="3"> <tr> <td width="52"><strong>Nome:</strong></td> <td width="427"><label><input name="nome" type="text" id="nome" size="50" /></label></td> </tr> <tr> <td> </td> <td><label><input type="submit" name="cadastrar" id="cadastrar" value="Cadastrar" /></label></td> </tr> </table> </form> </div> <div style="clear: both;"></div> </div> </body> </html> Classe de conexão <?php class mysql{ public $login = "root"; public $pass = ""; public $server = "localhost"; public $db = "dele_esto"; function mysql(){ $this->conecta(); } function conecta(){ $conexao = mysql_connect($this->server,$this->login,$this->pass); $dados = mysql_select_db($db,$conexao); } } ?> Classe de categoria <?php include "mysql.class.php"; class categoria{ public $nome; function categoria(){ $banco= new mysql(); } public function setCadCat($nome){ $sql = mysql_query("INSERT INTO dlf_categoria (nome) VALUE ('$nome')"); } } ?> Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Novembro 3, 2009 Qual versão do php ? Atente para o 'case sensitive': $obj = new Categoria(); .. class categoria{ Deu algum erro? qual ? Compartilhar este post Link para o post Compartilhar em outros sites
IceCOld 1 Denunciar post Postado Novembro 3, 2009 php version 5.2.5 não é o case.. não da erro... ele simplesmente não executa as funções.. tanto de conexão com o banco.. quanto a dos metodos da classe categoria.. o que mais pode ser?? Compartilhar este post Link para o post Compartilhar em outros sites
Matias Rezende 50 Denunciar post Postado Novembro 3, 2009 Faça o seguinte. $obj = new Categoria(); var_dump($obj); exit; $obj->setCadCat($nome1); Poste aqui o que retornar. Antes disto, habilite todas as mensagens de erro do sistema, colocando este código no início do script. <?php ini_set('display_errors', 1); error_reporting(E_ALL); ?> Veja se exibe algum erro e poste aqui também. Carlos Eduardo Compartilhar este post Link para o post Compartilhar em outros sites
IceCOld 1 Denunciar post Postado Novembro 3, 2009 apresento o seguinte.. Notice: Undefined variable: db in C:\webserver\deleane\mysql.class.php on line 15 object(categoria)#1 (1) { ["nome"]=> NULL } Compartilhar este post Link para o post Compartilhar em outros sites
IceCOld 1 Denunciar post Postado Novembro 3, 2009 amigo muito obrigado pela sua ajuda, esse código que você me passou fez com que eu achasse o erro. era na classe de conexão com o banco.. tinha esquecido de declarar o $this->db $db é um atributo, mas no metodo de conexão eu tinha colocado ele como variavel auxiliar. muito obrigado! Compartilhar este post Link para o post Compartilhar em outros sites