Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

2 Stron V   1 2 >  
Reply to this topicStart new topic
> [PHP] Skrypt komentarzy
Luu
post 23.02.2008, 15:11:01
Post #1





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 23.02.2008

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


Witam.
Jestem nowy i w sumie mało się orientuje w tych sprawach [bardziej html].
Tworzę właśnie stronkę i potrzebuje skrypt komentarzy. Nie chce czegoś obszernego, wystarczy mi Nick, Treść, blokada na komentowanie w przeciągu N czasu i ew. data dodania komentarza.

Znalazłem taki prosty który zapisuje w plikach .txt ale coś nie działa ? Jak w pliku komentarze.txt coś napiszę to na stronie widać tekst. A jak już przez formularz chcę dodać to nic nie dodaje.
Myślałem że może w kodzie jest błąd, mógłby ktoś zobaczyć ? sadsmiley02.gif
  1. <b>Komentarze</b><br /><br />
  2.  
  3. <table>
  4.  
  5.  
  6.  
  7. <?php
  8.  
  9.  // nazwa pliku z trescia komentarzy
  10.  $nazwa = 'komentarze.txt';
  11.  
  12.  
  13.  // zapis jesli co wyslano z formularza
  14.  if($_POST['tytul'] & $_POST['tresc'] & $_POST['autor'])
  15.  {
  16. $fp=fopen($nazwa, 'a');
  17. flock($fp, 2); 
  18. fwrite($fp,$_POST['tytul'].'||'.strip_tags(strtr($_POST['tresc'],'\n',' ')).'||'.$_POST['autor'].'\n');
  19. flock($fp, 3); 
  20. fclose($fp);
  21.  }
  22.  
  23.  // jezeli juz istnieja jakies komentarze
  24.  if(is_file($nazwa))
  25.  {
  26. $linia = explode('\n',file_get_contents($nazwa));
  27. $ilosc = count($linia);
  28. for($i=0; $i<$ilosc; $i++)
  29. {
  30.  $komentarz = explode('||',$linia[$i]);
  31.  echo '<br /><b>'.$komentarz[0].'</b><br />'.$komentarz[1].'<br /><i>'.$komentarz[2].'</i><br />';
  32. }
  33.  }
  34.  else
  35. echo 'Jeszcze nie ma zadnych komentarzy. Badz pierwszy i skomentuj!<br /><br />';
  36.  
  37. ?>
  38. <font color="white" size="+1">
  39. </table>
  40.  
  41. <form action="" method="POST">
  42. <table><tr><td>Tytul </td><td><input type="text" name="tytul" /></td></tr>
  43. <tr><td>Tresc</td><td><textarea cols="30" name="tresc" rows="7"></textarea> </td></tr>
  44. <tr><td>Autor </td><td><input type="text" name="autor" /> </td></tr>
  45. <tr><td><input type="submit" value="Dodaj komentarz" /></td></tr></table>
  46. </form></font>


Noo z tego co jeszcze czytałem to komentarze na plikach to już przeżytek ale kurcze na bazach się nie znam ;/ Jeśli naprawdę jest dużo lepiej to mógłby ktoś jakiegoś tutka o bazach zarzucić ? Ale to tak nawiasem, bardziej narazie interesuje mnie skrypt wyżej podany...

Pozdrawiam.

Ten post edytował Cysiaczek 23.02.2008, 16:13:51
Powód edycji: poprawiłem bbcode (cysiaczek)
Go to the top of the page
+Quote Post
Cysiaczek
post 23.02.2008, 15:21:07
Post #2





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




Po pierwsze dodaj bbcode do listingu.

Włącz raportowanie błędów na E_ALL upewnij się, że są wyświetlane.
Info: Temat: Najczestsze bledy

Obstawiam uprawnienia do pliku z komentarzami - nadaj im odpowiedni CHMOD (777)

Pozdrawiam.


--------------------
To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness;
chaotic, confused, vulnerability, to inform yourself.
Think for yourself. Question authority.
Go to the top of the page
+Quote Post
Luu
post 23.02.2008, 15:54:16
Post #3





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 23.02.2008

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


Cytat(Luu @ 23.02.2008, 15:11:01 ) *
Jestem nowy i w sumie mało się orientuje w tych sprawach [bardziej html].


Cytat(Cysiaczek @ 23.02.2008, 15:21:07 ) *
Włącz raportowanie błędów na E_ALL upewnij się, że są wyświetlane.
Info: Temat: Najczestsze bledy

Obstawiam uprawnienia do pliku z komentarzami - nadaj im odpowiedni CHMOD (777)


blinksmiley.gif
A trochę jaśniej ?
Go to the top of the page
+Quote Post
Cysiaczek
post 23.02.2008, 16:01:06
Post #4





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




