kostenloser Webspace werbefrei: lima-city


TXT Dateien Online bearbeiten

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    druckertinte

    druckertinte hat kostenlosen Webspace.

    bei meiner neuen homepage habe ich den inhalt jeder datei seperat in je eine txt datei geschrieben. nun will ich diese bearbeiten, falls ich mal irgendwo bin und schnell den inhalt meiner seite bearbeiten muss.

    ich habe dieses php code benutzt
    <?php
    $datei = fopen("../includes/index.txt","r+");
    $inhalt = fgets($datei, 100000);
    
    $page == $_POST["page"];
    $inhalt == $_POST["inhalt"];
    
    if ($page == "")
      {
      echo '<form action="indexedit.php" method="POST"><input type="text" value="'.$inhalt.'" name="inhalt" style="width: 100%; height: 100%;"><input type="hidden" name="page" value="edit"></form>';
      } 
    
    if ($page == "edit")
      {
    rewind($datei);
    fwrite($datei, $inhalt);
      }
    
    fclose($datei);
    
    ?>


    mein problem:
    entweder editiert er die datei gar nicht oder er schreibt das gleiche rein, wie vorher drinnstand.
    weiß einer eine lösung?

    EDIT: datei ist vorhanden und CHMOD auf 777

    Beitrag zuletzt geändert: 27.7.2009 16:08:22 von druckertinte
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

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

  3. druckertinte schrieb:
    bei meiner neuen homepage habe ich den inhalt jeder datei seperat in je eine txt datei geschrieben. nun will ich diese bearbeiten, falls ich mal irgendwo bin und schnell den inhalt meiner seite bearbeiten muss.


    Kann jetzt auf den ersten Blick auch keinen offensichtlichen Fehler entdecken.
    Aber um Deine Seite online zu editieren empfehle ich Dir das hier:
    http://www.dodwin.de/projects/ofesys/
  4. Hi,

    ungetestet sehe ich hier 2 Probleme:

    $page == $_POST["page"];
    $inhalt == $_POST["inhalt"];

    solte wohl eher lauten
    $page = $_POST["page"];
    $inhalt = $_POST["inhalt"];

    wobei
    $inhalt = $_POST["inhalt"];

    in die if ($page == "edit") - Bedingung gehört, damit das Textfled nicht leer bleibt.

    Insgeamt würde ich also mal folgendes versuchen:

    <?php
    $datei = fopen("../includes/index.txt","r+");
    $inhalt = fgets($datei, 100000);
    
    $page = $_POST["page"];
    
    if ($page == "")
      {
      echo '<form action="indexedit.php" method="POST"><input type="text" value="'.$inhalt.'" name="inhalt" style="width: 100%; height: 100%;"><input type="hidden" name="page" value="edit"></form>';
      } 
    
    if ($page == "edit")
      {
    $inhalt = $_POST["inhalt"];
    rewind($datei);
    fwrite($datei, $inhalt);
      }
    
    fclose($datei);
    
    ?>


    Hoffe es funzt
    Manni



  5. Autor dieses Themas

    druckertinte

    druckertinte hat kostenlosen Webspace.

    bandi999 schrieb:
    Hi,

    ungetestet sehe ich hier 2 Probleme:

    $page == $_POST["page"];
    $inhalt == $_POST["inhalt"];

    solte wohl eher lauten
    $page = $_POST["page"];
    $inhalt = $_POST["inhalt"];

    wobei
    $inhalt = $_POST["inhalt"];

    in die if ($page == "edit") - Bedingung gehört, damit das Textfled nicht leer bleibt.

    Insgeamt würde ich also mal folgendes versuchen:

    <?php
    $datei = fopen("../includes/index.txt","r+");
    $inhalt = fgets($datei, 100000);
    
    $page = $_POST["page"];
    
    if ($page == "")
      {
      echo '<form action="indexedit.php" method="POST"><input type="text" value="'.$inhalt.'" name="inhalt" style="width: 100%; height: 100%;"><input type="hidden" name="page" value="edit"></form>';
      } 
    
    if ($page == "edit")
      {
    $inhalt = $_POST["inhalt"];
    rewind($datei);
    fwrite($datei, $inhalt);
      }
    
    fclose($datei);
    
    ?>


    Hoffe es funzt
    Manni






    thx es funzt!
    ich habe nur noch ein problem:
    wenn auf der seite vorher blabla steht und ich es in haha änder will steht da hahala.
    ich müsste die txt date also vorher leeren, aber wie mach ich das?
  6. na ja. es ist fast zwei wochen her, dass ich da gepostet habe und jetzt noch ein letztes mal, weil es doch einige leute interessiert, von denen nicht alle das rad unbedingt neu erfinden wollen ;o)

    hier ist es zu sehen:
    http://czibere.lima-city.de/forum/davy/example.php
    einfach auf die kleingedruckte texte klicken und editieren und ... wunder an wunder: es funktioniert!

    und hier downloadbar:
    http://www.phpclasses.org/browse/package/2801.html

    (mann muss ganz sicher sein, dass das rad noch runder wird! sonst ist die ganze zeit im a... ja und von fremden zu lernen ist auch keine schande :o)
  7. Hi,

    druckertinte schrieb:
    thx es funzt!
    ich habe nur noch ein problem:
    wenn auf der seite vorher blabla steht und ich es in haha änder will steht da hahala.
    ich müsste die txt date also vorher leeren, aber wie mach ich das?


    du kannst mal versuchen anstatt von rewind($datei) ftruncate($datei,0) zu schreiben.
    Damit wird die Dateilänge 0.

    Ebenfalls ungetestet und gefunden mit GOOGLE unter

    http://de2.php.net/manual/de/function.ftruncate.php

    Gruß
    Manni
  8. Autor dieses Themas

    druckertinte

    druckertinte hat kostenlosen Webspace.

    Problem gelöst.
    ich hab jetzt statt r+ w+. funkt alles super!
  9. Öffne die Datei doch mit
    fopen(datei, "w");
    dann wird sie automatisch geleert.
    Wenn sie angezeigt werden soll, probiers mit
    file_get_contents("DATEI.txt");
  10. Autor dieses Themas

    druckertinte

    druckertinte hat kostenlosen Webspace.

    r2d2-aeg schrieb:
    Öffne die Datei doch mit
    fopen(datei, "w");
    dann wird sie automatisch geleert.
    Wenn sie angezeigt werden soll, probiers mit
    file_get_contents("DATEI.txt");


    sihe über dir.
    w würde aber nicht funktionieren da ich dann nicht schreiben könnte, also w+
  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!