Rheinwerk Computing < openbook > Rheinwerk Computing - Professionelle Bücher. Auch für Einsteiger.
Professionelle Bücher. Auch für Einsteiger.

Inhaltsverzeichnis
Vorwort
Vorwort des Gutachters
1 Einstieg in C
2 Das erste Programm
3 Grundlagen
4 Formatierte Ein-/Ausgabe mit »scanf()« und »printf()«
5 Basisdatentypen
6 Operatoren
7 Typumwandlung
8 Kontrollstrukturen
9 Funktionen
10 Präprozessor-Direktiven
11 Arrays
12 Zeiger (Pointer)
13 Kommandozeilenargumente
14 Dynamische Speicherverwaltung
15 Strukturen
16 Ein-/Ausgabe-Funktionen
17 Attribute von Dateien und das Arbeiten mit Verzeichnissen (nicht ANSI C)
18 Arbeiten mit variabel langen Argumentlisten – <stdarg.h>
19 Zeitroutinen
20 Weitere Headerdateien und ihre Funktionen (ANSI C)
21 Dynamische Datenstrukturen
22 Algorithmen
23 CGI mit C
24 MySQL und C
25 Netzwerkprogrammierung und Cross–Plattform-Entwicklung
26 Paralleles Rechnen
27 Sicheres Programmieren
28 Wie geht’s jetzt weiter?
A Operatoren
B Die C-Standard-Bibliothek
Stichwort

Buch bestellen
Ihre Meinung?

Spacer
<< zurück
C von A bis Z von Jürgen Wolf
Das umfassende Handbuch
Buch: C von A bis Z

C von A bis Z
3., aktualisierte und erweiterte Auflage, geb., mit CD und Referenzkarte
1.190 S., 39,90 Euro
Rheinwerk Computing
ISBN 978-3-8362-1411-7
Pfeil 23 CGI mit C
Pfeil 23.1 Was ist CGI?
Pfeil 23.2 Vorteile von CGIs in C
Pfeil 23.3 Andere Techniken der Webprogrammierung
Pfeil 23.4 Das dreistufige Webanwendungsdesign
Pfeil 23.4.1 Darstellungsschicht
Pfeil 23.4.2 Verarbeitungsschicht
Pfeil 23.4.3 Speicherschicht
Pfeil 23.5 Clientseitige Programmierung
Pfeil 23.5.1 JavaScript
Pfeil 23.5.2 Java-Applets
Pfeil 23.6 Serverseitige Programmierung
Pfeil 23.7 Der Webserver
Pfeil 23.7.1 Das Client/Server-Modell des Internets
Pfeil 23.7.2 Serverimplementierung
Pfeil 23.7.3 Hosting-Services
Pfeil 23.7.4 Schlüsselfertige Lösung
Pfeil 23.7.5 Weitere Möglichkeiten
Pfeil 23.7.6 Apache
Pfeil 23.8 Das HTTP-Protokoll
Pfeil 23.8.1 Web-Protokolle
Pfeil 23.8.2 Wozu dienen Protokolle?
Pfeil 23.8.3 Was ist ein Protokoll?
Pfeil 23.8.4 Normen für die Netzwerktechnik
Pfeil 23.8.5 Das OSI-Schichtenmodell
Pfeil 23.8.6 Die Elemente einer URL
Pfeil 23.8.7 Client-Anfrage – HTTP-Request (Browser-Request)
Pfeil 23.8.8 Serverantwort (Server-Response)
Pfeil 23.8.9 Zusammenfassung
Pfeil 23.9 Das Common Gateway Interface (CGI)
Pfeil 23.9.1 Filehandles
Pfeil 23.9.2 CGI-Umgebungsvariablen
Pfeil 23.9.3 CGI-Ausgabe
Pfeil 23.10 HTML-Formulare
Pfeil 23.10.1 Die Tags und ihre Bedeutung
Pfeil 23.11 CGI-Eingabe
Pfeil 23.11.1 Die Anfrage des Clients an den Server
Pfeil 23.11.2 Eingabe parsen
Pfeil 23.12 Ein Gästebuch
Pfeil 23.12.1 Das HTML-Formular (»guestbook.html«)
Pfeil 23.12.2 Das CGI-Programm (»auswert.cgi«)
Pfeil 23.12.3 Das HTML-Gästebuch (»gaeste.html«)
Pfeil 23.13 Ausblick


Rheinwerk Computing - Zum Seitenanfang

23.10 HTML-Formulare Zur nächsten ÜberschriftZur vorigen Überschrift

Mit den Umgebungsvariablen allein könnten Sie schon ein ganzes Arsenal von CGI-Anwendungen schreiben. Aber irgendwann werden Sie auch Daten eines HTML-Formulars auswerten wollen. Und darum geht es in diesem Abschnitt, nämlich um das Erstellen eines solchen Formulars. Natürlich handelt es sich dabei nur um einen groben Überblick.