A co jest niejasne? Jeśli takich podstaw nie łapiesz, to najpierw przerób jakiś kurs php. W linku, który Ci podałem jest opisane, jak wlączyć raportowanie błędów (9. Nie widać błędów (by strife)). Uprawniani pliku zmienisz poprzez klienta FTP.

Ostatni raz proszę Ciebie o dodanie BBCODE
zasady forum Przedszkole


--------------------
To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness;
chaotic, confused, vulnerability, to inform yourself.
Think for yourself. Question authority.
Go to the top of the page
+Quote Post
Luu
post 23.02.2008, 16:09:38
Post #5





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 23.02.2008

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


Cytat(Cysiaczek @ 23.02.2008, 16:01:06 ) *
Uprawniani pliku zmienisz poprzez klienta FTP.

A masz może na to tutka ? Naprawde z php etc jestem zielony; /


Cytat(Cysiaczek @ 23.02.2008, 16:01:06 ) *
Ostatni raz proszę Ciebie o dodanie BBCODE


teraz Ok ? Sry ale jestem tu nowy i jeszcze trochę się mieszam.

Ten post edytował Luu 23.02.2008, 16:10:29
Go to the top of the page
+Quote Post
Cysiaczek
post 23.02.2008, 16:13:16
Post #6





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




Tutka na zmianę atrybutów pliku przez klienta FTP? Nie przesadzasz troszkę? Umiesz obsługiwać klienta FTP, prawda? To po prostu kliknij na plik i wybierz jakąś opcję zbliżoną do "zmień atrybuty", "właściwości" etc. Zaznacz wszystkie pola.


--------------------
To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness;
chaotic, confused, vulnerability, to inform yourself.
Think for yourself. Question authority.
Go to the top of the page
+Quote Post
l0ud
post 23.02.2008, 16:13:56
Post #7





Grupa: Zarejestrowani
Postów: 1 387
Pomógł: 273
Dołączył: 18.02.2008

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


heh...

http://webmade.org/porady/ogolne/chmod.php

nadaj chmod 777 na ten plik...


--------------------
XMPP: l0ud@chrome.pl
Go to the top of the page
+Quote Post
Luu
post 23.02.2008, 16:22:07
Post #8





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 23.02.2008

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


Okej, poradziłem sobie.
Ale teraz nie wiem jak zrobić żeby można było to połączyć z kodem html ?

No bo mam np.
(...)
  1. <img src="xxx.jpg" width="530">


i pod nim chciałbym mieć ten formularz do komentowania.

Kiedy poprostu skopiuje kod php do pliku html i zapisze *.php to mam jakieś błedy.

Mógłbyś mi jeszcze z tym pomóc? Bardzo proszę.
Go to the top of the page
+Quote Post
Cysiaczek
post 23.02.2008, 16:26:04
Post #9





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




Cytat
Kiedy poprostu skopiuje kod php do pliku html i zapisze *.php to mam jakieś błedy.


Właśnie to Ci próbuję uświadomić - my nie wróżki i musisz nam podać te błędy, żebyśmy mogli pomóc.
Pod tym obrazkiem daj
  1. <?php
  2. include('nazwa_skryptu.php');
  3. ?>


--edit
Oczywiście zapisz główny plik jako .php


--------------------
To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness;
chaotic, confused, vulnerability, to inform yourself.
Think for yourself. Question authority.
Go to the top of the page
+Quote Post
l0ud
post 23.02.2008, 16:27:02
Post #10





Grupa: Zarejestrowani
Postów: 1 387
Pomógł: 273
Dołączył: 18.02.2008

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


zapisz całość do pliku np. comments.php

i w miejscu na stronie, gdzie to ma się pojawić dodaj

  1. <?php include('comments.php'); ?>


plik gdzie jest dołączany skrypt, musi mieć rozszerzenie php smile.gif


--------------------
XMPP: l0ud@chrome.pl
Go to the top of the page
+Quote Post
Luu
post 23.02.2008, 16:43:01
Post #11





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 23.02.2008

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


Dzięki! Super winksmiley.jpg Działa!

Ale jeszcze pare pytań, teraz jak chcę do innej fotki dodać formularz to za każdym razem muszę dodać nowy skrypt + .txt do zapisywania wiadomości ?


Czy wystarczy tutaj coś dodać:
  1. <?php
  2. // nazwa pliku z trescia komentarzy
  3.  $nazwa = 'komentarze.txt';
  4. ?>

Jeśli tak to jak to zrobić ? ;>
I jeszcze czy jest możliwość zmiany koloru tekstu dodawanych wypowiedzi ? Bo tak się składa że mam stronę w kolorze bardzo ciemny szary i ledwo widać te komentarze ;( A że zapisuje te pliki w txt to właśnie nie wiem jak to zrobić, wie ktoś może ?


[a tak trochę offtopem, Cysiaczek, z GW widzę jestes;) Heeh ja mieszkam 11 km od tegoż miasta ale tam się uczę ;D]
Ale okej, to nie ważne, jeśli możecie to jeszcze w tym mi pomóżccie winksmiley.jpg
Go to the top of the page
+Quote Post
l0ud
post 23.02.2008, 16:54:02
Post #12





