Ankündigung

Einklappen
Keine Ankündigung bisher.

PHP-Ausgaben mit CSS formatieren

Einklappen

Neue Werbung 2019

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

  • PHP-Ausgaben mit CSS formatieren

    Zunächst allen einen schönen guten Abend und ein nettes Hallo. Ich habe mich neu angemeldet, also sozusagen noch ganz unverbraucht

    Da falle ich auch schon mit der Tür ins Haus. Sicher wird mir jetzt jemand sagen "benutz die Suchfunktion", aber ehrlich gesagt, ich weiß nicht recht wie und was ich suchen soll, bin bei google schon gescheitert.

    Folgendes Problem: Ich habe ein ganz normales Formular, deren Inhalte (Name, E-Mail Adresse und Text) in eine Textdatei gespeichert werden sollen. Realisiert habe ich das so:

    PHP-Code:
    <?php
    {
        
    $handle fopen "daten.txt""a" );
        
    fwrite $handle$_GET ['name']);
        
    fwrite $handle"\n<br>" );
        
    fwrite $handle$_GET ['email']);
        
    fwrite $handle"\n<br>" );
        
    fwrite $handle$_GET ['nachricht']);
        
    fwrite $handle"\n<br><hr>" );
        
    fclose $handle );
        exit;
    }
    ?>
    Jetzt soll die "daten.txt" ausgelesen werden, das mache ich so:

    PHP-Code:
    <?php
    if (is_readable('daten.txt'))
    echo 
    implode("
    \n"
    file ('daten.txt'));
    ?>
    Funktioniert auch. Toll, allerdings kann ich den ausgegebenen Text nicht mit css beeinflussen. Irgendwie weigert sich die Ausgabe meine ganzen Versuche mal zu honorieren. Ich möchte die Zeilen gerne mit unterschiedlichen Schriftgrößen und mit einem anderen Hintergrund ausgeben.

    Wer das ganze mal life probieren möchte, hir ist der Link zu meiner Bastelage:
    http://www.fotoreferenzen.de/gaestebuch/

    Ich befürchte, ich habe irgendwo einen Denkfehler, komme aber nicht drauf. Irgendwie müssten die ausgegebenen Zeilen sicher einzeln angesprochen werden, so dass ich sie formatieren kann. Ich gebe aber die komplette Datei aus. Hängt das damit zusammen?

    Danke schön im Voraus


  • #2
    Moin, du kannst ja mal versuchen die einzelnen Zeilen erst in ein Array zu laden.
    Danach kannst du dann über das Array iterieren / gezielt aufs Element zugreifen, und das Markup deiner Wahl mit ausgeben.
    Relax, you're doing fine.
    RTFM | php.de Wissenssammlung | Datenbankindizes | Dateien in der DB?

    Kommentar


    • #3
      Achso, also müsste ich jede Zeile (Name, E-Mail Adresse und Text) einzeln in ein Array auslesen? Habe ich das so richtig verstanden?

      Kommentar


      • #4
        Wäre das so richtig geschrieben?

        PHP-Code:
        <?php
        {
            
        $handle fopen "daten.txt""a" );
            
        $daten = array();
            
        $daten fwrite $handle$_GET ['name']);]
            
        fwrite $handle"\n<br>" );
            
        $daten fwrite $handle$_GET ['email']);]
            
        fwrite $handle"\n<br>" );
            
        $daten fwrite $handle$_GET ['nachricht']); ]
            
        fwrite $handle"\n<br><hr>" );
            
        fclose $handle );
            exit;
        }
        ?>

        Kommentar


        • #5
          Du könntest die Daten als CSV speichern, mit einem sinnvollen Trenner der dann nicht im Text auftauchen darf:
          Code:
          Max Mustermann|max@mustermann|Hallo wie gehts!
          Maxima Musterfrau|maxi@musterfrau|Wollte nur mal Grüße hier lasssen!
          - mt file() in einen Array lesen
          - Array durchlaufen
          - einzelne Zeilen aufsplitten
          - formatiert ausgeben
          PHP-Code:
          $lines file(...);

          foreach (
          $lines as $line) {
              
          $parts explode('|'$line);
              echo 
          '<h3>'.$parts[0].'</h3>';
              echo 
          '<span style="font-style: italic">'.$parts[1].'</span>';
              echo 
          '<p>'.$parts[2].'</p>';

          Irgendwie so nur besser Um CSV-Dateien auszulesen gibt's PHP-Funktionen.

          Kommentar


          • #6
            hmm, das wird aber ganz schön kompliziert. Ich glaube, ich bin etwas zu blauäugig da ran gegangen

            Kommentar


            • #7
              Jetzt funktioniert irgendwie gar nichts mehr, die Seite bleibt schneeweiß... Habe ich die arrays falsch eingebaut?
              PHP-Code:
               <?php
              {
                  
              $handle fopen "daten.txt""a" );
                  
              $daten = array();
                  
              $daten fwrite $handle$_GET ['name']);]
                  
              fwrite $handle"\n<br>" );
                  
              $daten fwrite $handle$_GET ['email']);]
                  
              fwrite $handle"\n<br>" );
                  
              $daten fwrite $handle$_GET ['nachricht']); ]
                  
              fwrite $handle"\n<br><hr>" );
                  
              fclose $handle );
                  exit;
              }
              ?>

              Kommentar


              • #8
                Ja hast du.
                Das ist auch die falsche Stelle für das Array.
                PHP-Code:
                <?php 
                if (is_readable('daten.txt')) 
                echo 
                implode(
                \n"
                file ('daten.txt')); 
                ?>
                Meine Idee wäre da anzusetzen.

                Übrigens, in meiner Signatur siehst du, wie du das Error-Reporting und die Fehleranzeige einschaltest. Immer nützlich um an Fehlermeldungen zu kommen und präzisere Aussagen treffen zu können.
                Relax, you're doing fine.
                RTFM | php.de Wissenssammlung | Datenbankindizes | Dateien in der DB?

                Kommentar


                • #9
                  Ok, danke. Wo wäre denn die richtige Stelle für das oder die arrays?

                  Kommentar

                  Lädt...
                  X