Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: system komentarzy do niusów
Forum PHP.pl > Forum > Przedszkole
Volume
Chcąc zrozumieć zasady działanie systemu komentarzy znalazłem w sieci taki artykół:
  1. <?
  2. $katalog = &#092;"komentarze/\";
  3. $id = $_REQUEST[&#092;"id\"];
  4.  
  5. $pole1 = trim($_POST[&#092;"pole1\"]);
  6. $pole2 = trim($_POST[&#092;"pole2\"]);
  7. if ($pole1<>&#092;"\" and $pole2<>\"\") {
  8. $pole1 = stripslashes($pole1);
  9. $pole2 = stripslashes($pole2);
  10. $pole2=eregi_replace(&#092;"r\",\"\",$pole2);
  11. $pole2=eregi_replace(&#092;"n\",\"<br />\",$pole2);
  12. $data = sprintf(&#092;"%04d-%02d-%02d %02d:%02d:%02d\", 
  13. date(&#092;"Y\"), date(\"m\"), date(\"d\"), date(\"H\"), date(\"i\"), date(\"s\"));
  14. $f=fopen(&#092;"$katalog$id.txt\",\"a\");
  15. fputs($f,&#092;"$data`$pole1`$pole2n\");
  16. fclose($f);
  17. }
  18.  
  19. if (file_exists(&#092;"$katalog$id.txt\")) {
  20. $dane = file(&#092;"$katalog$id.txt\");
  21. $dane = array_reverse($dane);
  22. foreach ($dane as $linia) {
  23. $l = explode(&#092;"`\", $linia);
  24. echo &#092;"<p>Dnia <b>$l[0]</b> użytkownik <b>$l[1]</b>
  25. napisał:<br />$l[2]</p>&#092;";
  26. }
  27. } else echo &#092;"Twój komentarz może być pierwszy...\";
  28. ?>
  29.  
  30.  
  31. <form action=\"index.php\" method=\"post\">
  32. <input type=\"hidden\" name=\"id\" value=\"<? echo $id; ?>\" />
  33. <table>
  34. <tr><td>imie i nazwisko:</td>
  35. <td><input type=\"text\" name=\"pole1\" /></td></tr>
  36. <tr><td>komentarz:</td>
  37. <td><textarea name=\"pole2\" rows=\"5\" cols=\"20\"></textarea></td></tr>
  38. <tr><td>&nbsp;</td><td><input type=\"submit\" value=\" wyślij \" /></td></tr>
  39. </table>
  40. </form>

Cytat
Do pełni szczęścia potrzebny będzie nam numer lub identyfikator newsa, do którego komentarze będziemy dodawać. Ponieważ newsy i tak musisz pokazać na stronie w zależności od numeru, wykorzystamy go przy tworzeniu komentarza. Numer newsa przypisany będzie do zmiennej $id. Po wejściu do newsa, np. index.php?id=123 będzie go można skomentować. [...]
No i moje pierwsze pytanie to gdzie te plik sie w ogole zapsiuja? Bo jak stworzylem tenze katalog komentarze/ nadalem chmod 777 no i wszystko ladnie dziala gdy w adresach wpisze np. index.php?id=55 to pod tym liniem bede mial zapisane komentarze dla id=55, no ale jak wchodze do katlogu komentarze/ - zadnych plików nei widze, a komentarze pod tymi linkami nadal istnieją..

No i moje 2 pytanie to jak mam rozpoznać/nadać nr nuisa badz jego identyfikator w moim systemie niusów, który zapisuje w linijkach tak: |<p>asdasd</p>\n|<p>asdad \n itd... I zapisują się od 'góry'. Mysłałem żeby to powyciągac jakoś f. explode() - ale jakos nie wychodzi mi to..
Pigula
z tego co zrozumialem to plik tworzy sie w momencie dodania pierwwszego komentarza wiec wydaje mi sie zepowinno byc tak:

  1. <?php
  2. $f=fopen(&#092;"$katalog$id.txt\",\"w\");
  3. ?>


a dopiero pozniej jak dopisujesz kolejne komentarz do tego artykulu uzywasz:

  1. <?php
  2. $f=fopen(&#092;"$katalog$id.txt\",\"a\");
  3. ?>


mam nadzieje ze sie nie myle smile.gif
Volume
zadam troche inaczej pytanie.. jak wyciagnac z pliku txt dane, ktore sa zapiswyane w tej formie:

| jakas tresc (\n - nastepna linija..)
| nastepna tresc
| cos tam...
| itd..

A dokladniej to jak przypisac odpowiedniej linijce, odpowiedni nr a poniewaz nowy nius zapisuje mi sie od gory wiec chyba najlpeije bedzie jak ten nr. bedzie przypisywany od ostatniej linij w pliku czyli nr1 = |ostatnia linja.
Domyslalem sie,ze cos takiego robi sie funkcja explode.. ale niewiem co dalej.. Bede wdzieczny za pomoc.
zbig13
Nie wiem czy dokładnie o to chodzi, ale zobacz coś takiego:
  1. <?php
  2.  
  3. $ile = 5; // Ilość newsów do wyświetlenia na stronie.
  4.  
  5. $plik = file(&#092;"news2.txt\"); 
  6.  
  7. for ($i=0; $i<$ile; $i++) { 
  8.  $wiersz = explode(&#092;"|\", $plik[$i]); 
  9.  echo $wiersz1 // itd.
  10. }
  11. ?>
Ociu
chyba echo $wiersz[1];
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.