Thread Anfänger: Öffnen einer Txt im neuen Fenster (10 answers)
Opened by dragon at 2006-01-16 19:03

Strat
 2006-01-16 20:20
#61949 #61949
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
urspruenglich lieferte ein webserver statische dateien aus, z.B. html-seiten oder bilder. das reichte irgendwann nicht mehr, und CGI wurde erfunden. da wird dann nicht die html-seite zurueckgegeben, sondern stattdessen ein programm gestartet (haeufig in Perl), das irgendwelchen output zurueckgibt, der meist HTML ist, aber auch Bilddaten oder sonst was sein kann. Damit der Webserver mitbekommt, was er da an output erwarten kann, muss man als erste ausgabe (genauer gesagt, als teil des http-headers) einen content-type ausgeben und danach (genauer gesagt: nach dem header) eine leerzeile, bevor der inhalt kommt z.B.
Code: (dl )
1
2
3
4
5
6
#! /usr/bin/perl
use warnings;
use strict;

print "Content-type: text/html\n\n"; # header und leerzeile
print "<html><body><p>Hallo</p></body></html>\n";


um daten aus einem HTML-Formular auswerten zu koennen, kann man entweder (meist fehlerhafte) handgeschriebene parameterscanner verwenden, oder sich vom Modul CGI helfen lassen, z.B.
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#! /usr/bin/perl
use warnings;
use strict;
use CGI; # das modul CGI laden

# fehler/warnungen im browser ausgeben
use CGI::Carp qw(fatalsToBrowser warningsToBrowser);

my $cgi = CGI->new(); # neues CGI-Objekt erzeugen
my %params = $cgi->Vars(); # CGI-Parameter in einen Hash einlesen

print $cgi->header(); # standardmaesig: text/html
print $cgi->start_html(-title => 'testseite'); # <html><head><title>...</title><body>

# aber auch html kann direkt ausgegeben werden, z.B.
foreach my $param (keys %params) {
print "$param => $params{$param}<br />\n";
} # foreach

print $cgi->end_html();


gib mal in die shell ein CGI
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/

View full thread Anfänger: Öffnen einer Txt im neuen Fenster