Rheinwerk Computing - Zum Seitenanfang

23.10.1 Die Tags und ihre Bedeutung topZur vorigen Überschrift

Jetzt lernen Sie einige HTML-Tags kennen, mit denen Sie sogenannte Webformulare erstellen können.


Hinweis

Der Inhalt von HTML-Dateien ist in sogenannten Tags eingeschlossen. Ein Tag besteht zum einen aus dem HTML-Befehl selbst und zum anderen aus einer Kennzeichnung, die besagt, ob es sich dabei um einen einführenden oder einen abschließenden HTML-Befehl handelt.

Der Bereich zwischen dem einführenden und dem abschließenden Tag wird als Gültigskeitsbereich bezeichnet. Als Beispiel sehen Sie hier die Tags, die Ihren Webbrowser anweisen, das angeforderte Dokument als HTML-Seite zu interpretieren und darzustellen:

<html> Das sehen Sie im Browser </html>


<form>-Tag

Dieses Tag werden Sie bei jedem Formular verwenden. Alle anderen Formular-Tags stehen zwischen den Tags <form> und </form>:

<form>
...
Formularinhalt
...
</form>

Folgende zwei Attribute des <form>-Tags sind von besonderem Interesse:

  • method – Wie der Name schon sagt, legen Sie damit fest, mit welcher Request-Methode Sie die CGI-Anwendung aufrufen. Meistens dürften dies die Methoden GET oder POST sein. Wird keine Methode angegeben, wird die GET-Methode verwendet.
  • action – Damit geben Sie die URL der CGI-Anwendung an, mit der Sie beabsichtigen, die Formulareingaben zu bearbeiten.

Somit könnte das <form>-Tag folgendermaßen aussehen:

<form action="./cgi-bin/auswert.cgi" method="POST">
...
Formularinhalt
...
</form>

<input>-Tag

Mit dem <input>-Tag können Sie eine Menge Formularobjekte erzeugen. Unterschieden werden diese durch das type-Attribut. Besonders wichtig für CGI-Anwendungen ist außerdem das Attribut name. Damit können Sie beim Auswerten eines Formulars auf den übergebenen Wert zugreifen.

Wir betrachten im Folgenden die einzelnen Typen des <input>-Tags.

<input type="text">

So sieht es aus:

Abbildung 23.12 Einzeiliges Eingabefeld

So wird es gemacht:

<input type=text name="name" size=32
       maxlength=32 value="dein name">

Tabelle 23.10 Das <input>-Tag (Text)

Bedeutung der Attribute
size

Gibt die Breite des Textfeldes an.

maxlength

die Anzahl der Zeichen, die eingegeben werden können

value

Der Wert, der standardmäßig im Text erscheint. Wird dieses Attribut nicht verwendet, bleibt das Textfeld leer.


<input type="password">

So sieht es aus:

Abbildung 23.13 Einzeiliges Passwortfeld

So wird es gemacht:

<input type=password value="abcdefg" size=16, maxlength=16>


Tabelle 23.11 Das <input>-Tag (Passwort)

Bedeutung der Attribute

Als Attribute werden dabei dieselben wie schon beim Textfeld (type=text) verwendet. Dieses Eingabefeld dient allerdings nur als Bildschirmschutz, denn bei der GET-Methode wird das Passwort unverschlüsselt im Query-String angezeigt.


<input type="radio">

So sieht es aus:

Abbildung 23.14 Radiobuttons

So wird es gemacht:

<input type="radio" name="essen" value="Pizza" checked> Pizza<br>
<input type="radio" name="essen" value="Pommes"> Pommes<br>
<input type="radio" name="essen" value="Salat"> Salat<br>

Tabelle 23.12 Das <input>-Tag (Radiobuttons)

Bedeutung der Attribute
value

Dieser Wert wird, falls aktiviert, beim Request an die CGI-Anwendung mitgeschickt.

checked

Dieses Attribut können Sie nur an einen Radiobutton in der Gruppe übergeben. In diesem Beispiel ist das die Gruppe essen.


<input type="checkbox">

So sieht es aus:

Abbildung 23.15 Checkboxen

So wird es gemacht:

<input type="checkbox" name="zusatz" value="10000">
Nachnahme (+6 Euro)<br>
<input type="checkbox" name="zusatz" value="20000">
Express &nbsp;&nbsp;(+2 Euro)<br>
<input type="checkbox" name="zusatz" value="30000">
Versichert(+2 Euro)<br>

Tabelle 23.13 Das <input>-Tag (Checkboxen)

Bedeutung der Attribute

Die Checkboxen können ebenso verwendet werden wie schon die Radiobuttons, allerdings mit dem Unterschied, dass mit Checkboxen eine Mehrfachauswahl möglich ist. Natürlich kann man hier das Attribut checked ebenfalls mehrmals verwenden.


