Avatar billede thomashansen Nybegynder
29. august 2006 - 17:36 Der er 11 kommentarer og
1 løsning

Kan man udtrække fra database på fremmed domæne ?

Jeg bruger 2 domæner og vil på en hjemmeside placeret på A gerne udtrække data fra en database på B.

Konkret har jeg et forum på B hvorfra jeg gerne vil vise seneste emne som en del af forsiden på A.

Scriptet til, at udtrække fra databasen virker fint på B men altså ikke på A: http://www.hybenvang.dk/Forum/TH_16.asp

Hvordan gør jeg ?
Avatar billede madeindk Nybegynder
29. august 2006 - 17:54 #1
Avatar billede thesurfer Nybegynder
29. august 2006 - 18:09 #2
Som der står på linket madeindk gav, skal du på B have et scripte der udskriver data fra databasen, som du så indlæser på A.

Ellers kan man ikke gøre det.

Man kan muligvis gøre det, hvis det er en MySQL database..
Avatar billede thomashansen Nybegynder
31. august 2006 - 23:46 #3
Jeg må erkende, at jeg trænger til, at få løsningen "pindet mere ud".
Avatar billede thesurfer Nybegynder
01. september 2006 - 00:23 #4
Noget i den stil:


Server B ( http://www.B.dk/hent_alle_data.asp ):

sql = "select * from TabelNavn"
...
if rs.bof or rs.eof then
    response.write "Ingen data"
else
    data = ""
    do while not rs.eof
        data = data & rs("Navn") & "*"
        data = data & rs("Adresse") & "*"
        data = data & rs("Postnr") & "*"
        data = data & rs("Bynavn")

        data = data & "|"
        rs.movenext
    loop
    response.write data
    response.end ' afvikler ikke flere koder
end if
...


Server A ( http://www.A.dk/hent_data_fra_B.asp )
<%
  Response.Buffer = True

    dim Side_A
    Side_B = "http://www.B.dk/hent_alle_data.asp"

  Dim objXMLHTTP, xml

  ' Create an xmlhttp object:
  Set xml = Server.CreateObject("Microsoft.XMLHTTP")
  ' Or, for version 3.0 of XMLHTTP, use:
  ' Set xml = Server.CreateObject("MSXML2.ServerXMLHTTP")

  ' Opens the connection to the remote server.
  xml.Open "GET", Side_A, False
   
  ' Actually Sends the request and returns the data:
  xml.Send

  'Display the HTML both as HTML and as text
  Response.Write "<h1>The HTML text</h1><xmp>"
  Response.Write xml.responseText
  Response.Write "</xmp><p><hr><p><h1>The HTML Output</h1>"

  Response.Write xml.responseText

 
  Set xml = Nothing
%>

Kilde: http://www.4guysfromrolla.com/webtech/110100-1.shtml
Avatar billede thesurfer Nybegynder
01. september 2006 - 00:26 #5
Koden fra 01/09-2006 00:23:36 udskriver navn, adresse, postnummer og bynavn fra en database.

Det kommer til at se sådan ud:

hans hansen*en eller anden vej 123*1234*MinBy|jens jens*endnu en vej 456*9876*Bynavnet

Du bruger så Split funktionen til at splitte data op, så du kan få fat på de enkelt data..

Split / array: http://www.html.dk/tutorials/asp/lektion8.asp
Avatar billede thesurfer Nybegynder
01. september 2006 - 03:15 #6
Rettelse (variabelfejl):

Server A ( http://www.A.dk/hent_data_fra_B.asp )
<%
  Response.Buffer = True

    dim Side_B
    Side_B = "http://www.B.dk/hent_alle_data.asp"

  Dim objXMLHTTP, xml

  ' Create an xmlhttp object:
  Set xml = Server.CreateObject("Microsoft.XMLHTTP")
  ' Or, for version 3.0 of XMLHTTP, use:
  ' Set xml = Server.CreateObject("MSXML2.ServerXMLHTTP")

  ' Opens the connection to the remote server.
  xml.Open "GET", Side_B, False
   
  ' Actually Sends the request and returns the data:
  xml.Send

  'Display the HTML both as HTML and as text
  Response.Write "<h1>The HTML text</h1><xmp>"
  Response.Write xml.responseText
  Response.Write "</xmp><p><hr><p><h1>The HTML Output</h1>"

  Response.Write xml.responseText

 
  Set xml = Nothing
%>
Avatar billede thomashansen Nybegynder
01. september 2006 - 14:50 #7
Jeg prøver det i løbet weekend´en og vender tilbage
Avatar billede thomashansen Nybegynder
01. september 2006 - 22:37 #8
Tak for hjælpen det virker.
Du må endelig sende et svar
Avatar billede thesurfer Nybegynder
01. september 2006 - 22:51 #9
Det vil jeg så gøre.. :-)
Avatar billede thesurfer Nybegynder
01. september 2006 - 22:55 #10
Jeg vil anbefale en eller anden form for sikkerhed, hvis oplysningerne i databasen er personline (el.lign)..

F.eks kunne B kræve at der stod noget bestem i URL'en..

Eksempel:

<%
if request.querystring("en_eller_anden_form_for_sikkerhed") <> "noget_specielt" then
  response.write "Intet at se her.."
else
  ' udskriv data
end if
%>

For at B udskriver data, skal der i være:

http://www.b.dk/hent_alle_data.asp?en_eller_anden_form_for_sikkerhed=noget_specielt
Avatar billede thesurfer Nybegynder
01. september 2006 - 22:56 #11
Rettelse: "skal der i URL'en være"
Avatar billede thomashansen Nybegynder
01. september 2006 - 23:09 #12
Du har sikkert ret med hensyn til sikkerheden, det vil jeg rode med. Tak for input
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester