Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Skrypt komentarzy- ciasteczka
compl
post
Post #1





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 8.08.2010

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


Witam. Znalazłem w necie taki oto skrypt komentarzy:
  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", "a");
  12. fwrite ($fp, $message);
  13. fclose ($fp);
  14. setcookie ("dodano", "{$_POST['name']}", time()+300);
  15. }
  16. }
  17. }
  18. @readfile(basename(($_SERVER['PHP_SELF'] . ".comment")));
  19. ?>
  20.  


Powinien on korzystać z ciasteczek, lecz niestety chyba to niedziała, bo mogę dodawać wiele komentarzy w ciągu paru minut. Mógłby mi ktoś ten skrypt poprawić?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 13)
IceManSpy
post
Post #2





Grupa: Zarejestrowani
Postów: 1 006
Pomógł: 111
Dołączył: 23.07.2010
Skąd: Kraków

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


Korzysta z ciasteczek, ale raczej nie w taki sposób, o który Tobie chodzi. On tylko zapisuje, że jakiś komentarz został dodany. Nigdzie nie sprawdza go.
Go to the top of the page
+Quote Post
compl
post
Post #3





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 8.08.2010

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


To czy mógłby ktoś go przerobić tak aby można było pisać jeden komentarz na godzinę?
Go to the top of the page
+Quote Post
bim2
post
Post #4





Grupa: Zarejestrowani
Postów: 1 873
Pomógł: 152
Dołączył: 9.04.2006
Skąd: Berlin

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


  1. setcookie ("dodano", "{$_POST['name']}", time()+300);

Liczba 300 to sekundy przez ile istnieje ciastko. Jeśli chcesz godzinę to 60*60=3600 sekund (IMG:style_emoticons/default/smile.gif)

@IceManSpy
Czytaj dokładnie kod. Dodaje ciastko, że dodano komentarz a potem przy próbie dodania sprawdza czy takie ciastko istnieje.
Go to the top of the page
+Quote Post
IceManSpy
post
Post #5





Grupa: Zarejestrowani
Postów: 1 006
Pomógł: 111
Dołączył: 23.07.2010
Skąd: Kraków

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


Cytat(bim2 @ 30.12.2010, 19:59:56 ) *
@IceManSpy
Czytaj dokładnie kod. Dodaje ciastko, że dodano komentarz a potem przy próbie dodania sprawdza czy takie ciastko istnieje.


Faktycznie, musiałem coś przegapić (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
compl
post
Post #6





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 8.08.2010

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


Coś jest nie tak, bo mogę robić dowolną ilosć komentarzy. Po dodaniu komentarza wyskakuje błąd:Warning: Cannot modify header information - headers already sent by (output started at /homez.379/swiatgot/www/naglowekart.php:1) in /homez.379/swiatgot/www/komentarzek.php on line 16
Próbuje użyć Notepada do zmiany kodowania, ale bez skutecznie zapisze w UTF-8 bez BOm. Otwieram ponownie, a tam ANSi mnie wita, więc kurde jak mam to zmienić?

Ten post edytował compl 30.12.2010, 22:36:05
Go to the top of the page
+Quote Post
bim2
post
Post #7





Grupa: Zarejestrowani
Postów: 1 873
Pomógł: 152
Dołączył: 9.04.2006
Skąd: Berlin

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


Widocznie ciastko Ci nie dopisuje. Zobacz u siebie w przeglądarce czy masz ciastko.
Go to the top of the page
+Quote Post
compl
post
Post #8





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 8.08.2010

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


Mam kilka ciasteczek o różnych nazwach nawet nie wiem skąd, bo nie korzystam z ciasteczek. (chyba, że było wysyłane po jednym ciastku zajeden komentarz)
Go to the top of the page
+Quote Post
IceManSpy
post
Post #9





Grupa: Zarejestrowani
Postów: 1 006
Pomógł: 111
Dołączył: 23.07.2010
Skąd: Kraków

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


Dodaj sobie echo przed i po setcookie z jakimś napisem i zobacz, czy Ci się one wyświetlają. Bo może nawet do tamtego miejsca nie dochodzi skrypt.
Go to the top of the page
+Quote Post
compl
post
Post #10





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 8.08.2010

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


Wstawiłem to echo i nic się nie zmieniło. Powiem także, że ten błąd dotyczy własnie linijki z setcookie.
Go to the top of the page
+Quote Post
bim2
post
Post #11





Grupa: Zarejestrowani
Postów: 1 873
Pomógł: 152
Dołączył: 9.04.2006
Skąd: Berlin

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


W Notepad++ użyj Convert to UTF-8 without BOM powinno ci kodowanie permanentnie zmienić. Przed <? nie może być żadnych znaków, spacji, enterów, tabów, czegokolwiek. Ma być nic. (IMG:style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post
compl
post
Post #12





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 8.08.2010

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


Jednak dodanie tego echa coś zmieniło:
Wysyłamy ciacho
Warning: Cannot modify header information - headers already sent by (output started at /homez.379/swiatgot/www/naglowekart.php:1) in /homez.379/swiatgot/www/komentarzek.php on line 17
ciacho wysłane

Tak to wygląda.
Go to the top of the page
+Quote Post
IceManSpy
post
Post #13





Grupa: Zarejestrowani
Postów: 1 006
Pomógł: 111
Dołączył: 23.07.2010
Skąd: Kraków

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


Ten błąd oznacza, że coś jest przed setcookie. Usuń "Wysyłamy ciacho" i zobacz, czy po tym ustawia się ciastko. Opcjonalnie zrób echo $_COOKIE['dodano']; wtedy zobaczysz, co ciasteczko o nazwie dodano zawiera.
Go to the top of the page
+Quote Post
compl
post
Post #14





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 8.08.2010

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


Ok. Po prostu usunąłem tą linijkę i błedu już nie ma. Na razie obejde się bez ciasteczek. Mam inne pytanie. Na stronie głównej mam odnośniki to artykułów i chciałbym żeby koło odnośników było napisane ile jest komentarzy. Jak mogę takie coś zrobić?
Go to the top of the page
+Quote Post

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: 24.12.2025 - 10:48