Olli: Hilfe ----> .txt datei in Seite einfügen und online editieren

Hi Leute,

nach wochenlanger Suche bin ich immer noch nicht fündig geworden, jetzt gehe ich mal zu den Profis! Also ich brauch folgendes:

Ich will eine .txt Datei auf meiner Page darstellen und anzeigen diese soll einen alphabetischen Ablauf haben, sagen wir A-F .Diese .txt Datei soll für jeden ersichtlich sein, doch über ein Login mit Benutzername und Passwort soll es für bestimmte User möglich sein diese ohne Probleme online zu editieren. Danach wird sie normal aktualisiert und ist somit wieder auf dem neuesten Stand.
Also ne Art Bestandsliste ! Das Problem ist das es 5 Genres sind mit jeweils dem ganzen Alphabet, also alles unter A soll auch unter A, deswegen hab ich schon erleichternd alles unterteilt in 4 Sparten
(a-f ,g-l ,m-q ,r-z)und die .txt Dateien sollen nun online editiert werden.
Kann jemand helfen oder hat jemand ne Idee bzw. Quellcode ?

Wäre super nett!

Thx im voraus Olli

  1. Hi,

    Hi Leute,

    Du hast deinem Thread (HTML) vorangestellt, damit geht es alleine nicht - du mußt serverseitig die txt-Datei schreiben und lesen..

    z.B: mit Perl oder PHP.

    Was davon unterstützt dein Server/kannst du?

    Gruss Sven

    1. Thx für die schnelle Antwort,

      also PhP unterstützt er , aber mit dem scripten hab ich es leider nicht so !
      Eigentlich ist es doch ne ganz simple Sache, ich hab ne Datei die von anderen nach Alphabet online bearbeitet werden soll.
      Aber ich weiß verdammt nochmal nicht wie!

      Gruß Olli und thx

      1. Hi!

        ok. langsam:

        ich gehe davon aus, dass die datei "datei.txt" im selben Verzeichnis liegt:
        Dies ist ein Ausschnitt aus einer Datei z.B: lies_datei.php:

        <hier steht HTML>
        <?php
        $filep = @fopen("datei.txt", "r") or die ("Kann Datei nicht lesen.");
        while ($line = fgets($fp, 1024)):
          echo $line;
        endwhile;
        fclose($fp);
        ?>
        <hier steht HTML>

        Hier wird die Datei zeilenweise eingelesen und dann ausgegeben - kannst du probieren, ob das funktioniert?

        Genaue Erläuterung:

        $filep = @fopen("datei.txt", "r") or die ("Fehler.");
        #datei zum lesen öffnen beim Fehler Abbruch und Ausgabe des Textes

        while ($line = fgets($fp, 1024)):
          echo $line;
        endwhile;

        datei wird zeilenweise gelesen max. 1024 Zeichen je Zeile und der Inhalt ausgegeben

        fclose($fp);
        #schließt die Datei

        Gruss Sven

        1. Hi!

          Halt Fehler von mir!!!

          while ($line = fgets($filep, 1024)):
                               ^^^^^^ das muss da stehen!

          sorry Sven

          1. Danke Dir , ich werde es probieren und mich dann wieder melden!

            Big Thx

            1. Hi Sven ,

              also soweit so gut aber irgendwas funzt da net!
              Aber immerhin schon mehr wie vorher ,thx dafür !

              Warning: Supplied argument is not a valid File-Handle resource in /homepages/46/d30321391/htdocs/liquid/test.php on line 12

              Quellcode:
              <html>
              <head>
              <title>Untitled Document</title>
              <meta http-equiv="Content-Type" content="text/html;

              charset=iso-8859-1">
              </head>

              <?php
              $filep = @fopen("test.txt", "r") or die ("Kann Datei nicht lesen.");
              while ($line = fgets($filep, 1024)):
                echo $line;
              endwhile;
              fclose($fp);
              ?>

              <body bgcolor="#666666" text="#FF6600">
              </body>
              </html>

              1. Hi Olli- wieder mein Fehler!

                fclose($filep);

                ^^^^^^

                ^das sollte dann endlich funkitonieren ;)

                1. Hey Sven ,

                  du bist der GRÖßTe :-))),

                  es funzt !

                  So aber ich muß dich doch nochmal nerven, die .txt Datei kann mann die über ein Login mit Pass und Benutzername auch editieren irgendwie, also online ? Ist das überhaupt möglich ?
                  Wäre super wenn Du da ne Idee hättest ich hab es über sämtliche Scripte schon probiert aber es funzt net, weil ich möchte nur die TXT aktualisieren lassen ohne schnick schnack wie name oder datum auf der TXT ?

                  Thx Olli

                  1. Hi,

                    So aber ich muß dich doch nochmal nerven, die .txt Datei kann mann die über ein Login mit Pass und Benutzername auch editieren irgendwie, also online ? Ist das überhaupt möglich ?
                    Wäre super wenn Du da ne Idee hättest ich hab es über sämtliche Scripte schon probiert aber es funzt net, weil ich möchte nur die TXT aktualisieren lassen ohne schnick schnack wie name oder datum auf der TXT ?

                    Ja das geht ;)

                    Willst du die eingaben an eine bestimmte Stelle schreiben (Aufwändig) oder nur unten an die Datei anhängen (geht schnell)

                    Sven

                    1. Hi Sven Danke für Deine Mühe,

                      Also die Txt Datei(en) sind so aufgeteilt das die von A-F usw. gehen!

                      Z.B.

                      -------A------
                      auto

                      -------B-----

                      berta

                      usw.

                      da sollen jetzt die user unter den kategorien ihre info´s reinschreiben, wobei wohl jeder selber wissen sollte das A zu A gehöhrt also brauch man das nicht auch noch unterteilen. Ich werde dann für jeden Buchstabenbereich ein login machen oder werde einen login machen für alle aber mit auswahl, wie z.b. a-f g-j wo dann der Verweis auf die jeweilige txt geht! Also drei Spalten :
                      Benutzername
                      Passwort
                      Kategorie (z.b. a-f ,g-j usw.)

                      Schwierig oder ?
                      Ich weiß vielleicht packt es ja doch jemand !
                      Thx an alle , vor allem an Sven !!!

                      1. Schwierig oder ?

                        nein, aber umständlich mit Textdateien - eine Datenbank kannst du nicht zufällig nutzen?

                        Sven

                        1. Sorry hab auf dem Webhoster kein mysql!

                          Ich weiß Shit deswegen ist es auch so schwierig!

                          Aber wenn es zuviel wird sag es ich bin Dir eh schon überaus Dankbar!

                          Olli

                          1. Sorry hab auf dem Webhoster kein mysql!

                            naja - dachte ich mir

                            Aber wenn es zuviel wird sag es ich bin Dir eh schon überaus Dankbar!

                            Na etwas "hand anlegen" wirst du noch selbst müssen - hast du die Passwortabfarge oben getestet ?

                            1. ja funzt bis auf die felder die noch nicht editiert sind also weiterleitung auf ne datei !
                              <html>
                              <head>
                              <title>Untitled Document</title>
                              <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
                              </head>

                              <body bgcolor="#666666" text="#FF6600">

                              <?php

                              $pw["liquid"]="los3r";  # Username ist "admin" und Passwort heißt "geheim";

                              $pass=$HTTP_POST_VARS["pass"];
                              $user=$HTTP_POST_VARS["user"];

                              /* Abfrage, ob Passwort gesetzt, und ob Kombination Pass/benutzer paßt */
                              if (($user !="") && ($pass !="") && ($pw[$user] == $pass)){

                              echo "OK!"; # hier wird dann später eine Funktion aufgerufen....

                              }

                              else {?>
                              <!-- PHP ENDE (vorläufig nun kommt HTML) -->

                              <form action ="<?php echo $PHP_SELF?>" method="post">
                              Benutzername <input type="text" name="user" /><br />
                              Passwort <input type="password" name="pass" /><br />
                              <input type="submit" />
                              </form>
                              <?php # PHP geht weiter!
                              }
                              ?>

                              1. OK..

                                dann wollen wir mal in eine Datei schreiben:

                                schreib.php:

                                <?php

                                $test="das kommt in die Datei";

                                $filep=fopen("text.txt","a"); # Datei zum Schreiben öffnen -->Zeiger am Dateienede, das bedeutet: es wird "hinten angehängt"

                                fputs ($filep,$test);

                                fclose($filep);
                                ?>

                                Experimentiere mal damit und mit verschiedenen Inhalten in $test...

                                versuch dann anschließend mit der ersten PHP-Datei zu lesen

                                danach kümmern wir uns um die Überahme der Daten aus Formularen in die Datei...wie schon bei der Passworteingabe

                                Gruss Sven

                                1. <html>
                                  <head>
                                  <title>Untitled Document</title>
                                  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
                                  </head>

                                  <body bgcolor="#666666" text="#FF6600">

                                  <?php
                                  $name=strtolower($name);
                                  $passwort=strtolower($passwort);
                                  $datei=fopen("pwd.dat.php3","r");
                                  while(feof($datei)==0):
                                  $nme=chop(fgets($datei,110));
                                  $pwd=chop(fgets($datei,110));
                                  $seite=chop(fgets($datei,500));
                                  if ($name==$nme):
                                  if ($passwort==$pwd)
                                  header("location: ".$seite."?ppwwdd=".$passwort."&nme=".$name."");

                                  else
                                  ?>

                                  <form action ="<?php echo $PHP_SELF?>" method="post">
                                  Benutzername <input type="text" name="user" /><br />
                                  Passwort <input type="password" name="pass" /><br />
                                  <input type="submit" />
                                  </form>

                                  <?php
                                  $test="das kommt in die Datei";
                                  $filep=fopen("test.txt","a"); # Datei zum Schreiben öffnen -->Zeiger am Dateienede, das bedeutet: es wird "hinten angehängt"
                                  fputs ($filep,$test);
                                  fclose($filep);
                                  ?>

                                  </html>

                                  Parse error: parse error in /homepages/46/d30321391/htdocs/liquid/testList/Passwort.php on line 42

                                  Soweit keine Fehlermeldungen im PHP nur am ende stimmt was nicht !

                                  Thx Olli

                                  1. Hi,

                                    Montag - da dauert es bei mir etwas...

                                    <?php
                                    $name=strtolower($name);
                                    $passwort=strtolower($passwort);

                                    Warum das ? gerade die Kombination von Groß-/Kleinschreibung bei Passwörtern macht doch Sinn ..

                                    $datei=fopen("pwd.dat.php3","r");
                                    while(feof($datei)==0):
                                    $nme=chop(fgets($datei,110));
                                    $pwd=chop(fgets($datei,110));
                                    $seite=chop(fgets($datei,500));
                                    if ($name==$nme):
                                    if ($passwort==$pwd)
                                    header("location: ".$seite."?ppwwdd=".$passwort."&nme=".$name."");
                                    else

                                    {

                                    ?>

                                    Wie kommst du nun auf den oberen Teil ;) ??

                                    <form action ="<?php echo $PHP_SELF?>" method="post">
                                    Benutzername <input type="text" name="user" /><br />
                                    Passwort <input type="password" name="pass" /><br />
                                    <input type="submit" />
                                    </form>

                                    <?php

                                    }

                                    $test="das kommt in die Datei";
                                    $filep=fopen("test.txt","a"); # Datei zum Schreiben öffnen --Zeiger am Dateienede, das bedeutet: es wird "hinten angehängt"
                                    fputs ($filep,$test);
                                    fclose($filep);
                                    ?>

                                    </html>

                                    habe das Script jetzt nicht getestet ! - da fehlten zumindest die Kennzeichnung eines Anweisungsblocks in "{ }" s.o.
                                    ich wei0 nicht, wie deine pwd.dat.php3 nun aussieht....

                                    Gruss Sven

                                    1. Hi Sven,

                                      boah Arbeit geschafft! :-))

                                      Also die pwd.dat.php3 sieht folgendermaßen aus :

                                      <?
                                      #############################
                                      echo "ZUGRIFF VERWEIGERT!";
                                      exit;
                                      #############################
                                      ?>
                                      admin
                                      passwort
                                      test.txt

                                      naja was die Passwörte angeht, ist kein Ziel für Bösewichte!

                                      mh weiß nicht !?

                                      1. HI Olli!

                                        schön, daß du Feierabend hast ;)

                                        ich noch nicht, aber werde nun gleich mal etwas essen..

                                        Vorschlag  wir können die Diskussion gerne auch per eMail weiterführen - der Thread hier ist schon "ziemlich weit unten" - erleichtert evtl. die Kommunikation.

                                        Meine eMail-Adresse ist oben ;) -werde nun mal ein wenig Nahrung aufnehmen.

                                        Gruss Sven

                  2. Hi

                    ich sende dir mal den Code für eine Passwortabfrage:

                    es gibt hier 2 Benutzer:

                    "admin" mit Passwort "geheim"
                     "hans" mit Passwort "dampf"

                    probiere das erstmal - dann sehen wir weiter, Erklärung folgt dann

                    den HTML-Teil mußt du selbst etwas "aufbohren - hier nur die Funktionalität

                    ------------
                    <?php

                    $pw["admin"]="geheim";  # Username ist "admin" und Passwort heißt "geheim";
                    $pw["hans"]="dampf";  # Username ist "hans" und Passwort heißt "dampf";

                    $pass=$HTTP_POST_VARS["pass"];
                    $user=$HTTP_POST_VARS["user"];

                    /* Abfrage, ob Passwort gesetzt, und ob Kombination Pass/benutzer paßt */
                    if (isset ($pass) && $pw[$user] == $pass){

                    echo "OK!"; # hier wird dann später eine Funktion aufgerufen....

                    }

                    else {?>
                    <!-- PHP ENDE (vorläufig nun kommt HTML) -->

                    <form action ="<?php echo $PHP_SELF?>" method="post">
                    Benutzername <input type="text" name="user" /><br />
                    Passwort <input type="password" name="pass" /><br />
                    <input type="submit" />
                    </form>

                    </form>

                    <?php # PHP geht weiter!
                    }
                    ?>

                    1. ersetze das:

                      if (isset ($pass) && $pw[$user] == $pass){

                      durch:

                      if (($user !="") && ($pass !="") && ($pw[$user] == $pass)){

                      sonst kommt man auch mit Leereingabe bei User und Passwort zum Ziel...

        2. Hi Sven ,

          also soweit so gut aber irgendwas funzt da net!
          Aber immerhin schon mehr wie vorher ,thx dafür !

          Warning: Supplied argument is not a valid File-Handle resource in /homepages/46/d30321391/htdocs/liquid/test.php on line 12

          Quellcode:
          <html>
          <head>
          <title>Untitled Document</title>
          <meta http-equiv="Content-Type" content="text/html;

          charset=iso-8859-1">
          </head>

          <?php
          $filep = @fopen("test.txt", "r") or die ("Kann Datei nicht lesen.");
          while ($line = fgets($filep, 1024)):
            echo $line;
          endwhile;
          fclose($fp);
          ?>

          <body bgcolor="#666666" text="#FF6600">
          </body>
          </html>