<input type="submit"> und <input type="reset">

So sieht es aus:

Abbildung 23.16 Schaltflächen (Buttons)

So wird es gemacht:

<input type="Submit" name="sub" value="Abschicken">
<input value="Zurücksetzen" type="reset">

Tabelle 23.14 Das <input>-Tag (Schaltflächen)

Bedeutung der Attribute

Mit dem Button vom Typ Submit wird das Formular abgeschickt. Es wird also eine Anfrage an die URL gerichtet, die Sie im <form>-Tag beim action-Attribut angegeben haben. Das Attribut name macht beim Submit-Button eigentlich nur dann Sinn, wenn Sie mehrere Submit-Buttons für ein Formular verwenden. Mit dem Button vom Typ reset werden alle bisher veränderten Werte im Formular wieder auf ihren Ursprungszustand gesetzt. Die Beschriftung der beiden Buttons legen Sie mit dem Attribut value fest.


<texarea>-Tag

So sieht es aus:

Abbildung 23.17 Mehrzeiliges Textfeld

So wird es gemacht:

<textarea name="textform" cols="32" rows="6">Textinhalt
</textarea>

Tabelle 23.15 Das <textarea>-Tag

Bedeutung der Attribute

Damit haben Sie einen Textbereich mit einer Breite von 32 Zeichen und sechs Spalten erstellt. Den Text, den Sie zwischen den Tags <textarea>text</textarea> schreiben, finden Sie in dem Textbereich wieder. Außer den für sich selbst sprechenden Attributen cols und rows können Sie noch das Attribut wrap verwenden. Damit können Sie angeben, ob und wie der Text am Zeilenende umbrochen werden soll. Als Parameter können Sie dazu verwenden: virtual, physical und none.


<select>-Tag

Mit dem <select>-Tag können zwei unterschiedliche Arten von Listen erzeugt werden – welche Art, das bestimmen Sie mit dem Attribut size. Geben Sie für dieses Attribut den Wert 1 an, erstellen Sie ein Aufklappmenü. Geben Sie diesem Attribut beispielsweise den Wert 5, so haben Sie eine Scrollliste mit fünf sichtbaren Elementen. Als Beispiel:

size=1

So sieht es aus:

Abbildung 23.18 Listen (Aufklappmenü)

So wird es gemacht:

Seite bewerten:
<select name="Bewertung" size="1">
<option>Note 1</option>
<option>Note 2</option>
<option>Note 3</option>
<option>Note 4</option>
<option>Note 5</option>
<option>Note 6</option>
</select>

Tabelle 23.16 Das <select>-Tag

Bedeutung der Attribute

Mithilfe des <option>-Tags können Sie die möglichen Werte im Klartext schreiben, da das Tag <select> kein value-Attribut besitzt. Setzen Sie beim <option>-Tag zusätzlich noch das Attribut selected, können Sie dieses Element in der Liste als ausgewählt anzeigen lassen.


Die zweite Möglichkeit:

size= (>1)

So sieht es aus:

Abbildung 23.19 Listen (Scrollbox)

So wird es gemacht:

Seite bewerten:
<select name="Bewertung" size="4">
<option>Note 1</option>
<option>Note 2</option>
<option>Note 3</option>
<option selected>Note 4</option>
<option>Note 5</option>
<option>Note 6</option>
</select>

Tabelle 23.17 Das <select>-Tag

Bedeutung der Attribute

Zusätzlich können Sie mit dem Attribut multiple beim <select>-Tag dafür sorgen, dass mehrere Optionen ausgewählt werden können. Dies funktioniert natürlich nur mit Scrolllisten. Außerdem müssen Sie im Falle einer Mehrfachauswahl die (Strg)-Taste gedrückt halten.


Zu diesen Tags gibt es natürlich noch eine Menge weiterer Attribute und Optionen.



Ihr Kommentar

Wie hat Ihnen das <openbook> gefallen? Wir freuen uns immer über Ihre freundlichen und kritischen Rückmeldungen. >> Zum Feedback-Formular
<< zurück
  
  Zum Katalog
Zum Katalog: C von A bis Z

 C von A bis Z
Jetzt bestellen


 Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen?
Ihre Meinung

 Buchtipps
Zum Katalog: C/C++






 C/C++


Zum Katalog: Einstieg in C






 Einstieg in C


Zum Katalog: Schrödinger programmiert C++






 Schrödinger
 programmiert C++


Zum Katalog: C++ Handbuch






 C++ Handbuch


Zum Katalog: IT-Handbuch für Fachinformatiker






 IT-Handbuch für
 Fachinformatiker


 Shopping
Versandkostenfrei bestellen in Deutschland und Österreich
InfoInfo




Copyright © Rheinwerk Verlag GmbH 2009
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


[Rheinwerk Computing]

Rheinwerk Verlag GmbH, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, service@rheinwerk-verlag.de