Probleme mit ner blöden Shoutbox!

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Probleme mit ner blöden Shoutbox!

    Hallo, ich hätte eine Frage..ich bin echt noob in PHP
    und hab ein Problem mit einem script...ich weiss,
    das GANZE ist wahnsinnig unübersichtlich und schlecht
    gecodet...aber bitte helft mir..das Ganze funktioniert
    eh recht gut: Mein Problem ist nur: Ich will, dass
    jedes längere Wort (ab 10 Buchstaben) geteilt wird,
    weil sich ansonsten die Ganze Seite "kaputt" geht
    vom design her. Der Befehl heisst "wordwrap"..
    doch wie ich den richtig einbaue..weiss ich nicht..
    hier das "gute" Stück

    PHP-Code:
    <?php


        $text_file     
    "db.txt";
      
        
        
    $shoutbox_url  "xxx";
          
      
        
    $referer_url   "xxx";
        
        if( isset(
    $_GET['action']) && $_GET['action'] == "add" )
        {
            if( 
    $_POST['email'] == "Email" )
                
    $_POST['email'] = "";
            
    $new_line $_POST['name']."|".$_POST['email']."|".date("Y/m/d H:i")."|".stripslashes(htmlspecialchars($_POST['message'])) . "\n";
            if( ! 
    $fp fopen($text_file,"a") )
                echo 
    "Cannot open " $text_file "! Check the file rights."
            if( 
    flock$fpLOCK_EX ) )
            {
                
    fwrite$fp,$new_line );
                
    flock$fpLOCK_UN );
            } else {
                echo 
    "Couldn't lock the file " $text_file "!";
            }
            
    header("Location: " $referer_url );
        }
        
        function 
    show_shoutbox($height 250,$width 150,$per_page 5$border="border:1px #000000 solid;"$font_family="verdana",$font_size=11)
        {
            
            if( isset( 
    $_GET['shoutbox_page'] ) )
                
    $shoutbox_page $_GET['shoutbox_page'];
                
        
            if( empty( 
    $_GET['shoutbox_page'] ) )
                
    $shoutbox_page 1;

            
            
    $file $GLOBALS['text_file'];
            
            
            if( ! 
    $fp = @fopen$file"r" ) )
            {
                echo 
    "Text-Datenbank für die Shoutbox kann nicht geöffnet werden!";
                exit; 
            }
            
            
            
    $output_buffer "";
            
    $shouts = array();
            
            
            if( 
    filesize($file) )
            {
                
                
    $fp            fread$fpfilesize$file ) );
                
                
    $shouts        explode("\n",$fp);
                
                
    $total_shouts  count($shouts);
                
                
    $total_pages   ceil($total_shouts/$per_page);
                
                
    $shout_pointer = (($total_shouts  - ($shoutbox_page $per_page))+$per_page)-1;

                
                if( 
    $shoutbox_page $total_pages )
                    
    $shoutbox_page 1;

                
                
    $output_buffer .= page_numbers$total_pages $shoutbox_page );
            }
        
            else
            {
                
    $shouts         0;
                
    $total_shouts   0;
                
    $shout_pointer  0;
                
    $output_buffer .= page_numbers);
            }

            
            for( 
    $i $shout_pointer $i > ($shout_pointer-$per_page); $i-- )
            {
                
                if( 
    $i > -)
                {
                    
                    if( 
    $shouts[$i] )
                        list( 
    $name$email$date$shout ) = explode("|",$shouts[$i]);
                        
                    
                    if( !empty( 
    $name ) )
                    {
                        
                        
    $email_start "";
                        
    $email_end   "";
                        
                        if( ! empty( 
    $email ) )
                        {
                            
    $email_start "<a href=\"mailto:" $email "\">";
                            
    $email_end   "</a>";
                        }
                        
                        
    $output_buffer  .= "<strong>" $email_start $name $email_end "</strong>\n<br />" $shout "<br /><br />";
                    }
                }
            }
            
    ?>
                <table style="width:<?=$width;?>;">
                    <form method="post" action="<?=$GLOBALS['shoutbox_url'];?>?action=add">
                    <tr><td align="center" style="font-family:<?=$font_family;?>; font-size:<?=$font_size;?>px;"></td></tr>
                    <tr>
                        <td background="shoutboxbg.jpg">
                            <div style="<?=$border;?> font-family:<?=$font_family;?>; color:#FFFFFF; font-size:<?=$font_size;?>px; height:<?=$height;?>; overflow:auto; padding:3px; width:100%;">
                                <?=$output_buffer;?>
                            </div>
                        </td>
                    </tr>
                    <tr>
                        <td>
                            <input type="text" name="name" value="Name" style="<?=$border;?> font-family:<?=$font_family;?>; font-size:<?=$font_size;?>px; width:100%;" onfocus="this.select();"><br />
                            <input type="text" name="email" value="Email" style="<?=$border;?> font-family:<?=$font_family;?>; font-size:<?=$font_size;?>px; width:100%;" onfocus="this.select();"><br />
                            <input type="text" name="message" value="Nachricht" style="<?=$border;?> font-family:<?=$font_family;?>; font-size:<?=$font_size;?>px;    width:100%;" onfocus="this.select();"><br />
                        </td>
                    </tr>
                    <tr>
                        <td align="center">
                            <input type="submit" value="Absenden" style="color: #FFFFFF; border: 1px solid #FFFFFF; background-color: #000000" font-family:<?=$font_family;?>; font-size:<?=$font_size;?>px;"><br />
                            
                        </td>
                    </tr>
                </table>
            <?php
        
    }
        
        function 
    page_numbers($total_pages,$current 1)
        {
            
            
    $url_bar $_SERVER['PHP_SELF']. "?" $_SERVER['QUERY_STRING'];
            
            
            
    $url_bar preg_replace"/(&shoutbox_page=[1-9]+)/",""$url_bar );
            
            
            
    $buffer  "<div align=\"center\">Seite: <select onchange=\"javascript: location.href='" $url_bar "&amp;shoutbox_page='+this.value;\" style=\"font-family: verdana; font-size: 10px;\">\n";
            
        
            for( 
    $i $i <=    $total_pages $i++ )
            {
                
                
    $selected "";
                
                if( 
    $current == $i )
                    
    $selected "selected=\"selected\"";
                
                
    $buffer .= "<option value=\"".$i."\"" $selected ">".$i."</option>\n";
            }
            
            
    $buffer .= "</select></div><hr size=\"1\">\n";
            
        
            return 
    $buffer;
        }
        
        
        
    show_shoutbox();
    ?>

  • #2
    1. http://www.php-resource.de/forum/sho...threadid=50454
    2. http://php.net/wordwrap - was ist daran unklar?

    Kommentar


    • #3
      hach..

      Was daran unklar ist? was heisst cut auf 1? woran erkenn ich das..etc.
      Sorry, hab mir das Einleitungsboard nicht durchgelesen...dachte halt, es ist für einen coder nicht so ein sonderliches Problem, dass einzubauen...
      mir fehlt einfach die Logik für das Ganze.

      Kommentar


      • #4
        Re: hach..

        Original geschrieben von sPiNcH
        Sorry, hab mir das Einleitungsboard nicht durchgelesen...
        deinen beitrag editierst du bitte trotzdem entsprechend.
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar


        • #5
          Re: hach..

          Original geschrieben von sPiNcH
          Was daran unklar ist? was heisst cut auf 1? woran erkenn ich das..etc.
          Steht cut auf 1, wird der String immer an der vorgegebenen Länge umgebrochen.
          Ist ein Wort also länger als die gegebene Länge, wird der Zeilumbruch auch innerhalb des Wortes eingefügt
          (siehe zweites Beispiel bei php.net).
          mfg
          marc75

          <Platz für anderes>

          Kommentar

          Lädt...
          X