Thread Anzeige einer require() Datei nur einmal (6 answers)
Opened by mkessler at 2007-11-14 17:51

mkessler
 2007-11-14 17:51
#102418 #102418
User since
2007-11-14
2 Artikel
BenutzerIn
[default_avatar]
Hallo,
ich habe folgendes Problem: Ich baue mir z.Z. ein spartanisches Gästebuchscipt mit Perl um mir ein paar Grundkenntnisse anzueignen (das Gästebuch ist nicht für die Öffentlichkeit bestimmt, daher auch ohne CSS usw. usf.) . Nun prüfe ich, welche Funktion im GET Parameter 'do' eingesetzt wurde, je nachdem zeigt er mir die entsprechenden Inhalte an.

Nun habe ich das mit dem Wert "add" gemacht, der mir die add.pl einbinden soll (require). Seltsamerweise zeigt Perl mir die Seite nur einmal an - wenn ich aktualisiere, komme ich auf eine leere Seite. Um mir das nochmal anzusehen, muss ich Apache neustarten. Übrigens: Der Content-Type wird, wenn es denn mal angezeigt wird, völlig missachtet - ich bekomme eine Textausgabe.

index.pl
Code (perl): (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
#!/usr/bin/perl
use CGI;
chdir "C:/Users/Martin/Desktop/Server/htdocs/perlbook";

$cgi = new CGI;
use CGI::Carp qw(fatalsToBrowser);

require "do.pl";

# Ausgabe des HTTP Headers
print "Content-type: text/html\n\n";

print qq(
<?xml version="1.0"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
  <head>
    <title>G&auml;stebuch auf Textseitenbasis mit PERL</title>
    <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
  </head>
  <body>
);

# Waehle Content
if ($cgi->url_param('do') eq "") 
{
print qq(
<h1>G&auml;stebuch - Eintr&auml;ge lesen</h1>
);
} 
else
{
if ($cgi->url_param('do') eq "add")
{
require "add.pl" or die("fuck");
}
}



add.pl
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
print qq(
<h1>G&auml;stebuch - Eintr&auml;ge verfassen</h1>

<p>Hier k&ouml;nnen Sie einen Eintrag in meinem G&auml;stebuch hinterlassen. Bitte f&uuml;llen Sie das untenstehende Formular aus.</p>

<form method="post">
Name: <input type="text" name="name" size="25" value="">
eMail: <input type="text" name="name" size="25" value="">
Homepage: <input type="text" name="name" size="25" value="http://">
<input type="submit" name="add" value="OK">
</form>
);

if ($cgi->url_param()) {
print "<p><strong>Es wurden nicht alle Felder ausgef&uuml;llt!</strong></p>";
}


System: Windows Vista mit XAMPP 1.6.2 und Mod_Perl 2.0.3 (Perl 5.008008).

View full thread Anzeige einer require() Datei nur einmal