Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá,
Estou aqui cheio de dúvidas, que podem ser bestas para muitos, porém para mim está me tirando noites de sono!
Eu tenho alguns sites que estão hospedados em um determinado servidor de hospedagem que funcionam muito bem entre si, já que estão no mesmo serv.
Em um desses domínios hospedados nesse servidor tenho um banco de dados para cadastro de clientes, empresas e configurações tais como estados, cidades e bairros, categorias de empresas, sexo. Enfim, criei para não repetir em vários BD a mesma tabela, e também criar um mega mailing. Esse BD, que vou chamar de BD_Principal, está em um domínio específico.
Todos os sistemas que crio utilizo do BD_Principal, desde o login em sistemas até cadastro de clientes de uma empresa, criando e alterando dados. Tudo isso nessas tabelas básicas de pessoas e empresas. Obviamente há banco de dados em cada domínio com outros dados necessários para o funcionamento dos sistemas.
Só que alguns sites recentes que desenvolvi estão sendo armazenados em outros servidores. Como exemplo: Um cliente que já tem um site, agora que um sistema básico e prefere manter no servidor antigo.
Até aí tudo bem! Ou melhor, nada bem!
Tentei fazer a conexão com o banco de dados BD_Principal, e não consegui. Daí fui as pesquisas, e descobri que o acesso é bloqueado (ÔÔÔ é mesmo?) e deveria pedir para a empresa do servidor de hospedagem que está o BD_Principal liberar o acesso do outro servidor. Então me perguntei, vou ter que pedir permissão toda vez que criar um site e hospedar fora daquela empresa?
Sem responder fui pedir para liberarem, neh? Mas me deram a seguinte resposta: não pode ser liberado para servidores desconhecidos por motivo de segurança!
Teve uns estresses, mas não vem ao mérito, e não foi autorizado a liberação.
Daí me pergunto, como vou tratar isso?
Veio a ideia do PagSeguro, que tem um sistema de integração aonde o desenvolvedor manda dados através do FORMs e tem páginas de retornos... blá, blá, blá...
Mas essa é uma ideia! Como devo fazer, já que mostro dados, recebo dados, altero dados do BD_Principal, inclusive tem aquele combobox do estado, cidade e bairro no formulário de cadastro.
Será que existe outra solução melhor? Qual?
Estou aqui pensando no MACRO, como posso fazer isso para todo e qualquer site que criar ter meio que "padrão" esse acesso ao BD_Principal. Porque em muitos casos, é até necessário para o login no sistema.
Agradeço qualquer sugestões, criticas e espero que ajude outras pessoas com dúvidas semelhantes!
cara... a solução para o teu problema que eu imaginei agora, é criar uma espécie de webservice.
Onde um dominio consulta os dados do outro, mas não acessando o banco diretamente, mas sim uma interface comum e "aberta", como um xml, por exemplo. Entendeu ?
O site externo, enviaria requisições post para o site com o BD_principal, e este resolveria a requisição, alterando, inserindo e tudo mais.
Ou seja, a conexão fica somente no site q tem o bd, e os outros apenas enviam requisições, e recebem dados, através de um XML.
Que tal ?
Excelente tua resposta!
É exatamente o que tinha feito, até agora! Mas como eu te mostrei o problema lá em JavaScript, que (por exemplo) não consigo ler o XML, via jQuery, para popular o <select name="IdState"></select>.
Por isso todo o meu aperreio, por não conseguir fazer algumas coisas do tipo.
Obrigadão por ajudar mais uma vez Bruno!
ajax não aceita requisições externas, por motivos de segurança.
apenas com jSON(pois ai você estaria importando esse objeto js, para dentro do seu documento, e então para o browser, seria como uma requisição local).
por isso que você não consegue usar ajax com retorno XML.
ajax para dominios externos, apenas com retorno jSON.
Como devo proceder? Existe algo que possa ser feito? Sei lá um sistema de classes ou páginas que mostram ou recebe dados de determinada tabela?