einfaches gästebuch, aber kapiers nicht

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

  • einfaches gästebuch, aber kapiers nicht

    hallo

    Zuerst möchte ich mich -da das mein erster beitrag in diesem board ist - vorstellen. mein name ist luke, und ich bin der webmaster von lukeweb.org. Ich habe eigentlich fast keine ahnung von php, und desshalb brauche ich dann und wann jemand der mir ein wenig hilft.

    so, nun habe ich mir ein neues guestbook eingebaut. ist von diesem tutorial hier Tutorial . der code ist da der das eigntlich tun sollte ist dieser hier:
    PHP-Code:
    <?php 
    <!--Öffnet wieder gaestebuch.txt--> 
    $fp fopen("gästebuch.txt","a"); 
    if (
    $fp

    flock($fp,2); 
    $nl chr(13) . chr(10); 
    fputs ($fp
    <!--
    Das wird geschrieben--> 
    "Name: $vn<br>IP: Gelogt<IP: ".$_SERVER['REMOTE_ADDR']."><br>ICQ: $icq<br>E-Mail: $em<br>Message:<br>$comment<br><hr><br>"); 
    echo 
    "Vielen Dank, $vn<p>"
    echo 
    "Ihre Angaben wurden gespeichert<p>"
    flock($fp,3); 
    fclose($fp); 

    else 

    echo 
    "Datei konnte nicht zum"
    echo 
    " Schreiben geöffnet werden"

    ?>
    sonst ist er auf der tutorial seiten noch 2 andere dateien...

    nun, ich habs ein wenig umgeschrieben, und so, und es funktioniert jetzt eigentlich alles, ausser, dass ein neuer eintrag nicht wie bei einem gb üblich oben ist, sondern unten angehängt wird.

    Könnte mir da jemand helfen? vielen dank!

    cyrtic

  • #2
    Vllt. solltest du mal versuchen erst den Inhalt deiner Textdatei auszulesen (die bisherigen Einträge), dann das neue vor das alte dranhängen und dann den Inhalt insgesamt neu in die Textdatei reinschreiben...

    Kommentar


    • #3
      sorry, aber das überfordert meine phpkenntnisse leider schon!
      könnte mir jemand ein wenig genauer helfen?

      vielen dank!

      cyrtic

      Kommentar


      • #4
        So:

        PHP-Code:
        $filename "gb.txt";
        $handle fopen($filename"r");
        $contents fread($handlefilesize($filename));
        fclose($handle);
        $handle fopen($filename"w");
        $new_content "Neuer Inhalt";
        fwrite($handle$new_content.$contents);
        fclose($handle); 

        Kommentar


        • #5
          sorry, wenn ich stresse, aber ich raffs nicht wo ich den einbauen soll??

          cyrtic

          Kommentar


          • #6
            Dort wo der neue Inhalt in die Datei geschrieben wird...beim fputs(), nur das du den neuen Inhalt erst in einer Variablen zwischenspeichern solltest und die restlichen Variablen anpassen...außerdem musst du das Gästebuch dann mit "w" und nicht mit "a" als zweitem Parameter öffnen, weil du ansonsten ja der Datei nur was dranhängst (was du ja nicht willst). Das restliche Anpassen schaffst du aber, oder?

            Kommentar


            • #7
              Vielen dank KTJ!!
              Ich habs zwar noch nicht ganz kapiert, aber ich hoffe das wird noch! auf jedenfall funktionier es!

              nochmal thx

              cyrtic

              Kommentar


              • #8
                Kein Problem...

                Also nochmal das Prinzip:
                1.) Die Datei nur zum lesen öffnen
                2.) Den kompletten Inhalt der Datei in einer Variablen zwischenspeichern
                3.) Datei schliessen und dann nochmal öffnen (diesmal zum schreiben)
                4.) Das was neu dazukommt in einer Variablen speichern
                5.) Den neuen Inhalt in die Datei übertragen, der sich aus dem was dazukommt + dem alten Inhalt zusammensetzt
                6.) Datei wieder schliessen

                Kommentar


                • #9
                  sorry, muss dich leider endteuschen! ich hatte ein blackout, es funktioniert nicht! aber ist ja auch egal! vielen dank nochmal!

                  cyrtic

                  Kommentar


                  • #10
                    Wieso ist es denn auf einmal egal?
                    Dann poste doch nochmal das was du dir jetzt so zusammengebastelt hast und sag nochmal, was genau nicht funktioniert...

                    Kommentar

                    Lädt...
                    X