Ivan Neko 0 Denunciar post Postado Março 19, 2011 Boa noite pessoal meu primeiro post, porem to com um problema q pra muitos deve ser totalmente simples, mas q ta me zuando mor aheahea bom eu to fazendo PHP OO e to tendo umas dificuldades o erro deve ser bem noob eu sei bom vo colocar o fonte aki Codigo HTML: <!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=ISO-8859-1"> <title>PWIII</title> </head> <body> Selecione o BD... <form action="Connection/connection.php" method="POST"> <select> <option id="mysql" value="mysql">MySQL</option> <option id="oracle" value="oracle">Oracle</option> </select> <input type="submit" value="Continuar"/> </form> </body> </html> connection.php: <?php require_once 'mysql.php'; Class Connection { //Declaração das variáveis para conectar ao banco. private $host = "localhost"; private $user = ""; private $pass = ""; private $tipo = ""; if ($tipo == "mysql") { $con = new mysql(); $con->Conectar(); } setTipo($_POST['id']; } ?> mysql.php <?php class mysql { function Conectar() { $this->conexao = mysql_connect('localhost', '','') or die ("Não foi possivel conectar"); echo ("Conexão feita com sucesso"); } } ?> bom o fato eh, durante o $con->Conectar(); quando ele xama ali ao clicar no botao pra prosseguir ele imprimi o codigo do Conectar pra baixo na tela se alguem puder corrigir e me mostrar os erros fico grato abraços Compartilhar este post Link para o post Compartilhar em outros sites
André Severino 3 Denunciar post Postado Março 19, 2011 Está estranho esse código seu. - setTipo($_POST['id']; não está fechando o parenteses - Você não está definindo o usuário. - Você não está definindo a senha(pode ser vazia). - Você não está selecionando o banco de dados. Com relação ao código setTipo($_POST['id']; // Esqueceu de fechar o parentese $this->conexao = mysql_connect('localhost', '',''); // De onde você está chamando o atributo conexao ? você poderia automatizar desta forma if ($tipo == "mysql") { $con = new mysql($this->host, $this->user, $this->pass); $con->Conectar(); } function Conectar($server, $user, $pass) { mysql_connect($server, $user, $pass); E algumas outras modificações, mas agora tenho que sair. abraços e até mais :thumbsup: Compartilhar este post Link para o post Compartilhar em outros sites
Ivan Neko 0 Denunciar post Postado Março 20, 2011 obrigado pelas dicas porem continuo tendo o mesmo erro depois do "$con->conectar();" ele imprimi na tela td o codigo depois dessa operaçao... Compartilhar este post Link para o post Compartilhar em outros sites
Ivan Neko 0 Denunciar post Postado Março 20, 2011 por favor alguem pode estar executando a aplicaçao na makina de vcs e visualizando o problema q comentei, e me ajudar por favor ?? Compartilhar este post Link para o post Compartilhar em outros sites
jcalebe 0 Denunciar post Postado Março 20, 2011 Parece haver um erro no formulário. Onde está o name do select? Fiz alteração na linha 2. <form action="Connection/connection.php" method="POST"> <select name="id"> <option id="mysql" value="mysql">MySQL</option> <option id="oracle" value="oracle">Oracle</option> </select> <input type="submit" value="Continuar"/> </form> Compartilhar este post Link para o post Compartilhar em outros sites
Ivan Neko 0 Denunciar post Postado Março 20, 2011 jcalebe vlw pela ajuda, mas ainda s continuo tendo o mesmo erro você chegou a executar ai pra ver se da o erro ? depois q clico no botao continuar ele coloca isso na tela Conectar($this->host, $this->user, $this->pass); } setTipo($_POST['id']); } ?> n sei pq ele ta imprimindo o codigo.... Compartilhar este post Link para o post Compartilhar em outros sites
thallescard 0 Denunciar post Postado Março 21, 2011 Ola Ivan... Bom realmente seu código esta meio estranho ao que me parece.... no caso não acho necessário você ter uma classe so para escolher qual classe de banco de dados usar, acho que so necessita fazer a configuração e pronto... vou coloccar aqui as opções que acho que serviria pra você: exemplo 1: na pagina conexao.php <?php require_once 'mysql.php'; require_once 'oracle.php'; //******* exemplo do include da outra classe que seria utilizada //Declaração das variáveis para conectar ao banco. $host = "localhost"; $user = "guest"; $pass = "123"; $tipo = $_POST['id']; if ($tipo == "mysql"){ $con = new mysql(); }else{ $con = new Oracle(); //**** exemplo da outra classe.... } $con->Conectar($host,$user,$pass); //supondo que o metodo seja o mesmo nas duas classes ?> na pagina mysql.php <?php class mysql { public $conexao; function Conectar($host,$user,$pass) { $this->conexao = mysql_connect($host, $user,$pass); if (!$this->conexao){ die ('Não foi possivel conectar'); }else{ echo 'Conexão efetuada com sucesso!'; } } } ?> exemplo 2: (do jeito que pessoal falou, que alias acho + interessante) na pagina conexao.php <?php require_once 'mysql.php'; require_once 'oracle.php'; //******* exemplo do include da outra classe que seria utilizada //Declaração das variáveis para conectar ao banco. $host = "localhost"; $user = "guest"; $pass = "123"; $tipo = $_POST['id']; if ($tipo == "mysql"){ $con = new mysql($host,$user,$pass); }else{ $con = new Oracle($host,$user,$pass); //**** exemplo da outra classe.... } ?> na pagina mysql.php <?php class mysql { public $conexao; public function __construct($host,$user,$pass) { $this->conexao = mysql_connect($host, $user,$pass); if (!$this->conexao){ die ('Não foi possivel conectar'); }else{ echo 'Conexão efetuada com sucesso!'; } } } ?> bom é isso.. espero ter ajudado! Compartilhar este post Link para o post Compartilhar em outros sites
Ivan Neko 0 Denunciar post Postado Março 22, 2011 ae consegui arrumar ^^ vlw pela ajuda td mundo :) Compartilhar este post Link para o post Compartilhar em outros sites