Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Prosty system komentarzy
Forum PHP.pl > Forum > Przedszkole
kamil_lk
Witam. Napisałem sobie taki prosty skryp komentarzy oparty o plik tekstowy.

formularz.php
  1. <html>
  2. <body>
  3.  
  4. <form action="komentarze.php" method="POST">
  5. nick:<br><input type="text" name="nick" value="" /><br>
  6. komentarz:<br><textarea name="komentarz" rows="4" cols="45"></textarea>
  7. <input type="submit" value="dodaj" />
  8. </form>
  9.  
  10. <?php
  11. $otworz= fopen("komentarze.txt", "a+");
  12. $odczytaj= file_get_contents("komentarze.txt");
  13. echo $odczytaj;
  14. fclose($otworz);
  15. ?>
  16. </body>
  17. </html>


komentarze.php
  1. <html>
  2. <head>
  3. <META HTTP-EQUIV=Refresh CONTENT="1; URL=formularz.php">
  4. </head>
  5. <body>
  6. <?php
  7. ini_set('display_errors','1');
  8. ?>
  9.  
  10. <?php
  11. $nick= $_POST['nick'];
  12. $komentarz= $_POST['komentarz'];
  13. $dane= "<b>Dodał/a:</b> ".$nick."<br> <b>Komentarz:</b><br> ".$komentarz."<br><br>";
  14. $otworz= fopen("komentarze.txt", "a+");
  15. $odczytaj= file_get_contents("komentarze.txt");
  16. fwrite($otworz, $dane);
  17. fclose($otworz);
  18. ?>
  19.  
  20. </body>
  21. </html>


Wszystko gra, tylko chodzi mi o to, aby komentarze były wyświetlane w kolejności od najnowszego do najstarszego. Próbowałem z dopisywanie do zmiennej, ale nie zabardzo mi to wychodzi.

Proszę o pomoc.
tomsi
Wczytaj rekordy pliku txt do tablicy i za jej pomocą wyświetlaj w kolejności jakiej chcesz.
kamil_lk
tylko że ja dopiero zaczynam i nie wiem o co Ci chodzi.. a nie da się tego napisać poprzez dopisanie do zmiennej?
tomsi
http://www.programuj.com/artykuly/www/plikiphp.php Polecam artykuł ten, a szczególnie Podpunkt "Odczyt inaczej"

P.S. O tablicach masz tutaj fajny opis co i jak http://4programmers.net/PHP/Tablice_w_PHP
A jeszcze na marginesie to w ogóle polecam zamiast na plikach stworzyć bazę danych. Szybciej i wygodniej.
kamil_lk
Cytat(tomsi @ 19.03.2009, 16:23:15 ) *
A jeszcze na marginesie to w ogóle polecam zamiast na plikach stworzyć bazę danych.

jak już wyżej napisałem, dopiero zaczynam swoją naukę i myślę, że żeby tworzyć w MySQL to jeszcze trochę muszę popracować winksmiley.jpg

a tak jak pytałem.. nie da się tego zapisać w taki sposób, żeby dopisać do zmiennej nową wartość?
tomsi
To może jeszcze inaczej tongue.gif

http://php.webhelp.pl/index.php?id=103&...php&ac=read

a chcesz to zapisać do zmiennej, ale rozumiem, że chcesz wszystkie komentarze wyświetlać a nie tylko najnowszy?
kamil_lk
no tak.. mam jeszcze takie pytanie.. jak uruchamiam ten plik z parametrem r+ to dlaczego nie dopisuje wartości na początku? przecież r+ - plik do odczytu i zapisu (wewnętrzny wskaźnik pliku umieszczany jest na początku zbioru).
tomsi
http://pl.php.net/manual/pl/function.fopen.php

P.S. Zgadza się r+ tak robi a Ty masz w kodzie a+. Jeżeli dasz r+ to będzie wszystko ok poza małym szczegółem jeżeli będą 2 i więcej wpisów to pojawi się problem z nadpisem danych.
marcio
Zamiast kombinowac i musisz miec na plikach to wczytaj plik za pomoca file() zapisz do tablicy i potem zmiej kolejnosc za pomoca array_reverse()
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.