Grupa: Zarejestrowani
Postów: 1 387
Pomógł: 273
Dołączył: 18.02.2008

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


Co do pliku. Najprościej, zamień w skrypcie:

Kod
  // nazwa pliku z trescia komentarzy
   $nazwa = 'komentarze.txt';


na

Kod
if (empty($nazwa)) exit;


a następnie dołączaj skrypt w ten sposób:
  1. <?php
  2. $nazwa = 'komentarze.txt';
  3. include('comments.php');
  4. ?>

Plik może być już inny smile.gif Tylko najpierw go utwórz i nadaj mu chmody.
Zmiany koloru tekstu dokonaj w skrypcie, bo to on przecież 'zlepia' wszystko w całość. Zainteresuj się tą linijką:
  1. <?php
  2. echo '<br /><b>'.$komentarz[0].'</b><br />'.$komentarz[1].'<br /><i>'.$komentarz[2].'</i><br />';
  3. ?>

...kodem html wysłanym przed całym skryptem smile.gif

Ten post edytował l0ud 23.02.2008, 16:54:37


--------------------
XMPP: l0ud@chrome.pl
Go to the top of the page
+Quote Post
Luu
post 23.02.2008, 17:11:55
Post #13





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 23.02.2008

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


Niestety cały czas zapisuje mi w to samo miejsce ;(

Mam poprostu wkleić to:
  1. <?php
  2. if (empty($nazwa)) exit;
  3. ?>


za to:
  1. <?php
  2. $nazwa = 'komentarze.txt';
  3. ?>



i później zamiast :
  1. <?php include('comments.php'); ?>

dodawać :
  1. <?php
  2. $nazwa = 'komentarze.txt';
  3. include('comments.php');
  4. ?>

questionmark.gif?


W pierwszy pliku dałem:
  1. <?php
  2. $nazwa = 'komentarze.txt';
  3. include('comments.php');
  4. ?>


a w drugim:
  1. <?php
  2. $nazwa = 'komentarze1.txt';
  3. include('comments.php');
  4. ?>


i kurcze i tak wszystko zapisuje w komentarze.txt ;(
Gdzieś robie błąd? Chmoda mam na 777

Ten post edytował Luu 23.02.2008, 17:15:42
Go to the top of the page
+Quote Post
l0ud
post 23.02.2008, 17:14:47
Post #14





Grupa: Zarejestrowani
Postów: 1 387
Pomógł: 273
Dołączył: 18.02.2008

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


W pliku skryptu nie ma być śladu po 'komentarze.txt'. Musisz usunąć linię z tym związaną i dać tam if (empty($nazwa)) exit; (tak jak napisałem wcześniej).

Dołączasz np. w ten sposób:

  1. <?php
  2. $nazwa = 'komentarze1.txt';
  3. include('comments.php');
  4. ?>


I nie ma szans raczej nie działać smile.gif


--------------------
XMPP: l0ud@chrome.pl
Go to the top of the page
+Quote Post
Cysiaczek
post 23.02.2008, 17:16:52
Post #15





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




eee

Fotka1.php
  1. <?php
  2. $nazwa='komantarze.txt'; // i tyle - nic nie zmieniaj
  3. include('comments.php');
  4. ?>


Fotka2.php
  1. <?php
  2. $nazwa='komantarze2.txt'; // i tyle - nic nie zmieniaj
  3. include('comments.php');
  4. ?>


--------------------
To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness;
chaotic, confused, vulnerability, to inform yourself.
Think for yourself. Question authority.
Go to the top of the page
+Quote Post
Luu
post 23.02.2008, 17:32:09
Post #16





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 23.02.2008

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


Heeh super, działa ;d

I chyba ostatnie pytanie, idzie ten kod zmodyfikować aby np. na stronie było max powiedzmy 5 komentarzy a stare usuwał bądź były niewidoczne?

Ten post edytował Luu 23.02.2008, 17:48:02
Go to the top of the page
+Quote Post
l0ud
post 23.02.2008, 17:47:47
Post #17





Grupa: Zarejestrowani
Postów: 1 387
Pomógł: 273
Dołączył: 18.02.2008

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


Cytat(Luu @ 23.02.2008, 17:32:09 ) *
I chyba ostatnie pytanie, idzie ten kod zmodyfikować aby np. na stronie było max powiedzmy 5 komentarzy a stare usuwał bądź były niewidoczne?


comments.php
  1. <b>Komentarze</b><br /><br />
  2.  
  3. <table>
  4.  
  5.  
  6.  
  7. <?php
  8.  
  9.  // nazwa pliku z trescia komentarzy - obowiazkowa
  10.  if (empty($nazwa)) exit;
  11.  
  12.  
  13.  // zapis jesli co wyslano z formularza
  14.  if($_POST['tytul'] & $_POST['tresc'] & $_POST['autor'])
  15.  {
  16. $fp=fopen($nazwa, 'a');
  17. flock($fp, 2);
  18. fwrite($fp,$_POST['tytul'].'||'.strip_tags(strtr($_POST['tresc'],'\n',' ')).'||'.$_POST['autor'].'\n');
  19. flock($fp, 3);
  20. fclose($fp);
  21.  }
  22.  
  23.  // jezeli juz istnieja jakies komentarze
  24.  if(is_file($nazwa))
  25.  {
  26. $linia = explode('\n',file_get_contents($nazwa));
  27. $ilosc = count($linia);
  28. for($i=$ilosc; $i>=$ilosc-6; $i--)
  29. {
  30.  if (empty($linia[$i])) continue;
  31.  $komentarz = explode('||',$linia[$i]);
  32.  echo '<br /><b>'.$komentarz[0].'</b><br />'.$komentarz[1].'<br /><i>'.$komentarz[2].'</i><br />';
  33. }
  34.  }
  35.  else
  36. echo 'Jeszcze nie ma zadnych komentarzy. Badz pierwszy i skomentuj!<br /><br />';
  37.  
  38. ?>
  39. <font color="white" size="+1">
  40. </table>
  41.  
  42. <form action="" method="POST">
  43. <table><tr><td>Tytul </td><td><input type="text" name="tytul" /></td></tr>
  44. <tr><td>Tresc</td><td><textarea cols="30" name="tresc" rows="7"></textarea> </td></tr>
  45. <tr><td>Autor </td><td><input type="text" name="autor" /> </td></tr>
  46. <tr><td><input type="submit" value="Dodaj komentarz" /></td></tr></table>
  47. </form></font>


Wyświetla 5 ostatnich komentarzy, w kolejności od najnowszego.

Co do zmiany koloru... Wskazałem linię, gdzie skrypt wyświetla komentarz. Możesz tam wpleść swój kod html.

Ten post edytował l0ud 23.02.2008, 17:48:11


--------------------
XMPP: l0ud@chrome.pl
Go to the top of the page
+Quote Post
Luu
post 23.02.2008, 18:05:58
Post #18





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 23.02.2008

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


Super, także działa winksmiley.jpg )))
A kolory już sobie zrobiłem...
Eh i kolejne pytanie ;P
czy da się formulaż przybliżyć trochę do tekstu a "Submit" bardziej wycentrować ?
Tak jak na grafice:


