kostenloser Webspace werbefrei: lima-city


daten in txt datei speichern

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    himynameischris

    Kostenloser Webspace von himynameischris, auf Homepage erstellen warten

    himynameischris hat kostenlosen Webspace.

    hallo
    ich würd gerne die daten aus einem formular in eine txt datei speichern, und dann in einer anderen datei auslesen.
    leider hab ich von PHP so gut wie keine Ahnung, also wenn mir jemand sagen könnte, wie das geht, wäre das super.
    aber bitte so, dass ich auch es verstehen kann :biggrin:

    mfg
    chris
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. ja eigentlich ganz einfach. Klick mit der rechten Maustaste auf die Datei . Öffnen mit und dann Editor. Im Editor, Datei speichern unter und dann txt datei auswählen. Speicher und fertigg
  4. d***********a


    ja eigentlich ganz einfach. Klick mit der rechten Maustaste auf die Datei . Öffnen mit und dann Editor. Im Editor, Datei speichern unter und dann txt datei auswählen. Speicher und fertigg

    NEIN, so was das sicher nicht gemeint. Was meinst du, warum wir hier im PHP & MySQL - Forum sind ? Dass die Dateien dann per Editor verändert werden ?!

    @himynameischris:

    Ich hab dir hier mal ein Minimalpacket \'geschnürt\', es besteht aus 4 Dateien:

    Die Textdatei, in der der Inhalt ist, hier inhalt.txt:
    Hier der Inhalt


    Eine Datei, die das Formular beinhaltet, wo du eingibst, was gespeichert werden soll (formular.php) :
    <form name=\"form\" action=\"schreiben.php\" method=\"get\">
    <input name=\"eintrag\" type=\"text\" value=\"Hier der Text\" />
    <input type=\"submit\" value=\"Los !\" />
    </form>


    Dann eine Datein, namens \'lesen.php\', die dir den Inhalt aus der inhalt.txt wieder ausließt:
    <?php
    $datei = fopen(\"inhalt.txt\",\"r\");
    $inhalt = true;
    while ($inhalt) {
    $inhalt = fgets($datei);
    echo nl2br($inhalt);
    }
    fclose($datei);
    ?>

    In diesem Beispiel wird absichtlich jede Zeile einzeln eingelesen und geschrieben, da so jede Zeile noch modifiziert werden kann :)
    [fgets ließt nur 1 Zeile]

    Und schließlich eine \'schreiben.php\', die den Inhalt, der ihr von der formular.php geschickt wird, in die Datei schreibt:
    <?php
    $eintrag = $_GET[\"eintrag\"];
    
    $datei = fopen(\"inhalt.txt\",\"w\");
    fwrite($datei,$eintrag);
    fclose($datei);
    ?>

    Die Datei inhalt.txt wird vor dem Beschreiben allerdings geleert ! Willst du Inhalt hinzufügen, muss statt dem \"w\" ein \"a\" geschrieben werden, also so : fopen(\"inhalt.txt\",\"a\")

    Ich hoffe, das war verständlich genug !
    Für weitere Infos empfehle ich http://www.selfphp.de/

    mfg dapizzafressa

    PS: ACHTUNG BEI MEINEM BEISPIEL: ES IST NICHT (!!!) DAZU GEEIGNET, ES ÖFFENTLICH IM NETZ LAUFEN ZU LASSEN. DAZU MUSST DU VORHER DIE EINGABEN, DIE IN DIE inhalt.txt GESCHRIEBEN WERDEN GEFILTERT WERDEN, SO DASS KEIN JavaScript UND SONSTIGES GESCHRIEBEN WERDEN KANN !!!
  5. Autor dieses Themas

    himynameischris

    Kostenloser Webspace von himynameischris, auf Homepage erstellen warten

    himynameischris hat kostenlosen Webspace.

    thx vielmals.
    echt verständlich erklärt.
    ich werds gleich mal ausprobieren. danke

    eine frage hab ich noch:
    kann die textdatei auch in der gleichen php-datei ausgelesen, in der geschrieben wird?


    mfg
    chris


    Beitrag geändert: 22.12.2007 9:40:34 von himynameischris
  6. d***********a

    Du meinst, ob du mit EINER PHP-Datei gleichzeitig lesen und schreiben kannst ?
    Natürlich geht das !
    Du musst dazu halt einfach per GET Infos mit übergeben (das GET ist das, was da oben in der Adressleiste noch hinter dem Dateinamen \'dranhängt\'. (z.B ...&id=612263)

    Du öffnest deine Datei z.B. statt mit lesen.php mit lesen.php?action=write

    Und dann holst du dir in PHP den Wert nach dem Istgleich:
    $action = $_GET[\"action\"];

    und dann überprüfst du:

    if ($action == \"write\") {
    // Hier der Code, der in die Datei schreibt. Du darst allerdings nicht vergessen, das, was eingetragen wird, auch mit zu übergeben!
    }
    elseif ($action == \"insert\") {
    // Hier z.B. das Formular (z.B.: echo \"  \"
    }
    else {
    // Hier nun der Code, der den Inhalt ausließt
    }
    }


    So wird nun in die Datei geschrieben, sobald du dem action ein write zuweißt, gelesen wird, wenn action nicht write und auch nicht insert ist. Ist action gleich insert, dann wird das Formular angezeigt.


    Aber wie schon gesagt, du musst die Eingaben noch ausfiltern.
    z.Z. besteht die Möglichkeit, ohne Probleme HTML auszuführen (JS & CO natürlich auch). Das bringt ein Sicherheitsrisiko !
    -> Mit z.B. den PHP-Funktionen htmlentities() und htmlspecialchars() ausfiltern.

    mfg dapizzafressa


    PS: Hoffe geholfen zu haben :)


    Beitrag geändert: 22.12.2007 9:52:20 von dapizzafressa
  7. Autor dieses Themas

    himynameischris

    Kostenloser Webspace von himynameischris, auf Homepage erstellen warten

    himynameischris hat kostenlosen Webspace.

    und mit welchem befehl kann ich dann den inhalt aus der datei anzeigen?
    i-wie hab ich das gefühl, dass das eine dumme frage ist :biggrin:
    EDIT:
    hat sich erledigt.
    aber eine frage hab ich immer noch:
    wie kann ich denn mehrere zeilen auslesen lassen?

    Beitrag geändert: 22.12.2007 9:47:51 von himynameischris


    Beitrag geändert: 22.12.2007 9:53:02 von himynameischris
  8. d***********a


    und mit welchem befehl kann ich dann den inhalt aus der datei anzeigen?
    i-wie hab ich das gefühl, dass das eine dumme frage ist :biggrin:
    EDIT:
    hat sich erledigt.
    aber eine frage hab ich immer noch:
    wie kann ich denn mehrere zeilen auslesen lassen?

    Mehrere Zeilen ?!
    Mein Code, aus dem ersten Beitrag von mir, liest doch sämtliche Zeilen aus !
    Wenn du mehrere Zeilen schreiben willst, dann musst du halt ein mehrzeiliges Edit erstellen. Gelesen wird die ganze Datei ! Und dann Zeile für Zeile ausgegeben :biggrin:


    Beitrag geändert: 22.12.2007 10:02:40 von dapizzafressa
  9. Es wäre vielleicht noch gut gewesen, wenn du beim Erstellen des Threads auch noch den Zweck des Scripts angegeben hättest. Wenn du z.b. ein Gästebuch oder ein News-System auf Datei-basis haben willst, hätte man dir u.a. folgendes Tutorial empfehlen können.
    http://php-einfach.de/tuts_php_gb.php
  10. Autor dieses Themas

    himynameischris

    Kostenloser Webspace von himynameischris, auf Homepage erstellen warten

    himynameischris hat kostenlosen Webspace.

    kann ich ja jetzt noch machen :biggrin:

    ich habe ja vor kurzem diese seite erstellt:
    http://notfall-suche.lima-city.de
    und da will ich jetzt, dass die letzten z.b. 10 Suchbegriffe gespeichert werden, und angezeigt werden.

    ich wollt nur mal wissen, wie ich das da umsetzen kann. ob ichs dann auch wirklich einbaue, sei auch mal dahingestellt, da es wahrscheinlich nicht unbedingt sinnvoll ist.


    mfg
    chris
  11. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!