• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Perl Gästebuch...

Hi Leute!

Vllt. kann mir ja jemand helfen...
Wieso funktioniert das Gästebuch nicht?
Hier das cgi...
Code:
#!/usr/bin/perl -w
#
#use strict;
#
#           jachu
#
# test.cgi
#
# Homepage: 
# email: 
# Last modified: 21.04.2002


#print "Content-type: text/plain\n\n";
#print header('text/plain')
require "../cgi-bin/cgi-lib.pl";
require "../cgi-bin/mun-lib.pl";
&ReadParse(*form_data);



if ($form_data[0] eq "")
{
	$form_data[0] = "$gb_jahr";
}

$jahr = "gstbk_$form_data[0].csv";

open (FILE,$jahr) || die "Can't Open File: $!\n";
while(<FILE>)
	{
		chop ($_);
		push (@zeilen, $_);
	}
close(FILE);

&html_header;
print "\t<TABLE WIDTH=\"100%\" CELLPADDING=\"10\" CELLSPACING=\"2\"> \n"
	."\t\t<TR>\n"
	."\t\t\t<TD WIDTH=\"100\" ALIGN=\"LEFT\" VALIGN=\"MIDDLE\">"
	."<A	HREF=\"eguestbk.htm\"><IMG SRC=\"signbook.gif\" ALT=\"Im Gästebuch eintragen...\""
	." WIDTH=\"40\" HEIGHT=\"40\" BORDER=\"0\" ALIGN=\"LEFT\"></A></TD>\n"
	."\t\t\t<TD ALIGN=\"CENTER\">"
	."<IMG SRC=\"gaestebuch.gif\" BORDER=\"0\" WIDTH=\"166\" HEIGHT=\"33\"></TD>\n"
	."\t\t\t<TD> </TD>\n"
	."\t\t</TR>\n"
	."\t</TABLE>\n"
	."\t<TABLE WIDTH=\"100%\" CELLPADDING=\"10\" CELLSPACING=\"2\" ALIGN=\"CENTER\">\n"
	."\t\t<TR>\n"
	."\t\t\t<TD><A HREF=\"bguestbk_98.htm\" TARGET=\"text\">"
	."<FONT SIZE=\"+1\"><B>1998</B></FONT></A></TD>\n"
	."\t\t\t<TD><A HREF=\"bguestbk_99.htm\" TARGET=\"text\">"
	."<FONT SIZE=\"+1\"><B>1999</B></FONT></A></TD>\n";
if ($form_data[0] eq "00")
	{
		print "\t\t\t<TD><FONT SIZE=\"+1\"><B>2000</B></FONT></TD>\n";
	}
	else
	{
		print "\t\t\t<TD><A HREF=\"show_gb.cgi?00\" TARGET=\"text\">"
		."<FONT SIZE=\"+1\"><B>2000</B></FONT></A></TD>\n";
	}
if ($form_data[0] eq "01")
	{
		print "\t\t\t<TD><FONT SIZE=\"+1\"><B>2001</B></FONT></TD>\n";
	}
	else
	{
		print "\t\t\t<TD><A HREF=\"show_gb.cgi?01\" TARGET=\"text\">"
		."<FONT SIZE=\"+1\"><B>2001</B></FONT></A></TD>\n";
	}
if ($form_data[0] eq "02")
	{
		print "\t\t\t<TD><FONT SIZE=\"+1\"><B>2002</B></FONT></TD>\n";
	}
	else
	{
		print "\t\t\t<TD><A HREF=\"show_gb.cgi?02\" TARGET=\"text\">"
		."<FONT SIZE=\"+1\"><B>2002</B></FONT></A></TD>\n";
	}
if ($form_data[0] eq "03")
	{
		print "\t\t\t<TD><FONT SIZE=\"+1\"><B>2003</B></FONT></TD>\n";
	}
	else
	{
		print "\t\t\t<TD><A HREF=\"show_gb.cgi?03\" TARGET=\"text\">"
		."<FONT SIZE=\"+1\"><B>2003</B></FONT></A></TD>\n";
	}
