Hallo,
Ich weis nicht warum, aber ich bekomme dauernd im Errolog die Meldung :
Use of uninitialized value in concatenation (.) or string at /home/www/doc/1264/hauptroot/meinedomain.com/forum/mailingliste.cgi line 75.
Das ist leider nicht das erste Script, bei dem dauernd diese Meldung kommt, aber worna liegt das. Ich poste mal das Script : (line 75 ist übrigens die Zeile, die das 2.Mal print <<EOF; (vor </table>) beinhaltet.
#!/usr/bin/perl -w
use strict;
use CGI;
my $query = new CGI;
my $url = 'http://localhost/forum/';
if ($query->param('action')) {
my $forumname = $query->param('name');
my $email = $query->param('email');
my $abfrage = $query->param('janein');
my $error = 0;
my $auswahl = '';
valid($error,$forumname,$email,$abfrage,$auswahl);
if (!$error) {
savemail($forumname,$email,$abfrage);
main();
} else {
main($forumname,$email,$auswahl);
}
} else {
my ($forumname,$email,$auswahl) = ('') x 3;
main($forumname,$email,$auswahl);
}
sub main {
my ($forumname,$email,$auswahl) = @_;
my $in = '';
print $query->header;
print <<EOF;
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
<meta http-equiv="Content-Script-Type" content="text/javascript">
<meta http-equiv="Content-Style-Type" content="text/css">
<link rel="stylesheet" type="text/css" href="hauptdaten.css">
<script src="hauptdatei.js" type="text/javascript">
</script>
<link rel="shortcut icon" href="favicon.ico">
<title>---MEETINGPOINT---</title>
</head>
<body>
<div id="nr1"></div>
<div id="nr2"></div>
<div style="position:absolute; top:64px; left:0px"><a href="mailingliste.cgi" onMouseOver="Bildwechsel(0,highlight2)" onMouseOut="Bildwechsel(0,normal2)"><img src="pics/maillistedark.gif" width="103" height="21" alt="Mailliste"></a></div>
<div id="mainbar"></div>
<div style="position:absolute; top:62px; left:107px"><a href="$url?action=showparty" onMouseOver="Bildwechsel(1,highlight3)" onMouseOut="Bildwechsel(1,normal3)"><img src="pics/partytermine.gif" width="80" height="26" alt="Partytermine"></a></div>
<div style="position:absolute; top:62px; left:195px"><a href="$url?action=links" onMouseOver="Bildwechsel(2,highlight4)" onMouseOut="Bildwechsel(2,normal4)"><img src="pics/links.gif" width="68" height="26" alt="Links"></a></div>
<div style="position:absolute; top:62px; left:267px"><a href="$url?action=faq" onMouseOver="Bildwechsel(3,highlight5)" onMouseOut="Bildwechsel(3,normal5)"><img src="pics/faq.gif" width="55" height="26" alt="FAQ"></a></div>
<div style="position:absolute; top:62px; left:328px"><a href="$url" onMouseOver="Bildwechsel(4,highlight6)" onMouseOut="Bildwechsel(4,normal6)"><img src="pics/forumdark.gif" width="80" height="26" alt="Forum"></a></div>
<div style="position:absolute; top:62px; left:418px"><a href="$url" onMouseOver="Bildwechsel(5,highlight7)" onMouseOut="Bildwechsel(5,normal7)"><img src="pics/zurueck.gif" width="92" height="26" alt="zurück"></a></div>
<div style="position:absolute; top:95px; left:0px">
<table style="border:0px; width:650px">
<colgroup>
<col width="350">
<col width="300">
</colgroup>
<tr><td class="right">eingetragene Mitglieder</td><td class="left">Email Adressen</td></tr>
EOF
if (-e 'maillist/mail.txt') {
open(FILE,'maillist/mail.txt') or die "Cant open mail-database : $!\n";
local $/;
$in = <FILE>;
close FILE;
while ($in =~ /<user>[name:(.+?)][email:(.+?)][abfrage:(.+?)]</user>/sg) {
if ($3 eq 'ja') {
print "<tr><td class="orangeright"> $1 </td><td class="left"><a href="mailto:$2">$2</a></td></tr>\n";
} else {
print "<tr><td class="orangeright"> $1 </td><td class="left"> Email Adresse verhüllt </td></tr>\n";
}
}
}
print <<EOF;
</table>
<p>
<form method="post" name="mailformular" action="" onSubmit="return chkmailform();">
<table style="border:0px; width:700px">
<colgroup>
<col width="40%">
<col width="60%">
</colgroup>
<tr><td class="right">Wie lautet dein Name im Forum ? </td><td><input class="party" type="text" name="name" value="$forumname" maxlength="150"></td></tr>
<tr><td class="right">Wie lautet deine Email Adresse? </td><td><input class="party" type="text" name="email" value="$email" maxlength="100"></td></tr>
<tr><td colspan="2" class="orangeright"> $auswahl </td></tr>
<tr><td class="right">Soll die Email Adresse in der Liste angezeigt werden ?</td><td><input type="radio" name="janein" value="ja"> ja <input type="radio" name="janein" value="nein"> nein </td></tr>
<tr><td> </td><td><input type="submit" class="linkbutton" name="action" value="hinzufügen"></td></tr>
</table>
</form>
</div>
</body>
</html>
EOF
}
sub savemail {
my ($forumname,$email,$abfrage) = @_;
open(FILE,">>maillist/mail.txt") or die "Cant save data : $!\n";
flock FILE, 2;
print FILE "<user>[name:$forumname][email:$email][abfrage:$abfrage]</user>\n";
close FILE;
}
sub valid {
my ($error,$forumname,$email,$abfrage,$auswahl) = @_;
if (($$forumname eq '') || ($$forumname eq 'Es wurde kein Name eingetragen')) { $$error = 1; $$forumname = 'Es wurde kein Name eingetragen'; }
if (($$email !~ /.+?@.+?..{2,4}/) && ($$email ne '')) {
$$error = 1; $$email = 'Diese Email Adresse ist ungültig';
}
if ($$email eq '') {
$$error = 1; $$email = 'Es wurde keine Email Adresse eingetragen';
}
if ($$abfrage eq '') { $$error = 1; $$auswahl = 'Es wurde nicht angegeben, ob die Email Adresse in der Liste angezeigt werden soll'; }
}
$xNeTworKx.