Einzelnen Beitrag anzeigen

Rolf Frei

Registriert seit: 19. Jun 2006
647 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Formular mit HTTPRequest ausfüllen

  Alt 16. Jul 2020, 13:10
Warum so kompliziert mit Indy, wenn es mit den Delphi Webbroker und IIS viel einfacher ist und genau dazu da ist Webanfragen zu behandeln? Mach eine WebBroker Anwendung (ISAPI, CGI oder Standalone) und handle das da per Web-Action. Der ganze Kram mit der Komunikation, etc. muss dich da nicht kümmern. Das macht das Webbroker Framework alles für dich.

Im Action deines Webbrokermoduls kannst du dann die übergebenen Daten des Webformulars ganz einfach verarbeiten und auswerten. Dazu ist der Parameter Request zuständig, der dann die ganzen Formulardaten enthält.

Im Formular machst du eine Form, die die Daten per POST überträgt auf die URL deiner Webbroker Anwendung: http://meinwebserver.de/myloginapp.exe/login (In diesem Fall eine CGI-Exe)

Die Namen Der Formularelemente müssen dann logischerweise mit denen im folgenden Login Action Event übereinstimmen.

Delphi-Quellcode:
procedure TMyWebModule.waLoginAction(Sender: TObject;
  Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);
var
  aPassword, aLogin: String;
begin
  { Daten die per POST übertragen werden befinden sich im ContentFields.
    Daten die per GET übertragen werden befinden sich im QueryFields. }

  aLogin := Request.ContentFields.Values['login']; // Daten des Eingabefeldes "login" im Webformular
  aPassword:= Request.ContentFields.Values['password']; // Daten des Eingabefeldes "password" im Webformular
  // ... Hier kann nun das Login überprüft werden.
end;

Geändert von Rolf Frei (16. Jul 2020 um 15:26 Uhr)
  Mit Zitat antworten Zitat