Hallo Oliver,
habe Deine Tipps für ein Forum mit Smilies verfolgt und versucht an das normale Forum aus der BIB anzupassen. Dazu habe ich auch erstmal alle Deine Bilderlinks etc. genutzt.
Folgendes Problem, zwar werden in der Datenbank alle Werte wie traurig, zornig etc. eingetragen, die Bilder selbst erscheinen im Forumeintrag allerdings nicht.
Wenn Du etwas Zeit und Lust hast, würde ich mich echt freuen, wenn Du mal kurz reinschaust. Vielleicht findest Du die Lücke, auf eurer Seite funktioniert es ja sehr schön.
Der Link: http://baseportal.de/cgi-bin/baseportal.pl?htx=/gruppen/forum
Der Quelltext Teil1:
<html><head><title>baseportal</title>
<script>
var sent=0;
function testform()
{
t="\nBitte holen Sie dies nach und schicken Sie dann Ihren Beitrag erneut ab.";
if(!document.forms[0].elements[4].value) { alert ("Sie haben keinen Namen angegeben!"+t); document.forms[0].elements[4].focus(); return false; }
if(!document.forms[0].elements[7].value) { alert ("Sie haben keinen Titel eingegeben!"+t); document.forms[0].elements[7].focus(); return false; }
if(!document.forms[0].elements[8].value) { alert ("Sie haben keinen Text eingegeben!"+t); document.forms[0].elements[8].focus(); return false; }
if(++sent>1) return false;
return true;
}
</script>
</head>
<body bgcolor=ffffff vlink=0000f0><!link=d80000 vlink=d80000>
<font size=2 face=arial>
<center>
<table width=95% cellpadding=2 cellspacing=0 border=0><tr>
<td rowspan=2><font face=arial size=6><b><font color=d80000>base</font>portal</b></td>
<td height=14></td>
</tr><tr>
<td bgcolor=e0e0e0 align=center> <font face=arial,helvetica size=2><a href="/index.html">Start</a></font></td>
</tr><tr><td bgcolor=b0c0e0 colspan=2><table border=0 cellpadding=0 cellspacing=0><tr><td height=1></td></tr></table></td></tr></table>
<br>
<table cellspacing=2 width=95% cellpadding=4>
<tr><td bgcolor=e0e0e0 colspan=2><font face=arial size=3> <b>baseportal-Forum</b></td></tr>
<tr><td valign=top colspan=2>
<font face=arial size=2><br>
Herzlich Willkommen beim baseportal-Forum...
</center>
<font size=2 face="arial,helvetica">
<perl>
# --- Variablen-Definitionen ---
my $getfirst=5; # Anzahl der zuerst gezeigten Eintraege
my $getlist=100; # Anzahl der Listen-Eintraege
my $allpos=""; # Speichert Positionen aller Eintraege eines Themas
my $newPos=0; # Neue Position eines neuen Eintrags
my $maxtext=10000; # Maximale Laenge fuer das Text-Feld
my $msg=""; # Fuer Meldungen bei neuen Eintraegen
my $emsg=""; # Fuer Fehler-Meldungen bei neuen Eintraegen
$Name=$Titel=$Text=""; # Kleiner Workaround wg. einer kleinen Lücke beim "get" wenn 0 Einträge zurückgeliefert werden - dann müssten die entsprechenden Feldvariablen geleert werden, ist aber im Moment nicht so.
# --- Nutzer-Eingabe bearbeiten ---
if(%_put)
{
unless($Vorschau)
{
get "Id==#";
$emsg.="Bitte geben Sie Ihren Namen ein! " if $_put{Name} eq "";
$emsg.="Bitte geben Sie einen Titel ein! " if $_put{Titel} eq "";
$emsg.="Bitte geben Sie einen Text ein! " if $_put{Text} eq "";
$emsg.="Der Text ist zu lang! Bitte kürzen Sie ihn auf maximal $maxtext Zeichen." if length($_put{Text})>$maxtext;
if($emsg eq "")
{
if($Name ne $_put{Name} || $Titel ne $_put{Titel} || $Text ne $_put{Text})
{
if($_get{Pos} eq "")
{
get "Pos==#";
$newPos=$Pos+1;
$_get{range}="";
} else
{
get "Pos<=$_get{Pos} Pos>=".($_get{Pos}-1)." sort=-";
$_put{Shift}=$Shift+1; $newPos=$Pos; get_next;
while(get_next)
{
last if $Shift<$_put{Shift};
$newPos=$Pos;
}
$Pos=0 if $_get{Pos}==$Pos;
$newPos=($Pos+$newPos)/2;
my $mx=$newPos; chop $mx; $newPos=$mx if($mx>$Pos);
}
$_put{Pos}=$newPos;
put;
$msg="Ihr Eintrag wurde aufgenommen...";
} else
{
$msg="Ihr Eintrag ist bereits gespeichert...";
$newPos=$Pos;
}
$_get{Pos}="";
}
}
$allpos="$newPos#";
}
$mylink=$mylinkr="/cgi-bin/baseportal.pl?htx=$htx&wcheck=1";
$mylinkr.="&range=$_get{range}" if $_get{range};
# --- Ausgabe eines ausgewählten, abgewiesenen oder vorgeschauten Eintrags ---
out "<a name=\"eingabe\"> </a><br>";
out "<ul><font size=3".($emsg?" color=d80000":"")."><b>$emsg$msg</b></font></ul>" if $emsg || $msg;
if($Vorschau || %_put)
{
out "<center><table cellspacing=2 width=95% cellpadding=4><tr bgcolor=e0e0e0><td><font face=arial,helvetica size=3><b> ".($Vorschau?"Vorschau:":"Ihr Eintrag:")."</b></font></td><td width=10% align=center nowrap> <a href=\"#list\"><font size=2 face=arial>Zur Liste</a> </td></tr></table></center><font face=arial,helvetica size=2><ul>";
&all_out("", $_put{Name}, $_put{EMail}, $_put{WWW}, $_put{Icon}, $_put{Titel}, $_put{Text});
out "</ul>";
}
if($_get{Pos} ne "")
{
out "<center><table cellspacing=2 width=95% cellpadding=4><tr bgcolor=e0e0e0><td><font face=arial,helvetica size=3><b> Ausgewählter Eintrag:</b></font><td width=10% align=center nowrap> <a href=\"#list\"><font size=2 face=arial>Zur Liste</a> </td></tr></table></center><font face=arial,helvetica size=2><ul>";
get "Pos==$_get{Pos}";
&all_out();
out "<h3>Ihre Antwort:</h3>";
if($Vorschau || $emsg)
{
&form_out($_get{Pos}, $_put{Name}, $_put{EMail}, $_put{WWW}, $_put{Icon}, $_put{Titel}, $_put{Text});
} else
{
my $t=$Titel;
$t="Re: $t" unless $t=~ /^Re: /i;
&form_out($Pos, "", "", "", $t);
}
my $p=int($Pos); $p++ if $p ne $Pos;
get "sort=- Pos<=$p Pos>".($p-1);
out "<p><a href=\"$mylinkr\">Neuer Eintrag</a>";
if($_amount_query>1)
{
out "</ul><br><center><table cellspacing=2 width=95% cellpadding=4><tr bgcolor=e0e0e0><td><font face=arial,helvetica size=3><b> Alle Einträge zum Thema:</b></font></td><td width=10% align=center nowrap> <a href=\"#list\"><font size=2 face=arial>Zur Liste</a> </td></tr></table></center><font face=arial,helvetica size=2><ul>";
$allpos=&all_out($_get{Pos});
out "<br>";
} else
{
$allpos="$_get{Pos}#";
}
} else
{
out "<center><table cellspacing=2 width=95% cellpadding=4><tr bgcolor=e0e0e0><td><font face=arial,helvetica size=3><b> Neuer Eintrag:</b></font></td><td width=10% align=center nowrap> <a href=\"#list\"><font size=2 face=arial>Zur Liste</a> </td></tr></table></center><font face=arial,helvetica size=2><ul>";
if($Vorschau || $emsg)
{
&form_out($_get{Pos}, $_put{Name}, $_put{EMail}, $_put{WWW}, $_put{Icon}, $_put{Titel}, $_put{Text});
} else
{
&form_out();
}
}