Jump to content

Aceder a uma base de dados remota


aclips
 Share

Recommended Posts

Boas pessoal¬† ūüėĀ

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  ?

Link to comment
Share on other 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..

Link to comment
Share on other sites

perdido_e_sozinho

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

ser.gifsartim.gif

Link to comment
Share on other 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

Link to comment
Share on other 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

ūüĎć

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.