tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
13
ZUGRIFFE
1179
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    helga helga ist offline Mitglied Bronze
    Registriert seit
    Jun 2003
    Beiträge
    35
    Hallo Zusammen,

    ich habe in PHP ein Formular progarmmiert, welches die eingegebenen Werte in einer txt Datei speichert. jetzt will ich diese wie in einer Art Gästebuch auf einer Webseite ausgeben. Klappt soweit auch ganz gut.
    Nur soll jetzt auf einer weiteren Seite stets nur der neuste Eintrag zu shene sein.
    Ich will also die txt Datei in zwei Webseiten ausgeben, auf der einen die kompletten Einträge, auf der anderen nur der aktuelle.

    Wie kann ich das realisieren?

    Gruß
    Helga
     

  2. #2
    Registriert seit
    Nov 2002
    Ort
    Altdorf bei Nürnberg
    Beiträge
    3.027
    Wen du uns verrätst, wie deine TXT aufegbaut ist, kann man dir sicher helfen.

    Falls du den HTML-Code direkt in die TXT speicherst, wird es schwierig.
    Mach es am besten so, dass du alle Einträge, z.B. durch ein |#+#| trennst, und darin die einzelnen Felder wieder durch z.B. ein |#| trennst:
    Code :
    1
    2
    
    1. Eintreag, 1.Feld|#|2.Feld|#|3.Feld
    |#+#|2. Eintrag, 1. Feld|#|usw.
    Dann kannst du es so auslesen:
    PHP-Code:
    $txt_data explode("|#+#|"implode(""file("deine.txt"))); 
    So, nun hast du in txt_data ein Array, dass ale Einträge beinhaltet, allerdings eben noch durch |#| getrennt.
    Wenn du nun immer das neueste am Ende speicherst, dann kannst du die Reihenfolge einfach mit array_reverse vertauschen:
    PHP-Code:
    $txt_data array_reverse($txt_data);
    foreach (
    $txt_data as $txt_tmp) {
      
    $txt_tmp explode("|#|"$txt_tmp);
      foreach(
    $txt_tmp as $tmp_tmp) {
        echo 
    $tmp_tmp."<br>";
      }
      echo 
    "<br>";

    Gut der Code ist jetzt nicht vom feinsten Stil, aber du kannst es ja noch umändern.
     

  3. #3
    helga helga ist offline Mitglied Bronze
    Registriert seit
    Jun 2003
    Beiträge
    35
    danke, werd ich versuchen
     

  4. #4
    helga helga ist offline Mitglied Bronze
    Registriert seit
    Jun 2003
    Beiträge
    35
    irgendwie funktioniert das ganze nicht, kann ich nicht die Einträge in zwei txt dateien speichern? Das würde die Sache irgendwie vereinfachen, wenn dies möglich wäre.


    }
    $Inhalt = file("gaestebuch.txt");
    $datei = fopen("gaestebuch.txt","w");
    fputs ($datei, $eintrag . "\n");
    for($x=0; $x<count($Inhalt); $x++) {
    fputs( $datei, $Inhalt[$x] );
    }
     

  5. #5
    helga helga ist offline Mitglied Bronze
    Registriert seit
    Jun 2003
    Beiträge
    35
    sorry, bin irgendwie auf abschicken gekommen, also obe, das ist der code, mit welchem ich in die txt datei eintrage, momentan werden immer alle einträge gespeichert. ist es möglich, dass ich nochmals in eine txt speichere, bei der nur das aktuelle erhalten bleibt?
     

  6. #6
    vogtländer vogtländer ist offline Mitglied Brokat
    Registriert seit
    Jul 2003
    Ort
    50°20'12''N, 12°13'05''O
    Beiträge
    255
    Ja, das geht. Nimm statt "w" bei fopen "+w", dann müsste die Datei überschrieben werden.

    Gruß
    Falk
     

  7. #7
    helga helga ist offline Mitglied Bronze
    Registriert seit
    Jun 2003
    Beiträge
    35
    dass weiss ich, wie ich die änderung durchführe, damit es überschrieben wird. Mein Problem ist, wie ich es anstellen kann in zwei txt Dateien unterschiedlich speichern kann
     

  8. #8
    helga helga ist offline Mitglied Bronze
    Registriert seit
    Jun 2003
    Beiträge
    35
    $text = ereg_replace( "\015?\012\015?", "<br>", $text );

    $eintrag = "<b><p>$ueberschrift</b><br><br>$text<br><br>";

    $Inhalt = file("gaeste.txt");
    $datei = fopen("gaeste.txt","w+");
    fputs ($datei, $eintrag . "\n");
    fclose($datei);


    $Inhalt2 = file("compltt.txt");
    $datei2 = fopen("complett.txt","w");
    fputs ($datei2, $eintrag . "\n");
    for($x=0; $x<count($Inhalt2); $x++) {
    fputs( $datei2, $Inhalt2[$x] );


    fclose($datei2);
    echo "Der Eintrag wurde erfasst";
    echo "<br><br><br>";
    echo "<a href='../index.php'>zum Intranet</a>";
    }
    } else{

    ?>

    ich bekommhier immer fehlermeldung. ist es überhaupt möglich das so amzugehen? mit den zwei txt?
     

  9. #9
    vogtländer vogtländer ist offline Mitglied Brokat
    Registriert seit
    Jul 2003
    Ort
    50°20'12''N, 12°13'05''O
    Beiträge
    255
    Ok, dann nochmal Schritt für Schritt:

    $eintrag soll an die Datei complett.txt angehängt werden und als einziger Eintrag in gaeste.txt stehen:

    PHP-Code:
    $complett fopen("complett.txt""a");
    fputs($complett$eintrag);
    fclose($complett);

    $gaeste fopen("gaeste.txt","+w");
    fputs($gaeste$eintrag);
    fclose($gaeste); 
    Das müsste eigentlich funktionieren.

    Gruß
    Falk
     

  10. #10
    Avatar von snail
    snail snail ist offline Mitglied Silber
    Registriert seit
    Jan 2002
    Ort
    emden
    Beiträge
    61
    hallo helga,

    deinen ansatz find ich ganz richtig...

    1. alles Texte in eine Datei...
    2. eine datei immer überschreiben...


    du hast die compltt.txt falsch geschrieben oder soll das so****?
    ---------------------------------------------
    $Inhalt2 = file("compltt.txt");
    $datei2 = fopen("complett.txt","w");
    fputs ($datei2, $eintrag . "\n");
    for($x=0; $x<count($Inhalt2); $x++) {
    fputs( $datei2, $Inhalt2[$x] );
    ---------------------------------------------

    wie sieht es mit den rechten aus****?

    ansonsten scheint der code richtig...

    gruss snail
     

  11. #11
    helga helga ist offline Mitglied Bronze
    Registriert seit
    Jun 2003
    Beiträge
    35
    @vogtländer:

    habs ausprobiert funktioniert leider nicht



    @snail:
    rechte sind richtig gesetzt "chmod 777"
    der tippfehler ist behoben, aber es funkrioniert trotzdem nicht
     

  12. #12
    vogtländer vogtländer ist offline Mitglied Brokat
    Registriert seit
    Jul 2003
    Ort
    50°20'12''N, 12°13'05''O
    Beiträge
    255
    Was funktioniert denn nicht? Wird nix in die Dateien geschrieben? Bekommst du ne Fehlermeldung?
     

  13. #13
    Registriert seit
    Apr 2001
    Ort
    Hamburg
    Beiträge
    1.309
    Lies dir doch bitte mal diesen Thread hier durch:
    http://www.tutorials.de/tutorials15692.html
     
    --
    GNU/Linux - Weil man echte Freunde nicht kaufen kann

  14. #14
    helga helga ist offline Mitglied Bronze
    Registriert seit
    Jun 2003
    Beiträge
    35
    danke für eure Hilfe, ich habe es hinbekommen.
    Mein Ansatzt stimmt, hat nur eine Klammer gefehlt
    Jetzt schreibt es mir in beide txt Dateien
     

Ähnliche Themen

  1. Antworten: 5
    Letzter Beitrag: 02.06.10, 12:52
  2. Werte aus einer txt Datei auslesen
    Von Losty74 im Forum PHP
    Antworten: 4
    Letzter Beitrag: 13.01.09, 22:15
  3. Werte aus INI-Datei auslesen
    Von benurb im Forum PHP
    Antworten: 2
    Letzter Beitrag: 11.03.07, 13:14
  4. Werte aus einer Datei auslesen.
    Von Neik05 im Forum Java
    Antworten: 3
    Letzter Beitrag: 23.11.05, 14:26
  5. Antworten: 15
    Letzter Beitrag: 17.06.05, 13:09