Delphi-PRAXiS
Seite 6 von 7   « Erste     456 7      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Indy für Dummies (https://www.delphipraxis.net/161037-indy-fuer-dummies.html)

Phoenix 17. Jun 2011 10:53

AW: Indy für Dummies
 
Das Spam-Flag war der schnellste Weg seine Beiträge loszuwerden.
Daniel wird sich bei Gelegenheit im den selbsternannten 'Profi' :roll: kümmern.

Nun bitte back to topic und sich nicht über solche Kleingeister aufregen :)

-187- 17. Jun 2011 10:56

AW: Indy für Dummies
 
Bring mal einen Ansatz, ich habe keine Lust dir das Teil von Scratch an zu schreiben und jemand anders wird es auch nicht tun -> u.a weils dir nichts bringt...

Welches Sicherheitsrisiko meinst du? Wenn man PHP nicht richtig einsetzt ist das auch ein rießen Sicherheitsriskio.

Alternativ könnte man die Datei auch per Mail versenden aber dann hat man ja wieder dieses Sicherheitsrisiko :)

DeddyH 17. Jun 2011 10:58

AW: Indy für Dummies
 
Und ob das Erstellen einer Textdatei und deren anschließender Upload einen echten Mehrwert gegenüber einem Script-Aufruf mit POST-Daten hat?

fui-tak 17. Jun 2011 12:06

AW: Indy für Dummies
 
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:
Delphi-Quellcode:
sendeDatenAnServer(Memo1.Text);

Alles Ungetestet

Exterminans 19. Jun 2011 00:11

AW: Indy für Dummies
 
Aber der erwarted doch ,,Get´´

-187- 19. Jun 2011 13:59

AW: Indy für Dummies
 
Wo ist das Problem ? Vielleicht solltest du dich etwas mehr einbringen, es geht hier nur um dein Problem :P

fui-tak 20. Jun 2011 14:49

AW: Indy für Dummies
 
Zitat:

Zitat von Exterminans (Beitrag 1107254)
Aber der erwarted doch ,,Get´´

Wer ist denn er?


Naja, vielleicht zur Erklärung. Ein "GET-Parameter" ist das, was in der URL steht. Z.B. bei "www.abc.de/abc.php?xyz=37" ist "xyz" der Parameter und der Wert ist 37. In PHP bekommst du diesen Wert dann mit $_GET['xyz'].

POST-Daten werden "mit gesendet" und nicht in die Adresse geschrieben. Den Inhalt eines Memo mit all den Leerzeichen und so würde ich lieber als POST-Daten senden.

Auf was du noch achten solltest, vor dem Verschicken des Memo-Textes, ist alle Fragezeichen heraus zu nehmen, bzw. durch irgendein Schlüsselwort zu ersetzen, sonst wird das später als mehrere POST-Parameter erkannt.

Exterminans 21. Jun 2011 08:38

AW: Indy für Dummies
 
@ Aphton ich hab das nicht geschrieben :?
würdest du mich kennen wüsstest du das ich da nicht war :)

@AlleAnderen+Aphton
das bringt so nix ich kann mir die Beträge durchlesen und weiß am ende genauso viel wie vorher.
Und ich hab wie gesagt keine Ahnung.

Ich verstehe fremde Programmtexte nicht, sry !!!

DeddyH 21. Jun 2011 08:54

AW: Indy für Dummies
 
Und wie sollen wir Dir da jetzt weiterhelfen?

Exterminans 21. Jun 2011 09:05

AW: Indy für Dummies
 
Mein delphi kennt weder ,,Stream'' noch ,,ResponseMemo''


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:52 Uhr.
Seite 6 von 7   « Erste     456 7      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz