• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

aclips

Aceder a uma base de dados remota

7 mensagens neste tópico

Boas pessoal  :cheesygrin:

Aqui estou eu novamente, ehehehe

Ok eu ando a tentar aceder a uma base de dados que se encontra noutro servidor. Tenho uma página de informação em html que utiliza uma outra página em PHP para aceder à base de dados, algo do tipo:

navegador.php

?php

echo "<table class=\"imostar_navigator\" width=\"100%\"  border=\"0\" cellspacing=\"0\" cellpadding=\"0\">

<tr><td colspan='7'><div align='left'>:: ";

if (($pag_ant) && ($pag>1)) {

echo "<<  <a href=\"$PHP_SELF?pag=$pag_ant&cmd=pesquisar&psq_tipo_imovel=$psq_tipo_imovel&psq_tipo_viv=$psq_tipo_viv&psq_concelho=$psq_concelho&psq_preco=$psq_preco\">" . $widget_navegador["{ANTERIOR}"] . "</a> ";}

for ($p=1; $p<=$num_pag;$p++) {

if($p != $pag) {

echo " <a href=\"$PHP_SELF?pag=$p&cmd=pesquisar&psq_tipo_imovel=$psq_tipo_imovel&psq_tipo_viv=$psq_tipo_viv&psq_concelho=$psq_concelho&psq_preco=$psq_preco\">$p</a> ";

}

else {

echo " <strong> $p </strong> ";

}

}

if ((($pag+1) <= $num_pag)) {

echo "::  <a href='$PHP_SELF?pag=$pag_seg&cmd=pesquisar&psq_tipo_imovel=$psq_tipo_imovel&psq_tipo_viv=$psq_tipo_viv&psq_concelho=$psq_concelho&psq_preco=$psq_preco'>" . $widget_navegador["{SEGUINTE}"] . "</a> >>  ";

}

echo " ::</div></td></tr></table>";

?

que utiliza uma outra página para autenticar e aceder à base de dados

config.inc.php

?php

$servidor = "localhost";

$username = "username";

$password = "password";

$basedados = "database";

$bprex = "imostar";

function init() {

$t = 1;

}

function formatar_numero ($value) {

if(strpos($value,".")) {

        $decimalval = substr($value,strpos($value,".")+1);

        $value = substr($value,0,strpos($value,"."));

}

$valuelength = strlen($value);       

$count = 0;       

$countnumber = 0;       

$addcomma = 0;     

while ($count < $valuelength) {

        $count++;

        $countnumber++;

        if (($countnumber == 3) && ($count != $valuelength)) {

        $addcomma++;

            $countnumber = 0;

        }     

}

...

?

O que eu pretendo é aceder à base de dados $basedados = "database"; que se encontra no servidor original, a partir de outro servidor, utilizando as mesmas páginas.

A página de acesso a estes dados dentro do servidor original é algo do tipo

index.html

?php

session_start();

session_register("idioma_tag");

session_register("idioma_cambio");

session_register("idioma_moeda");

session_register("userid");

include ("controlo/includes/config.inc.php");

init();

db_connect();

if (!isset($_SESSION["userid"])) {

$_SESSION["userid"] = "@null";

}

if (!isset($_SESSION["idioma_tag"])) {

//predefinir uma lingua logo á entrada - para mudar este idioma deverá ter a certeza que tem o

//idioma na base de dados e o ficheiro de tradução devidamente configurado

$_SESSION["idioma_tag"] = "uk";

$_SESSION["idioma_cambio"] = "1";

$_SESSION["idioma_moeda"] = "GBP";

}

if (isset($_GET["chlang"])) {

$_SESSION["idioma_tag"] = $_GET["chlang"];

//obter cambios

$query = "SELECT idioma_moeda from $bprex" . "_idiomas where idioma_tag='". $_SESSION["idioma_tag"] . "'";

$result = mysql_query($query);

$_SESSION["idioma_moeda"] = mysql_result($result,0,"idioma_moeda");

}

$query = "SELECT idioma_file from $bprex" . "_idiomas where idioma_tag='".$_SESSION["idioma_tag"]."'";

$result = mysql_query($query);

$file = mysql_result($result,0,"idioma_file");

include("langs/" . $file);

?

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

html>

<head>

</head>

<body>

        <tr>

          <td><table width="100%"  border="0" cellpadding="0" cellspacing="0">

              <?php

  include ("widgets/fazer_lista.php");

  ?>

          </table></td>

        </tr>

        <tr>

          <td><div align="left"></div>

              <?php include ("widgets/navegador.php"); ?>

          </td>

        </tr>

      </table>

</body>

</html

Espero que tenha conseguido vos ter baralhado o suficiente para que me possam dar aqui uma mãozinha ou mesmo um pézinho  :hmm:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

tu queres é aceder a uma base de dados que está noutro servidor? mete o endereço ip do servidor em que está a outra Base de dados, axo k eh assim, em vez de meters "localhost" metes "127.0.0.7" por exemplo :) axo eu..

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Na maioria dos casos as bases de dados de MySQL encontram-se bloqueadas ao acesso exterior ao servidor, sendo possivel aceder unicamente através do localhost. Se o servidor onde está a base de dados de mysql se encontra num servidor com um painel de controlo confirma se o acesso ao ip do servidor externo ou % estão definidos.

No link inclui o IP ou host do servidor externo.

Com os melhores cumprimentos,

Sérgio Matias

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Na maioria dos casos as bases de dados de MySQL encontram-se bloqueadas ao acesso exterior ao servidor, sendo possivel aceder unicamente através do localhost. Se o servidor onde está a base de dados de mysql se encontra num servidor com um painel de controlo confirma se o acesso ao ip do servidor externo ou % estão definidos.

No link inclui o IP ou host do servidor externo.

Com os melhores cumprimentos,

Sérgio Matias

O IP é inserido sem o http://0.0.0.0, certo?

fica algo do tipo:

  $servidor = "0.0.0.0";

  $username = "username";

  $password = "password";

  $basedados = "database";

  $bprex = "imostar";   

Ok vou testar isso, depois dou o feedback.

Obrigado aos dois

:P

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Na maioria dos casos as bases de dados de MySQL encontram-se bloqueadas ao acesso exterior ao servidor, sendo possivel aceder unicamente através do localhost. Se o servidor onde está a base de dados de mysql se encontra num servidor com um painel de controlo confirma se o acesso ao ip do servidor externo ou % estão definidos.

No link inclui o IP ou host do servidor externo.

Com os melhores cumprimentos,

Sérgio Matias

Já tentei diversas vezes, e tenho quase a certeza de que tenho script bem, contudo não estou a conseguir aceder à dita DB. Presumo que, tal como o Sérigo Matias comentou, o host não deve estar a dar permissão para que servidores externos tenham acesso à base de dados.

Vou tentar junto do fornecdor do alojamento saber se é possivel a autorização, controlada, à base de dados a partir de um server externo.

Obrigado mais uma vez aos dois

:thumbsup:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora