Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] nl2br() verursacht ganz viele Zeilenumbrüche

Einklappen

Neue Werbung 2019

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

  • Jeffry
    hat ein Thema erstellt [Erledigt] nl2br() verursacht ganz viele Zeilenumbrüche.

    [Erledigt] nl2br() verursacht ganz viele Zeilenumbrüche

    Hallo zussamen.
    Ich bin grade dabei mir Grundkenntnisse im Thema PHP anzueigenen und befinde mich momentan beim Punkt "Dateien".
    Ich habe versucht ein Textdateibasierendes Gästebuch zu Programmieren was auch gut klappt.
    Der einzige Fehler den ich nicht finde ist folgender:
    Zwischen jedem Gästebucheintrag sind ca. 10 Zeilenumbrüche aufgrund des Befehls nl2br(). Wenn ich diesesn Befehl weglasse sind die Zeilenumbrüche zwischen den Einträgen zwar weg, allerdings auch die Zeilenumbrüche im Post.
    Könnt ihr mir vlt. sagen woran es liegt, dass nl2br() so viele Zeilenumbrüche zwischen den Einträgen erzeugt?

    link: http://www.slikk.de/jeff/gdf/index.php"]http://www.slikk.de/jeff/gdf/index.php

    Hier der Code schreiben.php:
    PHP-Code:
    <?php
    include("session_variabel.php");
    include(
    "errormsg.php");
     
    if(!
    $inhalt_number)
    {
    $inhalt_number 0;
    }
     
     
    $eintragname "posts.txt";
    $eintragnummer "numbers.txt";
    function 
    postdatei_erstellen(){
    global 
    $eintragname;
        if(!
    file_exists($eintragname))
        {
        
    touch($eintragname);
        
    chmod("$eintragname",0777);
        }
    }
    function 
    eintragsdatei_erstellen(){
    global 
    $eintragnummer;
        if(!
    file_exists($eintragnummer))
        {
        
    $anfangswert 0;
        
    touch($eintragnummer);
        
    chmod("$eintragnummer",0777);
        
    $zeiger fopen("$eintragnummer","r+");
        
    fwrite($zeiger,$anfangswert);
        
    fclose($zeiger);
        }
    }
    echo 
    postdatei_erstellen();
    echo 
    eintragsdatei_erstellen();
     
    if(
    $errormsg == "" && isset($name) && isset($email) && isset($text))
     {
       
    $datum date("d.m.Y");
       
    $uhrzeit =  date("H:i");
     
    $open = array("$datei""$datei_nummer");
       if(
    is_writable($eintragname))
      {
     
    $open[0] = fopen("$eintragname","r");
     
    $inhalt fread($open[0],9999);
     
    fclose($open[0]);
      }
      else
      {
      echo 
    "<p align='center'><font color='red'> Kann Datei ".$eintragname." nicht &ouml;ffnen</font><br>";
      }
      if(
    is_writable($eintragnummer))
      {
     
    $open[1] = fopen("$eintragnummer","r");
     
    $inhalt_nummer fgets($open[1],6);
     
    fclose($open[1]);
     
    settype($inhalt_nummer"integer");
     if(
    is_int($inhalt_nummer))
     {
     
    $inhalt_nummer++;
     
    $open[1] = fopen("$eintragnummer","w");
     
    fwrite($open[1],$inhalt_nummer);
     
    fclose($open[1]);
     }
     else
     {
     echo 
    "Der Z&auml;hlerstand beinhaltet keine Zahl";
     }
      }
      else
      {
      echo 
    "<p align='center'><font color='red'> Kann Datei ".$eintragnummer." nicht &ouml;ffnen</font><br>";
      }
     
    $eintrag="
    <table border=\"1\" align=\"center\" width=\"322\" height=\"128\">
      <tr>
        <td width=\"58\" valign=\"top\" bgcolor=#808080 height=\"19\">#
    $inhalt_nummer</td>
        <td width=\"248\" valign=\"top\" bgcolor=#808080 height=\"19\">
    $datum - $uhrzeit Uhr</td>
      </tr>
      <tr>
        <td width=\"58\" valign=\"top\" bgcolor=#808080 height=\"19\">Name:</td>
        <td width=\"248\" valign=\"top\" bgcolor=#999999 height=\"19\">
    $name</td>
      </tr>
       <tr>
        <td width=\"58\" valign=\"top\" bgcolor=#808080 height=\"19\">eMail:</td>
        <td width=\"248\" valign=\"top\" bgcolor=#999999 height=\"19\">
    $email</td>
      </tr>
      <tr>
        <td width=\"58\" bgcolor=#808080 height=\"78\" valign=\"top\">Text:</td>
        <td width=\"248\" bgcolor=#999999 height=\"78\" valign=\"top\">
    $text</td>
      </tr></table>
    <br>"
    ;
     
    $neuer_inhalt stripslashes(nl2br($eintrag)).$inhalt;
    $datei fopen("$eintragname","w");
    fwrite($datei,$neuer_inhalt);
    fclose($datei);
    die(
    "<p align='center'>Eintrag wurde erstellt. <u><a href='index.php'>hier</a></u> klicken um zum Gästebuch zu gelangen</p>");
     }
    else
    {
    echo 
    "<p align='center'><font color='red'>".$errormsg."</font><br>
    <a href='index.php'>zur&uuml;ck</a></p>"
    ;
    }
    ?>
    Ich weiß das man das alles auch kürzer fassen kann aber wie gesagt, ich bin in der lernt phase und deswegen mag es für euch "profis" sicher wie "wirrwarr" aussehen ^^.[/

  • nikosch
    antwortet
    [mod: Anschlussfrage hierher verschoben]

    Einen Kommentar schreiben:


  • Jeffry
    antwortet
    Vielen Dank ihr 2.
    Na da sitze ich 3 stunden da rum und such den fehler und dann ist es sowas einfaches ^^
    Jetzt funktioniert es.
    vielen lieben dank ^^

    Einen Kommentar schreiben:


  • phpdummi
    antwortet
    Ich habe das Formular gerade getestet und bei mir wird alles wie erwartet angezeigt.

    Du wendest nl2br() auch auf $eintrag an, sollte es nicht $text sein.


    ... zu langsam

    Einen Kommentar schreiben:


  • nikosch
    antwortet
    Du mußt dieses Konstrukt
    stripslashes(nl2br(
    auf alle einzelnen Einträge (Variablen wie $email, $text) anwenden, nicht auf die html Struktur. Sonst wird hinter jedes <table>, <tr>, <br> etc. noch ein <br /> geschrieben.

    Einen Kommentar schreiben:


  • Jeffry
    antwortet
    Zitat von nikosch77-new Beitrag anzeigen
    Hallo Jeffry, Willkommnen im Forum.

    Ohne Code oder einen Link auf die Problemseite bleibt die Frage zu abstrakt um sie hinreichend zu beantworten.
    hallo ^^
    wow, danke für die shcnelle antwort ^^
    irgendwie wird der grade net angezeigt ^^
    moment bitte

    Einen Kommentar schreiben:


  • nikosch
    antwortet
    Hallo Jeffry, Willkommnen im Forum.

    Ohne Code oder einen Link auf die Problemseite bleibt die Frage zu abstrakt um sie hinreichend zu beantworten.

    Einen Kommentar schreiben:

Lädt...
X