Probleme mit javascript:emoticon

jackie05

Erfahrenes Mitglied
hallo,
ich hab ein Gästebuch auf meiner Homepage mit Smilies, aber wenn ich einen Eintrag erstelle, dann werden die Smilies nicht angezeigt, man sieht nur diese zeichen die man für ein Smilie eingegeben hat, hier ist mal mein Quelltext:

PHP:
<?php
    $mysql_host = '**********';
    $mysql_user = '**********';
    $mysql_pw = '**********';
    $mysql_db = '**********';

   if ($res_id = @mysql_connect($mysql_host, $mysql_user, $mysql_pw))
{
  @mysql_select_db( "$mysql_db")  or  die("Datenbank nicht gefunden");
  $sql = "SELECT * FROM `gaestebuch`";
  $eintrage = mysql_num_rows(mysql_query($sql));
  $maxproseite = 10;
  $i = 0;
  $seiten = $eintrage / $maxproseite;              //Anzahl der Seiten errechnen
  if (!isset($_GET['seite'])) {                     //normalabfrage, wenn keine Seite gegeben ist.
  $sql = "SELECT * FROM `gaestebuch` ORDER by id DESC LIMIT 0,".$maxproseite.";";
  } else {                                         //Abfrage, wenn eine Seitenzahl gegeben ist.
   $abeintrag = $_GET['seite'] * $maxproseite - $maxproseite;
   $sql = "SELECT * FROM `gaestebuch` ORDER by id DESC LIMIT ".$abeintrag.",".$maxproseite.";";
  }
  $result = mysql_query($sql);
  while($row = mysql_fetch_assoc($result)){
   $id=$row["id"];
   $nick=$row["nick"];
   $emailadresse=$row["emailadresse"];
   $nachrichten=$row["nachrichten"];
            bbcodes($nachrichten);
            $datumuhrzeit=$row["datumuhrzeit"];
            $homepage=$row["homepage"];
   $liste .= "
<table border='0' width='80%' bordercolor='#E4E4E4' cellspacing='0' cellpadding='0'>
 <tr>
  <td width='160' bgcolor='#999999'><font color='#000000' face='Arial' size='2'><b>$id)</b> $nick</font></td>
  <td width='133' bgcolor='#999999'><font color='#000000' face='Arial' size='2'><a href='$homepage' target='_blank'><font color='#000080'>Homepage</a></font></td>
  <td align='right' width='119' bgcolor='#999999'><font color='#000000' face='Arial' size='2'>$datumuhrzeit</font></td>
 </tr>
 <tr>
  <td width='769' colspan='3' bgcolor='#C0C0C0'><font color='#000000' face='Arial' size='2'>Email: <a href='mailto:$emailadresse'><font color='#000080'>$emailadresse</font></a><br><br>$nachrichten</font></font></td>
 </tr>
</table><br>";
   }

    echo "
   <div align='center'>
   $liste
            ";
  echo"<font face='Arial' color='#000080' size='2'><br>Seite:&nbsp;</font>";
  for($i = 1; $i - 1< $seiten; $i++){              //Ausgabe der Linkliste
  echo "<font face='Arial' color='#000080' size='2'><a href='gaestebuch.php?seite=".$i."'>[" .$i. "]</a></font>";
  }
}
else {
  echo "Verbindung zur Datenbank war nicht erfolgreich!<br>";
}

    function bbcodes($string) 
    { 
        $output = stripslashes($string); 
        $smilies = array( 
            ':ali:'            => 'smilies/icon_05.gif', 
            ':cool:'           => 'smilies/icon_06.gif', 
            ':grins:'          => 'smilies/icon_07.gif', 
            ':mist:'           => 'smilies/icon_08.gif',
            ':scream:'         => 'smilies/icon_09.gif',  
            '-.-'              => 'smilies/icon_10.gif', 
            ':lecker:'         => 'smilies/icon_11.gif', 
            ':löl:'            => 'smilies/icon_12.gif', 
            ':hm:'             => 'smilies/icon_13.gif', 
            ':böse:'           => 'smilies/icon_14.gif', 
            ':atom:'           => 'smilies/icon_15.gif', 
            ':wein:'           => 'smilies/icon_16.gif', 
            ':lächeln:'        => 'smilies/icon_38.gif', 
            ':wow:'            => 'smilies/icon_18.gif',
            ':blabla:'         => 'smilies/icon_19.gif',
            ':hhmm:'           => 'smilies/icon_20.gif',
            ':geil:'           => 'smilies/icon_21.gif',
            ':gähn:'           => 'smilies/icon_23.gif',
            ':hrhr:'           => 'smilies/icon_24.gif', 
     ':fröhlig:'        => 'smilies/icon_25.gif',
            ':rauch:'          => 'smilies/icon_26.gif', 
     ':blablabla:'      => 'smilies/icon_27.gif',
            ':zungestreck:'    => 'smilies/icon_28.gif', 
     ':au:'             => 'smilies/icon_30.gif',
            ':heul:'           => 'smilies/icon_33.gif', 
     ':fire:'           => 'smilies/icon_34.gif',
            ':guck:'           => 'smilies/icon_35.gif', 
     ':blinzel:'        => 'smilies/icon_36.gif',
            ':?:'            => 'smilies/icon_32.gif' 
        ); 
        $bbcodes = array( 
            '#\[img\](.*)\[/img\]#isU'                      => '<img src="$1" />', 
            '#\[list\](.*)\[/list\]#isU'                    => '<ul>$1</ul>', 
            '(\[\*\](.+?)\\n)is'                            => '<li>$1</li>', 
            '#\[center\](.*)\[/center\]#isU'                => '<center>$1</center>', 
            '#\[code\](.*)\[/code\]#isU'                    => '<table align="center" width="90%"><tr><td><font face="Verdana" size="2"><b>Code:</b></font></td></tr><tr><td><table cellpadding=4 cellspacing=1 width="100%" bgcolor="#000000"><tr><td bgcolor="#c0c0c0">$1</td></tr></table></td></tr></table>', 
            '#\[(b|i|u)\](.*)\[/\\1\]#isU'                  => '<$1>$2</$1>',  
            '#\[url\]www.(.*)\[/url\]#isU'                  => 'http://www.$1', 
            '#\[url=(.*?)\](.*?)\[/url\]#'                  => '<a href="$1">$2</a>', 
            '#\[url\](.*)\[/url\]#isU'                      => '<a href="$1">$1</a>', 
            '#\[email=(.*?)\](.*?)\[/email\]#'              => '<a href="mailto:$1">$2</a>', 
            '#\[font=(.*)\](.*)\[/font\]#isU'               => '<font face="$1">$2</font>', 
            '#\[color=(.*)\](.*)\[/color\]#isU'             => '<font color="$1">$2</font>', 
            '#\[size=(.*)\](.*)\[/size\]#isU'               => '<font size="$1">$2</font>', 
            '#\[quote\](.*)\[/quote\]#isU'                  => '<blockquote>$1</blockquote>', 
            '#\[quote=(.*)\](.*)\[/quote\]#isU'             => '<blockquote title="$1"><cite>$1</cite>:<p>$2</p></blockquote>' 
        ); 
        foreach( $bbcodes as $key => $value ) { 
            $output = preg_replace($key, $value, $output); 
        } 
        foreach( $smilies as $key => $value ) { 
            $output = str_replace($key, '<img src="files/smilies/'.$value.'" alt="'.$key.' "/>', $output); 
        } 
        return nl2br($output); 
    }  
?>

könnt ihr vieleicht mal kucken was ich da falsch gemacht bzw. was vergessen habe?
ich wäre euch sehr dankbar wenn jemand mir helfen könnte, ich danke euch schonmal ;)

Gruss Christian
 
Zuletzt bearbeitet:
Ich nehme an, dass der Pfad falsch aufgebaut ist. Du wirst im Endeffekt einen Pfad wie den folgenden haben: files/smilies/smilies/icon_36.gif
Und da ich nicht glaube, dass die Smilies in files/smilies/smilies liegen, sondern eher in files/smilies empfehle ich Dir diese Zeile
PHP:
$output = str_replace($key, '<img src="files/smilies/'.$value.'" alt="'.$key.' "/>', $output);
in diese
PHP:
$output = str_replace($key, '<img src="files/'.$value.'" alt="'.$key.' "/>', $output);
umzuwandeln.
 
Ich danke dir, aber es funktioniert trotzdem nicht. Bei meines Bruders Gästebuch geht es, nur bei mir geht es nicht. Irgendwo ist ein Fehler drin aber ich finde ihn nicht.
Kann man das vielleicht auch anders machen?

Gruß Christian
 
Zurück