Hallo,
aber der generierte HTML- (und CSS-) Code würde vermutlich doch helfen. Und eine vorherige Validierung desselben ebenfalls.
Es ist valide =) Aber ich kann ja mal eine der Subroutinen posten : sub topic { #this is the topic of the board my @liste; my %sortierungshash; print <<EOF; <div style="position:absolute; top:91px; left:495px"><a href="$url?action=newtopic" onMouseOver="Bildwechsel(6,highlight8)" onMouseOut="Bildwechsel(6,normal8)"><img src="pics/neuesposting.gif" width="222" height="27" alt="neues Posting"></a></div> <div style="position:absolute; top:130px; left:0px"> <form action=""> <table style="border:1px solid #666600; width:100%"> <colgroup> <col width="50%"> <col width="15%"> <col width="5%"> <col width="5%"> <col width="25%"> </colgroup> <tr><td class="topicklein">   </td><td class="topicklein">begonnen von</td><td class="topicklein">Antworten</td><td class="topicklein">gesehen</td><td class="topicklein">letzte Nachricht von</td></tr> EOF opendir(DIR,"messages") or die "Cant open database directory : $!\n"; while (defined(my $file = readdir(DIR))) { if ($file =~ /^\d+.txt$/) { my $in = ''; open(FILE,"messages/$file") or die "Cant open file : $!\n"; while (<FILE>) { $in .= $_; if ($in =~ /<unix>(\d+?)</unix>/) { push @liste, $1; push @liste, $file; } } close FILE; } } closedir DIR; %sortierungshash = @liste;
my $topicueberpruefer = 0; foreach my $key(sort { $b <=> $a } keys %sortierungshash) {
my $file = $sortierungshash{$key}; my ($inhalt,$replyzeit,$replyname,$replyinhalt,$topinhalt,$topictitle,$autor,$unix) = ('') x 8; my ($replycounter, $biggest, $clicks) = (0,0,0); my (@replies, @sortierungsliste) = ((),());
open(FILE,"messages/$file") or die "Cant open File : $!\n"; while (<FILE>) { $inhalt .= $; } close FILE; #### if counter exist, open ##### if (-e "counter/$file") { open(FILE,"counter/$file") or die "Cant open counter : $!\n"; while (<FILE>) { while($ =~ /i/g) { $clicks++; } } }
### counter end #####
if ($inhalt =~ /<top>(.*)</top>/s) { $topinhalt = $1; }
if ($topinhalt =~ /<topic>(.+?)</topic>/) { $topictitle = $1; }
if ($topinhalt =~ /<name>(.+?)</name>/g) { $autor = $1; }
if ($replyinhalt =~ /<zeit>(.+?)</zeit>/g) { $replyzeit = $1; }
if ($replyinhalt =~ /<name>(.+?)</name>/g) { $replyname = $1; } $file =~ s/.txt//; if ($replyname eq '') { $replyname = ' '; } if ($replyzeit eq '') { $replyzeit = ' '; } @replies = $inhalt =~ /<reply>(.+?)</reply>/sg; foreach my $rep(@replies) { $replycounter++; if ($rep =~ /<unix>(\d+?)</unix>/) { $unix = $1; } if ($unix > $biggest) { $biggest = $unix; if ($rep =~ /<zeit>(.+?)</zeit>/) { $replyzeit = $1; } if ($rep =~ /<name>(.+?)</name>/) { $replyname = $1; } } }
print "<tr><td class="topicleft"><a class="klein" href="$url?action=showreplies&posting=$file">$topictitle</a></td><td class="topic"> $autor </td><td class="topic"> $replycounter </td><td class="topic"> $clicks </td><td class="topic"><span class="replyname">$replyname</span><br> $replyzeit </td></tr>\n"; $topicueberpruefer++; if ($topicueberpruefer == $topiccounter) { last; } } print <<EOF; <tr><td colspan="2" class="topickleinmitte"> <select name="topiccounter"> <option value="5">die letzten 5 Postings anzeigen</option> <option value="10">die letzten 10 Postings anzeigen</option> <option selected value="20">die letzten 20 Postings anzeigen</option> <option value="30">die letzten 30 Postings anzeigen</option> <option value="50">die letzten 50 Postings anzeigen</option> <option value="70">die letzten 70 Postings anzeigen</option> <option value="100">die letzten 100 Postings anzeigen</option> <option value="200">die letzten 200 Postings anzeigen</option> <option value="300">die letzten 300 Postings anzeigen</option> <option value="400">die letzten 400 Postings anzeigen</option> </select> <input type="submit" value="aktualisieren" class="aktubutton"> </td> <td colspan="3" class="topickleinright">xNeTworKx's Bulletin Board Version 2.0</td></tr> </table> </form> </div> EOF }
Ich poste auch mal die relevanten CSS Daten : a.klein:link {font-size:11px; color:#FFFF00; font-family:Verdana, sans-serif; text-decoration:underline} a.klein:visited {font-size:11px; font-family:Verdana, sans-serif; color:#777000; text-decoration:none } a.klein:hover {color:#FFFF00; font-family:Verdana, sans-serif; text-decoration:underline } a.klein:active {color:#FFBF00; font-family:Verdana, sans-serif; text-decoration:underline } a.klein:focus {color:#FFFF00; font-family:Verdana, sans-serif; text-decoration:underline }
und das Forum (lokal) : http://212.17.119.105/forum2/index.cgi