Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Komentarze (PHP bez MySQL)
Forum PHP.pl > Forum > PHP
Froncek
Witam

Mam taki problem z księgą gości, a raczej wszystko jest ok, ale brakuje mi jednej rzeczy. Otóż znalazłem na necie księgę gości (miałem na celu system komentarzy) i wszystko pięknie chodzi. Nowe wpisy zapisują się do pliku wpisy.txt (CHMOD 777). Ale jak już wcześniej mówiłem, brakuje mi jednej rzeczy. Chodzi o licznik komentarzy. Chciałbym aby przy każdym komentarzu była liczba. Tak samo w odniośniku, teraz mam "komentarze...", a chciałbym mieć "Komentarze: N", gdzie N oznacza liczbę wpisów. Trochę męczące jest wchodzenie za każdym razem do podstrony, żeby zobaczyć czy ktoś napisał coś nowego. I tu pojawia się moja prośba. Czy mógłbym mi ktoś dopisać do tej prostej księgi ten licznik, oraz skrypt, który mam dopisać, żebym miał to "Komentarze: N". Poniżej zamieszcze jak wygląda kod tej księgi gości i w jaki sposób zapisują się komentarze.

  1. <?
  2.  
  3. $file = file('wpisy.txt');
  4.  
  5. foreach($file as $key => $value)
  6. {
  7.  $data = explode('|||', $value);
  8.  
  9.  echo '<b>'. $data[0] .'</b><br>';
  10.  echo '<b></b> '. $data[3] .'';
  11.  $tresc = wordwrap($data[4], 70, "<br>", 1);
  12.  echo $tresc .'<br><br>';
  13. }
  14. ?>
  15. <br />
  16. <a href="dodaj.php" style="text-decoration: none;">Dodaj komentarz</a>


  1. <?php
  2. <br><font size="1" color="#000000" face="Verdana"><b>Komentarze</b><br><br>
  3. <div class="news">
  4. Dodaj komentarz
  5. <ul>
  6.  
  7. <form method="post" action="wpis.php">
  8. <li class="tresc">Nick:  <input name="nick" type="text" /></li><br />
  9. <li class="tresc">Tresc: <textarea name="pole" cols="30" rows="6"></textarea></li><br />
  10. <input type="submit" name="b12" value="Wyslij" /><input name="wyczysc" type="reset" value="Wyczysc" />
  11. </form>
  12. </li>
  13. </ul>
  14. </div>
  15. ?>

  1. <?php
  2.  
  3. $nick = $_POST['nick'];
  4. $mail = $_POST['mail'];
  5. $www = $_POST['www'];
  6. $temat = $_POST['temat'];
  7. $pole = $_POST['pole'];
  8. $nick = HTMLSpecialChars($nick);
  9. $mail = HTMLSpecialChars($mail);
  10. $www = HTMLSpecialChars($www);
  11. $temat = HTMLSpecialChars($temat);
  12. $pole = HTMLSpecialChars($pole);
  13. $wynik = $nick . '|||' . $mail . '|||' . $www . '|||' . $temat . '|||' . $pole . "\n";
  14. $plik ="wpisy.txt";
  15. $fp = fopen($plik, "a");
  16. fwrite ($fp, $wynik);
  17. fclose($fp);
  18.  
  19. echo '<center><br><br><big>Komentarze</big><br><br>
  20. <a href="guestbook.php" style="text-decoration: none;">Gotowe!</a></center>';
  21.  
  22. ?>

Kod
osoba||||||||||||komentarz
osoba2||||||||||||komentarz2

Jak pewnie zauważyliście trochę ją odchudziłem, usunąłem www, e-mail, itd.

Z góry dziękuje za pomoc.

Pozdrawiam


-------------------------
do PHP są odpowiednie znaczniki BBCode
tym razem poprawiłem ale pamiętaj
i stosuj sie do tego na przyszłość
~Cienki1980
Fixus
teraz ci tego nie sprawdzę dokładnie, ale świta mi pomysł taki:
weź pierwszy lepszy (najprostszy) skrypt licznika opartego na pliku textowym...wartość licznika przypisuje do zmiennej pomocniczej (nazwijmy ją $licznik). Następnie podczas zapisu danych komentarza do pliku textowego po prostu dostaw zmienną $licznik. To taki ogólny zarys, ale mam nadzieje, że ci to coś pomoże...
a żeby jeszcze prościej, zrób swoją własną księgę opierając ją na bazie danych. Fakt, że pracy troche więcej bo trzeba samemu (zresztą jest cała masa takich skryptów w necie), ale moim zdaniem jest o niebo lepsze smile.gif
Froncek
Jakby to powiedzieć... problem w tym, że jestem trochę zielony na te tematy.
eai
Wklej ten kod tam gdzie chcesz żeby pojawiała się liczba komentarzy:
  1. <?php
  2.  
  3. $file = file('wpisy.txt');
  4. echo count($file);
  5.  
  6. ?>


Zlicza ilość wpisów z pliku wpisy.txt
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.