if ($form_data[0] eq "04")
	{
		print "\t\t\t<TD><FONT SIZE=\"+1\"><B>2004</B></FONT></TD>\n";
	}
	else
	{
		print "\t\t\t<TD><A HREF=\"show_gb.cgi?04\" TARGET=\"text\">"
		."<FONT SIZE=\"+1\"><B>2004</B></FONT></A></TD>\n";
	}
#if ($form_data[0] eq "05")
#	{
#		print "\t\t\t<TD><FONT SIZE=\"+1\"><B>2005</B></FONT></TD>\n";
#	}
#	else
#	{
#		print "\t\t\t<TD><A HREF=\"show_gb.cgi?05\" TARGET=\"text\">"
#		."<FONT SIZE=\"+1\"><B>2005</B></FONT></A></TD>\n";
#	}

print "\t\t</TR>\n" 
	."\t</TABLE>\n"
	."\t<TABLE>\n"
	."\t\t<TR>\n"
	."\t\t\t<TD WIDTH=\"15%\"> </TD>\n" 
	."\t\t\t<TD>\n";
for (@zeilen)
	{
		@zeile = split(/#/,$_);
		print "\t\t\t\t<B>@zeile[1]</B><BR>\n"
			."\t\t\t\t@zeile[2] < <A HREF=\"mailto:@zeile[3]\">@zeile[3]</A> ><BR>\n"
			."\t\t\t\t@zeile[4] - @zeile[5] -<BR> <BR>\n"
			."\t\t\t</TD>\n"
			."\t\t\t<TD WIDTH=\"15%\"> </TD>\n" 
			."\t\t</TR>\n"
			."\t\t<TR>\n"
			."\t\t\t<TD WIDTH=\"15%\"> </TD>\n" 
			."\t\t\t<TD>\n";
	}
print "\t\t\t</TD>\n"
	."\t\t\t<TD WIDTH=\"15%\"> </TD>\n" 
	."\t\t</TR>\n"
	."\t</TABLE>\n"
	."\t</BODY>\n"
	."</HTML>";

Und nach einem perl -w show_gb.cgi kommt folgendes...

Code:
Scalar value @zeile[1] better written as $zeile[1] at show_gb.cgi line 118.
Scalar value @zeile[2] better written as $zeile[2] at show_gb.cgi line 119.
Scalar value @zeile[3] better written as $zeile[3] at show_gb.cgi line 119.
Scalar value @zeile[3] better written as $zeile[3] at show_gb.cgi line 119.
Scalar value @zeile[4] better written as $zeile[4] at show_gb.cgi line 120.
Scalar value @zeile[5] better written as $zeile[5] at show_gb.cgi line 120.
Name "main::gb_jahr" used only once: possible typo at show_gb.cgi line 24.
Use of $* is deprecated at ../cgi-bin/cgi-lib.pl line 99.
Use of uninitialized value at ../cgi-bin/cgi-lib.pl line 57.
Use of uninitialized value at ../cgi-bin/cgi-lib.pl line 59.
Use of uninitialized value at ../cgi-bin/cgi-lib.pl line 63.
Use of uninitialized value at show_gb.cgi line 22.
Can't Open File: No such file or directory

Versteh so langsam gar nix mehr :(
 
Aus der angegeben Datei ist die Ursache des Problems nicht ersichtlich. Die Fehler müssen in den Dateien liegen die das Script über "require" einbindet.

Abgesehen davon: Gibts einen Grund warum es unbedingt ein Perl Script sein muss das knapp 4 Jahre alt ist. Ein Gästebuch in PHP zu schreiben ist recht einfach.
 
nbkr schrieb:
Abgesehen davon: Gibts einen Grund warum es unbedingt ein Perl Script sein muss das knapp 4 Jahre alt ist. Ein Gästebuch in PHP zu schreiben ist recht einfach.

Das Teil ist ja gar nicht von mir... Wahrscheinlich ist es wirklich nicht schwer ein neues GB zu schreiben, aber ich habe eigentlich keinen blassen Schimmer von Perl und noch weniger von PHP :?
Daher dachte ich, dass das Problem vllt. nur ein kleines ist, das ich evtl. auch noch ausbügeln könnte...
 
Also PHP Gästebücher gibts auch kostenlos zum Download. Dort zum Beispiel: http://www.hotscripts.de/7/50/435/index.php
 
Oben