AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Wie übergebe ich Daten von einer Webseite zum Webserver?
Thema durchsuchen
Ansicht
Themen-Optionen

Wie übergebe ich Daten von einer Webseite zum Webserver?

Ein Thema von moelski · begonnen am 23. Sep 2009 · letzter Beitrag vom 24. Sep 2009
Antwort Antwort
moelski

Registriert seit: 31. Jul 2004
1.110 Beiträge
 
Delphi 2010 Professional
 
#1

Wie übergebe ich Daten von einer Webseite zum Webserver?

  Alt 23. Sep 2009, 13:38
Moin !

Ich habe einen TIdHTTPServer am laufen der eine kleine Webseite bereit stellt.
Die Webseite sieht derzeit so aus:
Code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head><title>Webserver</title>                                  
<meta http-equiv="refresh" content="15">    
</head>                                                                      
<body>                                                                        
<table border=0 cellSpacing=2 summary=Header cellPadding=0 width="100%" bgColor=#aaaaff>
  <tr>                                                                        
     <td vAlign=top align=left>[b]<font size=+2 face=VERDANA,ARIAL,HELVETICA>Webserver</font>[/b]</td>
     <td align=right></td>                                                    
   </tr>                                                                      
   <tr>                                                                      
     <td>Device
xxx</td>                                                  
     <td align=right>Site generated : 06:40:44
Auto Refresh Cycle : 15 </td>
   </tr>                                                                      
</table>                                                                      
<form>                                                                      
  <input value=START type=submit name=START_RECORDING>                      
  <input value=STOP type=submit name=STOP_RECORDING>            
  Channel :                                                                
  <select size=1 name=Channel>                                              
    <option selected value=1>1</option>
    <option value=2>2</option>
    <option value=3>3</option>
  </select>                                            
  Dataset :                                                  
  <input value=Submit type=submit name=Submit>    
  <INPUT TYPE="button" onClick="history.go(0)" VALUE="Refresh">
</form>                                                      
[img]mychart.jpg[/img]            
</body></html>
Ziel soll es sein das der User auf der Webpage z.B. einen Button anklickt (oder was aus einer ComboBox selektiert) und das wiederum eine Aktion in der Anwendung (die den Server bereitstellt) auslöst.

Im Prinzip funktioniert das ja auch so wie ich es jetzt gelöst habe. Ich werte das RawHTTPCommand aus und starte danach aktionen. Nun hat das ganze aber ganz entscheidende Nachteile. Wenn ich z.B. den Button Submit anklicke, dann steht im Browser:
In der Anwendung kann ich das auch auswerten mittels RawHTTPCommand. Nur die Adresszeile im Browser wird nicht wieder zurück gesetzt. Und da die Seite einen Autorefresh macht hat man beim nächsten Refresh ein Problem weil das Kommando nochmal gestartet würde.
Ich habe das zwar ausmerzen können, aber in Summe muss ich sagen scheint mir meine Lösung wenig sinnvoll und auf dauer nicht wartbar.

Könnte mir mal jemand beschreiben wie ihr Useraktionen von der Webseite (also Buttonclicks, Listenauswahl, Textfeld, ...) in eurem Webserver auswertet?
Ich hatte ja gehofft das mit reinen HTML Mitteln lösen zu können, aber entweder mache ich da noch grundlegend was falsch, oder es gibt da eine gänzlich andere Lösung.
Dominik Schmidt
Greetz Dominik

I love Delphi 2007/2010
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#2

Re: Wie übergebe ich Daten von einer Webseite zum Webserver?

  Alt 23. Sep 2009, 13:43
Mal davon abgesehen, dass auf eine Seite mit Formularfeld kein Auto-Refresh gehört (Formular würde zurückgesetzt, wenn ich mich nicht irre - AJAX wäre aufwändiger aber angebrachter):

Du kannst so ne art Action-Seite machen: Die Formulare werden alle an diese gepostet, und die Action-Seite tut die Arbeit und leitet mit einem 302 Header wieder zurück
  Mit Zitat antworten Zitat
moelski

Registriert seit: 31. Jul 2004
1.110 Beiträge
 
Delphi 2010 Professional
 
#3

Re: Wie übergebe ich Daten von einer Webseite zum Webserver?

  Alt 23. Sep 2009, 13:49
Moin !

Ich sollte dazu noch sagen das die Webseite mal ganz einfach entstanden ist.
Das war nur etwas HTML mit einem Bild dazu.

Und dort hat dann eben das mit dem Autorefresh ganz gut hingehauen.

Ich würde auch gerne eine automatische Seiten aktualisierung drin haben, denn sonst wäre das in unserem Fall irgendwie witzlos. Weil unsere Software erzeugt Kurven und die werden alle paar Sekunden neu generiert. Wenn der User dann immer manuell Refresh anklicken müsste, dann wäre das etwas hinderlich ...
Dominik Schmidt
Greetz Dominik

I love Delphi 2007/2010
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#4

Re: Wie übergebe ich Daten von einer Webseite zum Webserver?

  Alt 23. Sep 2009, 15:00
Dann machs doch so:

Die hast eine Seite, an der ruhig mit ?XYZ Parameter dranhängen können. Man kann auf der Seite direkt mit einem Formular "sich selbst" aufrufen, um die Parameter zu ändern.

Auf der Seite ist ein kleines Javascript, was immer alle 5 Sekunden (nur) das Bild neu lädt (und meinetwegen auch die Uhrzeit daneben schreibt)
  Mit Zitat antworten Zitat
moelski

Registriert seit: 31. Jul 2004
1.110 Beiträge
 
Delphi 2010 Professional
 
#5

Re: Wie übergebe ich Daten von einer Webseite zum Webserver?

  Alt 23. Sep 2009, 16:10
Moin !

Zitat:
Auf der Seite ist ein kleines Javascript, was immer alle 5 Sekunden (nur) das Bild neu lädt
Funktioniert das denn mit IdHTTPServer?
Also kann ich da JavaScript hinterlegen !?
Dazu konnte ich noch keine brauchbaren Infos finden.
Dominik Schmidt
Greetz Dominik

I love Delphi 2007/2010
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#6

Re: Wie übergebe ich Daten von einer Webseite zum Webserver?

  Alt 23. Sep 2009, 17:40
JacaScript ist clientseitig!

D.h.: Es wird vom Browser ausgeführt - idHTPPServer interessiert sich gar nicht dafür.
  Mit Zitat antworten Zitat
moelski

Registriert seit: 31. Jul 2004
1.110 Beiträge
 
Delphi 2010 Professional
 
#7

Re: Wie übergebe ich Daten von einer Webseite zum Webserver?

  Alt 24. Sep 2009, 07:26
Moin !

Zitat:
JacaScript ist clientseitig!
Jup. Schande auf mein Haupt.

Ich habe jetzt eine einfache Lösung gefunden die mit HTTP POST auskommt.
Aber die Java Script Variante werde ich auch mal antesten.
Dominik Schmidt
Greetz Dominik

I love Delphi 2007/2010
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:32 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