Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi CGI mit Formulareingaben (https://www.delphipraxis.net/146752-cgi-mit-formulareingaben.html)

NickelM 26. Jan 2010 16:20


CGI mit Formulareingaben
 
Tach zusammen,

Nach langen hab ich mal wieder ne Frage :mrgreen:

Geht um folgendes...
Ich bin auf die sogenannten CGI-Webserveranwendung gestoßen. Hörte sich interesannt an und hab mal eine Erklärung was des so macht und wie.
Nur so ganz verstanden hab ich des anscheinend noch net.
Ich wollte folgendes versuchen :
1. Datei aufrufen...Seite mit 2 Formularfeldern und Abschicken Button erscheind
2. Felder füllen auf Button klicken
3. Jetzt kommt des was ich net hinbekomme : Ich will nun die Daten auf den Feldern darstellen als Text

Das ist der HTML Code mit Formular:
XML-Code:
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body bgcolor="#FFFFFF" text="#000000">
<form name="form1" action="" method="post">
 

 
    <input type="text" name="textfield">
  </p>
 

 
    <input type="text" name="textfield2">
  </p>
  <input type="submit" value="Login">
</form>
</body>
</html>
Den Code hab ich mit Hilfe eines HTML Editors von Macromedia gemacht. Ich hab auch schon method get gemacht auch kein Underschied.
Wenn ich Get mache und Post bei der Action im Delphi lasse bleiben die Felder und nur die Addresse oben ändert sich.
Wenn ich in der Action auch Get mache zeigt er auch gleich die andere Seite an.
Ich hab diesen Text in nene PageProducer eingefügt und mit dem Action verbunden das auf Default gesetzt ist.
Diese zeigt er an.

wenn ich nun mein 2. Action auf MethodType Post stelle zeigt er mir die Seite an,wo die rückgabe Werte drinstehen.
Nur an der Stelle mit den Werten steht nichts..es ist leer.
Folgenden Code benutze ich für die Post Action:
Delphi-Quellcode:
procedure TWebModule2.WebModule2WebActionItem1Action(Sender: TObject;
  Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);
var S : String;
begin
S := Request.Content;
Response.Content :=
'<html>' + #13#10 +
'<head>' + #13#10 +
'<title>Untitled Document</title>' + #13#10 +
'<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">' + #13#10 +
'Name : '+ S + #13#10 +
'</body>' + #13#10 +
'</html>';
end;

end.
Als Test hab ich schon von Request die URL,Content und PathInfo versucht. Auch über die Fields Dinger..Ich bekomme immer nene leeren String.

Zum Testen des Progs verwende ich Apache.
Was mach ich falsch? Hab ich irgendwas falsch verstanden? HTML code nicht richtig?
Ich hab keine Ahnung mehr woran des liegen kann.

Astat 26. Jan 2010 19:44

Re: CGI mit Formulareingaben
 
Zitat:

Zitat von NickelM
Was mach ich falsch?

Hallo versuchs mal mit

Delphi-Quellcode:
Handled := True;
lg. Astat

NickelM 7. Feb 2010 03:35

Re: CGI mit Formulareingaben
 
So sorry wegen dem Warten auf die Antwort von mir.
Es lag net daran ich hab es mal mit GET versucht und irgendwie hat es damit geklappt.
Es geht irgendwie net mit POST bei dem FORM-Method. Dies kann aber am HTTP-SERVER leigen (Apache der lokal bei mir läuft)
Von daher geht des auch so.

Danke dir trotzdem


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:46 Uhr.

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