Ankündigung

Einklappen
Keine Ankündigung bisher.

Form Datenausgabe in eine .txt

Einklappen

Neue Werbung 2019

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

  • Form Datenausgabe in eine .txt

    Hallo zusammen,
    ich habe eine Idee für ein kleines Projekt von mir.
    Und zwar möchte ich auf meinem Webspace einen kleinen Bereich einbinden, wo ich 3 Textfelder habe und eine Tabelle.
    In die Textfelder wollte ich dann eine URL, ein Anzeigetext und eine Kategorie hineinschreiben. Diese Eingaben sollen dann in einer Datei gespeichert werden und in der Tabelle ausgegeben werden.
    Es soll ein Linksammler werden, wo ich während ich auf der Arbeit bin, interessante Links abspeichern kann.

    Code:
    <body>
       <div class="container">
       <div class="bs-example">
    <table class="table table-striped">
    <thead>
    <tr>
    <th>#</th>
    <th>Text</th>
    <th>Kategorie</th>
    </tr>
    </thead>
    <tbody>
    <tr>
    <td>1</td>
    <td><a href="#">Das ist ein Aussagekräftiger Text für einen Link</a></td>
    <td>Html, CSS</td>
    </tr>
    <tr>
    <td>2</td>
    <td><a href="#">Das ist auch ein Aussagekräftiger Text für einen Link</a></td>
    <td>CSS</td>
    </tr>
    <tr>
    <td>3</td>
    <td><a href="#">Das ist noch ein Aussagekräftiger Text für einen Link</a></td>
    <td>Html</td>
    </tr>
    </tbody>
    </table>
    </div>
    
    <?php
    if( file_exists('links.txt') ) {
    readfile('links.txt');
    }
    else {
    print '<p>Wir haben bisher keine Links gesammelt.</p>';
    }
    ?>
    
    <form action="function.php" method="post" class="form-horizontal" role="form">
     <div class="form-group">
       <label for="inputEmail3" class="col-sm-1 control-label">URL</label>
       <div class="col-sm-11">
         <input type="text" class="form-control" name="url" placeholder="URL">
       </div>
     </div>
     <div class="form-group">
       <label for="inputPassword3" class="col-sm-1 control-label">Text</label>
       <div class="col-sm-11">
         <input type="text" class="form-control" name="text" placeholder="Text">
       </div>
     </div>
     <div class="form-group">
       <label for="inputPassword3" class="col-sm-1 control-label">Kategorie</label>
       <div class="col-sm-11">
         <input type="text" class="form-control" name="kategorie" placeholder="Kategorie">
       </div>
     </div>
    <button type="submit" class="pull-right btn btn-default">Speichern</button>
    </form>
    </div>
      </body>
    PHP-Code:
    <?php
    $url 
    $_POST['url'];
    $text $_POST['text'];
    $kategorie $_POST['kategorie'];
    $f fopen('links.txt''a');
    fwrite($f"<table>");
    fwrite($f"<p>$url</p><hr>");
    fwrite($f"<p>$text</p><hr>");
    fwrite($f"<p>$kategorie</p><hr>");
    fwrite($f"</table>");
    fclose($f);
    header('location:index.php');
    ?>

    Soweit so gut.
    Was ich bisher habe ist folgendes:
    - Ein Formular, welches eine .txt ausgibt
    - Dieses .txt ist gefüllt mit meinen Angaben in einem <p> Tag

    Was ich erreichen möchte:
    - Der Output soll in der Tabelle erscheinen / in den richtigen Spalten
    - (Optional) Die Tabelle soll anhand der Kategorien sortierbar sein
    - (Optional) Einzelne Zeilen sollten sich löschen lassen

    Kann mir jemand Anhaltspunkte nennen, welche ich ergoogle'n kann?

    Vielen Lieben Dank.

  • #2
    Hallo,

    zu deinen Fragen was du erreichen willst:
    * Du erstellst / gibst eine neue Tabelle aus - dann gib nur eine <tr> mit entsprechenden <td>'s aus um nur eine neue Zeile zu erzeugen!
    * Was ist hier konkret deine Frage? Link auf den Spaltennamen, Parameter falls geklickt verarbeiten und via PHP sortieren. Dabei wäre es villeicht leichter wenn du die Daten in einer Datenbank statt in Textdateien speichern würdest.
    * In wiefern löschen lassen? Für einzelne Zeilen oder für alle?
    Gruß,
    SebTM

    Kommentar


    • #3
      Hey,

      manchmal kommt man auf die einfachste Lösung nicht. Es hat geklappt mit der Tabelle. Danke dafür.

      Benutzt habe ich folgende Lösung:
      PHP-Code:
      <?php
      $url 
      $_POST['url'];
      $text $_POST['text'];
      $kategorie $_POST['kategorie'];
      $f fopen('links.txt''a');
      fwrite($f"<tr><td><a target='_blank' href='$url'>$text</a></td><td>$kategorie</td></tr>");
      fclose($f);
      header('location:index.php');
      ?>
      Zu den anderen Punkten:
      - Die konkrete Frage ist: Nach welchen Stichpunkten muss ich bei Google recherchieren, wenn ich die Einträge nach den Kategorien sortieren möchte. (Beispiel: Ich klicke auf "HTML" und die Tabelle sortiert alle Einträge so, dass die Einträge mit der Kategorie "HTML" oben stehen)

      - Mit löschen meinte ich, dass ich am Ende einer Zeile ein Button / Icon habe, welchen ich anklicken kann und die gesamte Zeile gelöscht wird. (Sprich, der gesamte Eintrag)

      - Ebenso fällt mir ein, dass es nützlich wäre, wenn man eine Zeile auch editieren könnte, falls man sich verschrieben hat. Ist aber nicht umbedingt notwendig, da man die Zeile löschen könnte und sie in richtiger Form nochmal eintragen könnte.

      Ich wollte gezielt keine Datenbank verwenden, da ich es so einfach wie möglich halten wollte. Falls irgendwelche features nicht realisierbar sind, dann klärt mich bitte auf.
      Ich hatte es vergessen zu erwähnen, aber ich bin Neuling im Bereich PHP.

      Danke nochmal SebTM

      LG Nerdkowski

      Kommentar

      Lädt...
      X