Einzelnen Beitrag anzeigen

Darkface

Registriert seit: 18. Apr 2008
89 Beiträge
 
Delphi XE Professional
 
#10

AW: Indy für Dummies

  Alt 13. Jun 2011, 23:25
Ich denke auch das man mit PHP eine "sichere" Lösung auf rellativ einfachem Wege erreichen kann. Dazu ist eigenlich nur ein PHP-fähiger Webserver auf Empfänger Seite erforderlich und ein Code nach etwa diesem Schema:

Delphi Client:
(Nutzung der Indy TIdHTTP-Komponente)
Delphi-Quellcode:
function SendeAnScript(ScriptAddr:string, Felddaten:string): string;
var Parameter: TStringList;
begin
  Parameter := TStringList.Create;
  Parameter.Add(Felddaten);
  try IdHTTP1.Post(ScriptAddr, Parameter);
  finally Parameter.Free;
  end;
end;
Aufruf:
Delphi-Quellcode:
var rck:string //falls das Script eine Rückgabe liefert, wie "Erfolgreich übermittelt" oder "Fehler Feld xyz fehlt..."
begin
rck:=SendeAnCript('http://server.adresse/script.php','daten=' +Memo1.Text); //Ich vermute mal die Daten stehen in einem Memo oder in ähnlichem...
//das "daten=" vor den eigentlichen Felddaten ist der Name des übergebenen Parameters wie er vom PHP Script später erwartet wird (sowie ein = dran :D)
Ein sehr einfaches PHP-Script könnte so aussehen (Optimierungen hinsichtlich Spam, Sicherheit ect. wären Beispielsweise noch angebracht)...:
Code:
<?php
  mysql_connect("localhost", "Nutzername","Passwort") or die ("Keine Verbindung moeglich");
  mysql_select_db("Datenbankname") or die ("Die Datenbank existiert nicht.");

  $daten= $_POST["daten"];
  mysql_real_escape_string($daten);

  //hier Möglicherweise noch eine Auswertung der Daten, prüfen auf fehlende Inhalte etc. wenn nicht schon in Delphi geschehen

  $eintrag = "INSERT INTO Tabellenname (DatenSpaltenname) VALUES ('$daten')";
  $eintragen = mysql_query($eintrag);

  echo 'Dies wird IMMER zurückgegeben';
?>
Ungetestet.
Der Webserver auf Empfänger Seite sollte natürlich sicher Konfiguriert sein.

MfG
Alexander
Ich halte Ordnung.
Zum Beispiel mein Schreibtisch: Hier ist alles zeitlich geordnet - was zuletzt kam, liegt oben. (Frank Erhoff)

Geändert von Darkface (13. Jun 2011 um 23:49 Uhr)
  Mit Zitat antworten Zitat