Próbowałem ale nie wiem, mi coś np ten submit nie chce się wycentrować worriedsmiley.gif

Ten post edytował Luu 23.02.2008, 18:09:06
Go to the top of the page
+Quote Post
empuszek
post 23.02.2008, 18:18:55
Post #19





Grupa: Zarejestrowani
Postów: 62
Pomógł: 2
Dołączył: 29.12.2006
Skąd: Polska, gliwice

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


edytuj tylko ten kawałek kodu
  1. <form action="" method="POST">
  2. <table><tr><td>Tytul </td><td><input type="text" name="tytul" /></td></tr>
  3. <tr><td>Tresc</td><td><textarea cols="30" name="tresc" rows="7"></textarea> </td></tr>
  4. <tr><td>Autor </td><td><input type="text" name="autor" /> </td></tr>
  5. <tr><td>&nbsp;</td><td><input type="submit" value="Dodaj komentarz" /></td></tr></table>
  6. </form></font>


Ten post edytował empuszek 23.02.2008, 18:19:50
Go to the top of the page
+Quote Post
l0ud
post 23.02.2008, 18:20:26
Post #20





Grupa: Zarejestrowani
Postów: 1 387
Pomógł: 273
Dołączył: 18.02.2008

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


Co do centrowania...

Kod
<form action="" method="POST">
<table><tr><td>Tytul </td><td><input type="text" name="tytul" /></td></tr>
<tr><td>Tresc</td><td><textarea cols="30" name="tresc" rows="7"></textarea> </td></tr>
<tr><td>Autor </td><td><input type="text" name="autor" /> </td></tr>
<tr><td colspan="2"><p style="text-align:center"><input type="submit" value="Dodaj komentarz" /></p></td></tr></table>
</form></font>


Bardzo polecam zacząć od jakiegoś dobrego kursu o HTML i CSS. Nie będziemy Cię przecież prowadzić za rękę na każdym kroku smile.gif

Poczytaj sobie:
http://www.kurshtml.boo.pl/


--------------------
XMPP: l0ud@chrome.pl
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 12.06.2025 - 17:16