![]() |
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 :) |
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 :) |
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?
|
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: ![]()
Delphi-Quellcode:
Und der Aufruf:
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;
Delphi-Quellcode:
sendeDatenAnServer(Memo1.Text);
Alles Ungetestet |
AW: Indy für Dummies
Aber der erwarted doch ,,Get´´
|
AW: Indy für Dummies
Wo ist das Problem ? Vielleicht solltest du dich etwas mehr einbringen, es geht hier nur um dein Problem :P
|
AW: Indy für Dummies
Zitat:
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. |
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 !!! |
AW: Indy für Dummies
Und wie sollen wir Dir da jetzt weiterhelfen?
|
AW: Indy für Dummies
Mein delphi kennt weder ,,Stream'' noch ,,ResponseMemo''
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:52 Uhr. |
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