real_benedikt
Mitglied
Hallo,
ich habe mal eine Frage.
Dieses "Script" habe ich auf einer Seite gefunden:
Und dazu dieses PHP Script:
Nun angenommen das PHP Script soll aus einer MySQL Datenbank mehrere Daten holen, und ausgeben.
Wie kann ich, wenn zum Beispiel der Wert Telefonnummer ausgegeben wird, die Antwort in eine leere Variable im Delphi Script speichern.
(Es kommt aber nicht nur zum Beispiel Telefonnummer sondern noch viel mehr auf einmal raus...)

ich habe mal eine Frage.
Dieses "Script" habe ich auf einer Seite gefunden:
Code:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient,
IdHTTP;
type
TForm1 = class(TForm)
Button1: TButton;
IdHTTP1: TIdHTTP;
EMailEdit: TEdit;
TextMemo: TMemo;
ResponseMemo: TMemo;
Label1: TLabel;
procedure Button1Click(Sender: TObject);
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
PostStrings: TStringList; //Zusammengesetze Post-Daten
ResponseStream:TStringStream;//Ausgabe der Aufgerufenen Seite
ausgabe:String; //Ausgabe der aufgerufenen Seite als String
zeile:String; //Zum zeilenweisen Ausgeben der Rückgabe der Aufgerufenen Seite benutzte Zwischenvariable
i:Integer; //Zähler für die For-Schleife
begin
ResponseStream:=TStringStream.Create('');//Rückgabe-Stream erstellen
PostStrings := TStringList.Create; //Post-Daten-StringList erstellen
try
PostStrings.Add('name='+EMailEdit.Text); //Post-Daten in die StringList eintragen
PostStrings.Add('password='+TextMemo.Lines.Text);
try
idHTTP1.Post('http://www.domain.de/get/', PostStrings,Responsestream);//Datei abrufen
ausgabe:=ResponseStream.DataString; //Ausbage-Sring die zurückgegebenen Daten zuweisen
zeile:=''; //Zwischenvariable leeren
for i:=1 to Length(ausgabe) do begin //For-Schleife zum formatieren der Ausgabe (Zeilenumbrüche korrekt darstellen)
if (ausgabe[i]=#13) and (ausgabe[i+1]=#10) then begin //Bei Zeilenumbruch
ResponseMemo.Lines.Add(zeile);
zeile:='';
end else if ausgabe[i]<>#10 Then zeile:=zeile+ausgabe[i];
end;
ResponseMemo.Lines.Add(zeile);
except //Fehlerbehandlung
on E: Exception do
showmessage('Error encountered during POST: ' + E.Message);
end;
finally
PostStrings.Free;
ResponseStream.Free;
end;
end;
end.
Und dazu dieses PHP Script:
Code:
<?php
echo 'Name: '.$_POST["name"]; //Ausgeben der E-Mail-Adresse
echo Chr(13).Chr(10); //Zeilenumbruch
echo 'Passwort: '.$_POST["password"];
?>
Nun angenommen das PHP Script soll aus einer MySQL Datenbank mehrere Daten holen, und ausgeben.
Wie kann ich, wenn zum Beispiel der Wert Telefonnummer ausgegeben wird, die Antwort in eine leere Variable im Delphi Script speichern.
(Es kommt aber nicht nur zum Beispiel Telefonnummer sondern noch viel mehr auf einmal raus...)

