Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Ivan Neko

[Resolvido] Coisa simples em PHP

Recommended Posts

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

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

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

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

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

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.