Kontakte anden domænes database

Tags:    php

<< < 12 > >>
Hej.
Jeg vil lige høre. Er det muligt at få kontakt med en database på en anden hjemmeside.
Altså kan jeg for eksempel godt kontakte dragoerkirkesungdomskor.dk's database fra shafh.dk, ved brug af mySQL?



11 svar postet i denne tråd vises herunder
5 indlæg har modtaget i alt 5 karma
Sorter efter stemmer Sorter efter dato
Du skal vidst bruge den nøjagtige database server for dem typisk noget som fx mysql9.gigahost.dk eller sådan... kan ikke helt huske hvor man finder den information henne men mener vidst at PHPMyAdmin er svaret igen :D



Hvorfor overhovedet bruge mysql?

Lav en fil på den server du vil have information fra, og lad der stå i den fil:

if ($_GET["password"] != "xxxxxxxxxxxxxxxx")
exit; // Er det exit();?

connect til mysql

$query = mysql_query($_GET["query"]);

Kør så alle rows igennem og echo det som xml

close mysql



og fra filen du vil have infoen (på shaft.dk?)

$xml = file_get_contents("http://dragoerkirkesungomskor.dk/query.php?password=xxxxxxxxxxx&query=select * from osv osv osv"):



F.eks. kan du også bare oprette forbindelse til den side du vil have informationerne fra og hent dem.



Hvis begge sider ligger på samme server, er det præcis samme connection string, bare andet brugernavn og kode, men hvis det er to seperate servere skal du have adressen eller ip'en til den anden under server ;)

og så skal der, som der blev sagt, være tilladelse til remote access ;)



Hvis MySQL er "localhost" i forhold til dragoerkirkesdsdsfdsfds.dk, må det betyde at MySQL ligger på samme IP som selve siden. Så fra shafh.dk ville du skulle connecte med dragoerkirkesfsfsf's IP-adresse. Ifølge en hutig ping hos mig er det 195.47.247.86 der er tale om som hostname.

Hvis det ikke virker er det sandsynligvis fordi MySQL ikke tillader remote access. Det kan du muligvis slå til, men hvis din webudbyder har spærret for det, er der ikke flere muligheder tilbage end at lave en webservice på dragoerkirksdsdsdfsd som shafh.dk kalder fra. Det kan også være en glimrende udfordring. Jeg vil dog anbefale dig at bruge JSON istedet for XML hvis du ikke har arbejdet med webservices før. Det er alt andet lige noget nemmere at sige

json_encode($output_array); på server-siden, og json_decode($input_array); på klientsiden

end at skulle parse noget XML med de 10000 forskellige XML-klasser og funktioner PHP har til rådighed. ;)



Ja det kan du sagtens. Bare du har adgang til brugernavn og kodeord :)





Mener dog at du skal tillade Remote Access på forsiden af kontrolpanelet i PhpMyAdmin ;)

Kan ikke lige huske andre måder at gøre det på (ja jeg elsker GUI's)



Hmm jeg har bare prøvet uden succes. Følgende kode har jeg for eksempel kørt på både shafh.dk og på dragoerkirkesungomskor.dk

Fold kodeboks ind/udKode 

Hvor databasen dragoerkirkesun er knyttet til dragoerkirkesungdomskor.dk



På dragoerkirkesungdomskor.dk ser siden således ud: http://www.dragoerkirkesungdomskor.dk/test.php
Ganske fint ikke sandt.

På shafh.dk ser siden således ud:
http://shafh.dk/test.php
Vi ser altså en masse fejl her.



Jeg tror altså jeg mangler noget for at få adgang til den fra shafh.dk



Hov. Der skal så vel stå noget andet end localhost i feltet for server. Men hvad skal jeg skrive? Har prøvet en masse, men er i tvivl.



Altså, skal du have data fra det ene domæne og så bruge det på det andet?



<< < 12 > >>
t