Einzelnen Beitrag anzeigen

fui-tak

Registriert seit: 24. Okt 2008
117 Beiträge
 
Turbo Delphi für Win32
 
#54

AW: Indy für Dummies

  Alt 17. Jun 2011, 13:06
Hi,
ich denke ein möglichst einfacher und sicherer Weg ist, wie schon diskutiert wurde, die Daten per IdHTTP an ein PHP Script zu schicken.
Um das PHP-Script einfach zu halten und da du (zunächst) mit einer manuellen Verarbeitung der Daten zufrieden bist, könnte man das PHP-Script eine E-Mail an dich versenden lassen. Dann könnte das Script so aussehen:
Code:
<?php
   if(isset($_POST['daten'])){ //wenn die Post Daten da sind...
      mail('meineAdresse@googlemail.com', 'Ein Betreff', $_POST['daten']); //... sende eine E-Mail an meineAdresse@googlemail.com mit dem Text $_POST['daten'] (das was zuvor im Delphi-Memo stand)  
   }else{
      echo "Fehler. Daten nicht angekommen.";
   }
?>

Und eine Delphifunktion zum Aufrufen des PHP Scriptes kann so aussehen (von hier: http://www.delphipraxis.net/post421959.html)
Delphi-Quellcode:
function sendeDatenAnServer(datenString: string):string;//Rückgabewert ist die Ausgabe des PHP-Scriptes
var
  Strings: TStringList; //Zusammengesetze Post-Daten
  Stream: TStringStream;//Ausgabe der Aufgerufenen Seite
begin
  Result := '';
  Stream := TStringStream.Create('');//Rückgabe-Stream erstellen
  Strings := TStringList.Create; //Post-Daten-StringList erstellen
  try
    Strings.Add('daten=' + datenString);//Memo1.Text (= datenString) soll im PHP-Script über $_POST['daten'] erreichbar sein

    try
      idHTTP.Post("http://www.meineseite.de/meinscript.php", Strings, Stream);//Datei abrufen
      Result := Stream.DataString; //dem Ausgabe-String die zurückgegebenen Daten zuweisen (alles was im PHP Script z.B. mit echo "..."; ausgegeben wurde)

    except //Fehlerbehandlung
     on E: Exception do
       ShowMessage('Error encountered during POST: ' + E.Message);
    end;
  finally
    Strings.Free;
    Stream.Free;
  end;
end;
Und der Aufruf:
sendeDatenAnServer(Memo1.Text);
Alles Ungetestet
  Mit Zitat antworten Zitat