Thread Hilfe bei Website mit Perl/CGI/XML benötigt! (57 answers)
Opened by wusel81 at 2005-12-20 19:44

wusel81
 2006-01-24 18:07
#6394 #6394
User since
2005-12-20
27 Artikel
BenutzerIn
[default_avatar]
Hallo nochmal,

also ich habs supr am Laufen aufm xammp, aber aufm webserver (mein eigener und der von der fachhochschule) will es nicht!
Module sind installiert.

meine cgi datei liegt im cg-bin verzeichnis, der rest ein verzeichnis dadrüber.

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
#!/usr/bin/perl
use strict;
use warnings;
use HTML::Template;
use CGI::Carp qw(fatalsToBrowser);# Zeigt die Fehler an
$SIG{} = sub {die 'WARN: '.shift}; # Sorgt dafür, daß Warnungen auch als Fehler im Browser angezeigt werden.

print "Content-type: text/html\n\n";

# Hier wird das Template geoeffnet
my $template = HTML::Template->new(filename => '../irland.tmpl');

# Die id wird aus der URL gelesen
my $id = $ENV{'QUERY_STRING'};
chomp ($id);

# Die Textdatei wird geoeffnet und an die Variable $text bzw. danach an TEXT uebergeben
open(TEXTDATEI, "../$id.txt") or die "Can't open $id.txt: $!";
my $text = join '', <TEXTDATEI>; # Der join Befehl liest alle Zeilen der Datei ein
close(TEXTDATEI);
$template->param(TEXT => $text); # evtl. use Encode::Entities; und encode_entities $text, denn $text kann HTML enthalten.

# Die Flash Datei wird nur auf der Menschen Seite geladen
my $flash = "";
if ($id eq "menschen")
{
$flash = "flash";
open(FLASHCODE, "../$flash.txt") or die "Can't open $flash.txt: $!";
my $flash = join '', <FLASHCODE>;
close(FLASHCODE);
$template->param(FLASH => $flash);
}

# Die Map fuer die Landkarte wird nur auf der Land Seite geladen
$template->param(USEMAP => ' usemap="mapkarte" ');

# Gleichbleibender Bildpfad fuer die Navigation
my $navi = '/images/navi.gif';
$template->param(NAVI => $navi);

# Wechselnder Bildpfad fuer den Header
my $zufallszahl = int(rand(4) + 1); # +1 damit ganze Zahlen ermittelt werden
my $header = '/images/header' . $zufallszahl . '.jpg';
$template->param(HEADER => $header);

# Variable Bildpfade Titel und Bilder
my $bild = '/images/'.$id.'.gif';
my $titel = '/images/titel_'.$id.'.gif';
$template->param(BILD => $bild);
$template->param(TITEL => $titel);

# Variable ALT Texte fuer die Bilder
my $alt = '../'.$id.'_alt.txt';
open(ALTTEXT, '../'.$id.'_alt.txt') or die "Can't open $id.'_alt.txt': $!";
my $alt = join '', <ALTTEXT>;
close(ALTTEXT);
$template->param(ALT => $alt);

# Gleichbleibende Linkpfade
my $link1 = '/irland.cgi?home';
my $link2 = '/irland.cgi?land';
my $link3 = '/irland.cgi?geschichte';
my $link4 = '/irland.cgi?menschen';
my $link5 = '/irland.cgi?politik';
$template->param(LINK1 => $link1);
$template->param(LINK2 => $link2);
$template->param(LINK3 => $link3);
$template->param(LINK4 => $link4);
$template->param(LINK5 => $link5);

print $template->output();


Ich hab wirklich schon alle probiert und gesucht aber es will einfach nicht klappen!

Woran kanns leigen ?
Bekomme immer den Fehler "Premature end of script headers: irland.cgi"

View full thread Hilfe bei Website mit Perl/CGI/XML benötigt!