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

  • [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 ^^.[/


  • #2
    Hallo Jeffry, Willkommnen im Forum.

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

    „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
    Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


    --

    Kommentar


    • #3
      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

      Kommentar


      • #4
        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.
        --

        „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
        Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


        --

        Kommentar


        • #5
          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
          "Nobody is as smart as everybody" - Kevin Kelly
          — The best things in life aren't things

          Kommentar


          • #6
            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 ^^

            Kommentar


            • #7
              [mod: Anschlussfrage hierher verschoben]
              --

              „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
              Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


              --

              Kommentar

              Lädt...
              X