Textfile probleme!!

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

  • Textfile probleme!!

    Ich habe einen script der 2 textfelder in ein Textfile speichert und dann danach durch ein anderes script ausgelesen werden kann !
    Es kommt aber immer eine fehler meldung !

    Eingabescript::

    <?php
    $log="db.txt";
    $open=@fopen($log,'r+');
    $count=@fread($open,filesize($log));
    if($count>4)
    {
    $count=1;
    }
    $count=$count+1;
    $wars[$count]=VSTextField1;
    $date[$count]=VSTextField2;
    $date[$count]=fopen($log,'w');
    fputs($log,$date);
    $wars[$count]=fopen($log,'w');
    fputs($log,$date);
    fclose($log);
    echo ("Daten gespeichert");
    ?>

    Ausgabescript::

    <?php

    $log="db.txt";
    $open=@fopen($log,'r+');
    $count=@fread($open,filesize($log));
    for($i = 1; $i < 4; $i++)
    {
    echo ("$wars[$i]");
    }
    fclose($log);

    ?>

    Die fehlermeldungen sind unter http://sc.mnsg.net/thc/test/subwars.php nachzulesen !!
    Das Fluchen ist die einzige Sprache, die jeder Programmierer beherrscht. ;-)

  • #2
    Ich bin zwar selber noch neuling in php, aber ich glaube, deine 3 Fehler sind in diesem Bereich:

    Code:
    $count=$count+1; 
    $wars[$count]=VSTextField1; 
    $date[$count]=VSTextField2; 
    $date[$count]=fopen($log,'w'); 
    1. Fehler: fputs($log,$date); 
    $wars[$count]=fopen($log,'w'); 
    2. Fehler: fputs($log,$date); 
    3. Fehler: fclose($log); 
    echo ("Daten gespeichert");
    Die Variable $log ist Falsch. Du darfst da nicht den Dateinamen nehmen (der in $log steht), sonder die Kennung der geöffneten Datei. Also $date[$count], $wars[$count] und $open

    Dementsprechend musst du auch noch 3 mal eine fclose-Anweisung schreiben, da du ja 3 Dateien mit unterschiedlichen Dateikennungen geöffnet hast.
    Ich hoffe, man kann mein Gefasel verstehen!
    Wenns net stimmt, dann gib mir nen Tritt

    (P.s.: Das Script scheint etwas schwer verquer zu sein, weil du 3 mal die selbe Date öffnest.)
    Zuletzt geändert von FloFri; 23.04.2002, 19:05.

    Kommentar


    • #3
      $date[$count]=fopen($log,'w');
      fputs($log,$date);
      $wars[$count]=fopen($log,'w');

      Also erst mal: $log ist schon geöffnet vielleicht hast Du da ein Problem schliesse mal nach dem lesen die Datei mit fclose()
      dann: fputs($log,$date); $log ist kein filepointer... fputs erwartet aber einen filepointer und keinen String
      Dann $wars[$count]=fopen($log,'w'); $log is schon offen...
      Check das mal ab
      Zuletzt geändert von MelloPie; 23.04.2002, 19:31.
      Beantworte nie Threads mit mehr als 15 followups...
      Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

      Kommentar


      • #4
        hab das probiert hab jetzt aber in zeile 36 an fehler!

        <?php
        $log="db.txt";
        $open=@fopen($log,'r+');
        $count=@fread($open,filesize($log));
        fclose($log);
        if($count>4)
        {
        $count=1;
        }
        $count=$count+1;
        $wars[$count]=VSTextField1;
        $date[$count]=VSTextField2;
        $open=@fopen($log,'r+');
        $date[$count]=fopen($log,'w');
        fputs($date[$count], ,$date);
        fopen($log,'w')=$wars[$count]; //Hier ist der fehler!
        fputs($date[$count], ,$date);
        fclose($log);
        echo ("Daten gespeichert");
        ?>
        Das Fluchen ist die einzige Sprache, die jeder Programmierer beherrscht. ;-)

        Kommentar


        • #5
          Das muss anerster rum:

          $wars[$count]=fopen($log,'w');

          Ich weis aber net, ob das dann funzen wird, das Script sieht echt etwas komisch aus!

          Kommentar


          • #6
            Na hab i schon ghabt aber wennst willst kanst es fuer mi umschreiben !
            Das Fluchen ist die einzige Sprache, die jeder Programmierer beherrscht. ;-)

            Kommentar


            • #7
              selbst wenn - dazu müßte man erst mal wissen, welchen Wert du in welcher Datei haben willst.
              mein Sport: mein Frühstück: meine Arbeit:

              Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

              Kommentar


              • #8
                fputs($date[$count], ,$date);
                2 Kommas sind eins zuviel.
                fclose($log);
                $log ist kein filepointer.
                Ausserdem mal ne Frage: warum öffnest Du eine Datei mit "w" schreibst was rein und öffnest sie oder probierst es zumindest direkt danach nochmal mit "w" das macht doch überhaupt keinen Sinn.
                Überdenke mal das komplette Programm, das ist nicht wirklich logisch und die Befehle wirfst Du auch durcheinander.

                Oder schreibs unter Jobangebote, dann melde ich mich bei Dir :-)
                Beantworte nie Threads mit mehr als 15 followups...
                Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

                Kommentar

                Lädt...
                X