Hallo,
ich hatte das Problem zwar neulich schonmal mit Borlander besprochen, bin aber zu keiner Lösung gekommen.
Folgendes, grundsätzliches Problem möchte ich lösen.
Daten werden auf Server A in Datenbank A per Formular eingetragen. Soweit so gut. Aus speziellen Gründen müssen diese Daten auch in Datenbank B auf Server B. Also soll mit einer Formulareingabe gleich zweimal eine Eintragung stattfnden, jedoch in 2 verschiedene DBs, die auf verschiedenen Servern liegen.
Bis jetzt habe ich das nicht hinbekommen, mit dem Script auf DB B zuzugreifen, da das Script auf Server A liegt. Wahrscheinlich Sicherheitsprobleme. Wer kann mir helfen?
Meine Idee war dann, die Formulareingabe erstmal in einer Textdatei zwischenzuspeichern und von dort aus dann in DB B zu senden - jedoch äusserst komliziert und vielleicht unnötig, wenn jemand von euch eine Idee hat. Vielleicht gibt es eine einfache Lösung auf die ich momentan nicht komme
Homepage selbermachen 7.851 Themen, 35.616 Beiträge
Hmm...es gibt mehrere Möglichkeiten, wie Du das machen kannst. Die einfachste ist das Script auf ServerB direkt aus dem Script auf ServerA mit den entsprechenden Parametern aufzurufen.
Hier ein kleines Beispiel:
Du willst z.B. in die Datenbank folgendes Eintragen:
name='Heinz'
nachname='Malcher'
jetzt arbeitest Du auf Server A ganz normal dein Script zum Eintragen ab, ans Ende baust Du folgendes:
include('http://die-adresse-deines-servers?name=Heinz&nachname=Malcher');
Das Script auf ServerB sieht dann ungefähr so aus:
$name=isset($HTTP_GET_VARS['name'])? $HTTP_GET_VARS['name'] : false;
$nachname=isset($HTTP_GET_VARS['nachname'])? $HTTP_GET_VARS['nachnamename'] : false;
if($name&&$nachname)
{
$sql="INSERT INTO db SET name='$name',nachname='$nachname'";
mysql_query($sql);
}
Das Script is natürlich nicht vollständig und Du solltest auch eine Überprüfung für den referer einbauen, damit niemand die DB vollspammt, aber grundsätzlich sollte es so gehen.
Man kann es aber auch noch komplizierter bauen mit Sockets und POST-Variablen.