Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]SKRYPT KOMENTARZY, automatyczne tworzenie sie stron oraz odwrotnosc pokazywania sie ich..
Randallmaster
post
Post #1





Grupa: Zarejestrowani
Postów: 677
Pomógł: 11
Dołączył: 18.11.2009

Ostrzeżenie: (0%)
-----


Witam,

Piszę z prośbą o przerobienie mojego kodu bądź pomocy w zmienieniu tego skryptu... Każdy komentarz pokazuje się jeden pod drugim natomiast ja chciałbym aby komentarze to pokazywały się jeden na drugim czyli ten który dodaje szedł na początek... Oraz nie wiem jak zrobić aby przy dużej ilości komentarzy np.6 tworzyła się nowa podstrona. Szukałem w google przerabiałem ale nic za bardzo mi nie wychodzi.

Bardzo zależy mi na przerobieniu tego kodu gdyż jest on prosty i przejrzysty, dlatego też proszę w wyrozumiałość..


  1. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  2. <?php
  3. if (isset($_POST['submit'])) {
  4. if (isset($_POST['message'])) {
  5. if (isset($_COOKIE['dodano'])) {
  6. echo "Już dodałeś komentarz! Spróbuj za chwilę.<br>";
  7. } else {
  8. $message = str_replace('www','*',$_POST['message']);
  9. $message = ereg_replace("rnrn", "n<P>", $message);
  10. $date=date("H:i d.m.Y");
  11. $message = "<B>".$_POST['name']."</B><BR>".$date."<P>".$message."<BR><HR>";
  12. $fp = fopen (basename($_SERVER['PHP_SELF']) . ".comment", "a");
  13. fwrite ($fp, $message);
  14. fclose ($fp);
  15. setcookie ("dodano", "{$_POST['name']}", time()+300);
  16. }
  17. }
  18. }
  19. @readfile(basename(($_SERVER['PHP_SELF'] . ".comment")));
  20. ?>
  21. <html>
  22. <head>
  23. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  24. <title>Nick</title>
  25. </head>
  26.  
  27. <body>
  28. <form action="" method=post>
  29. <input type=hidden name=submit value=1>
  30. Nick:<br>
  31. <input type=text name=name><br>
  32. Wpisz komentarz:<br>
  33. <textarea name=message rows="5" cols="65"></textarea><br>
  34. <input type="image" src="smile.gif" >wyślij komentarz<alt="Wyślij komentarz"><br>
  35. </form>
  36.  
  37. </body>
  38.  
  39. </html>
Powód edycji: Dodałęm bbcode. /webdice
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Blame
post
Post #2





Grupa: Zarejestrowani
Postów: 678
Pomógł: 124
Dołączył: 26.09.2009

Ostrzeżenie: (0%)
-----


W takim razie nic nie musisz zmieniać. Wystarczy, że w skrypcie, który nam podałeś zmienisz tryb(ang. mode) dla funkcji fopen. Poszukaj w manualu takiego, który będzie umieszczał kursor na początku a nie na końcu pliku.
Go to the top of the page
+Quote Post
Randallmaster
post
Post #3





Grupa: Zarejestrowani
Postów: 677
Pomógł: 11
Dołączył: 18.11.2009

Ostrzeżenie: (0%)
-----


Cytat(Blame @ 18.11.2009, 16:04:42 ) *
W takim razie nic nie musisz zmieniać. Wystarczy, że w skrypcie, który nam podałeś zmienisz tryb(ang. mode) dla funkcji fopen. Poszukaj w manualu takiego, który będzie umieszczał kursor na początku a nie na końcu pliku.



Dobrze zmieniłem typ ale nic to niestety nie dało zamiast pojawienia sie koementarza nad tym drugi ten poprzedni poprostu sie usunął przerobiłem cały tekst neistety nie wiem co zrobić z tym bo to ostatnia rzecz jakiej nie przerobilem z tamtego skryptu na moj...

// dodanie do zmiennej dane poprzedniej zawartości pliku
$dane=$dane.fread($fp, filesize($file));

Poradziłem sobie zadanie z kolejnością wyświetlania komentarzy wystarczyło dodać parę rzeczy sama zmiana typu fope nie wystarczyła...
Poprawny kod wygląda tak:

  1. <?php
  2. if (isset($_POST['submit'])) {
  3. if (isset($_POST['message'])) {
  4. if (isset($_COOKIE['dodano'])) {
  5. echo "Już dodałeś komentarz! Spróbuj za chwilę.<br>";
  6. } else {
  7. $message = str_replace('www','*',$_POST['message']);
  8. $message = ereg_replace("rnrn", "n<P>", $message);
  9. $date=date("H:i d.m.Y");
  10. $message = "<B>".$_POST['name']."</B><BR>".$date."<P>".$message."<BR><HR>";
  11. $fp = fopen (basename($_SERVER['PHP_SELF']) . ".comment", "r+");
  12. $file="komentarze.php.comment";
  13. $message=$message.fread($fp,filesize($file));
  14. rewind($fp);
  15. flock($fp, 2);
  16. fwrite ($fp, $message);
  17. flock($fp, 3);
  18. fclose ($fp);
  19. setcookie ("dodano", "{$_POST['name']}", time()+10);
  20. }
  21. }
  22. }
  23. @readfile(basename(($_SERVER['PHP_SELF'] . ".comment")));
  24. ?>


Z tamtego szablonu poza zmiana typu na "r+" trzeba było dodać:

  1. $message=$message.fread($fp,filesize($file));


Dziękuję osobą które mnie pokierowały....


Teraz Proszę o pomoc ze stronnicowaniem z tekstu bo niestety teraz z tym nie mogę sobie poradzić ;(
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 27.12.2025 - 21:38