Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Moj skrypt komentarzy., Problem z cookie :(
Tracid
post
Post #1





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 27.10.2004

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


A więc stworzylem prościutki skrypt komentarzy. Jednak mam problem z cookie.
Chciałbym zrobić tak aby jedna osoba mogła wysyłać komentarze raz na jakiś czas jednak po wpisaniu odpowiedniego kodu skrypt pokazuje że "Już dodałeś komentarz! Spróbuj za chwilę" jednak po tym jak doswieze strone z wynikami ten komentarz i tak zostaje dodany (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)

Oto kod pliku komentarze.php:
  1. <?php
  2.  
  3. if (isset($_POST['wyslij'])) {
  4. if (isset($_COOKIE['dodano'])) {
  5. echo "Już dodałeś komentarz! Spróbuj za chwilę.";
  6. } else {
  7. setcookie ('dodano', '$imie', time()+150);
  8. }
  9.  
  10.  
  11. // utworzenie krótkich nazw zmiennych
  12.  
  13. $imie = $_POST['imie'];
  14. $email = $_POST['email'];
  15. $komentarz = $_POST['komentarz'];
  16. $data=date('H:i, jS F');
  17.  
  18.  
  19. //dodawanie komentarza
  20.  
  21. echo 'komentarz dodano';
  22. $zapis = 
  23. $komentarz. "<br />".
  24. "<hr>".
  25. $data. "Autor: ". $imie. "&nbsp;&nbsp;&nbsp;". "Email:". "<a href="mailto:" . $email . "">" . $email . "</a>". "<br />". "<br />" ;
  26. // otwarcie pliku w celu dopisywania
  27. $wp = @fopen("komentarze.html", 'ab');
  28. fwrite($wp, $zapis, strlen($zapis));
  29. fclose($wp);
  30. }
  31.  
  32. ?>
  33.  
  34.  
  35. <html>
  36. <head>
  37. <meta http-equiv="content-type" content="text/html; charset=iso-8859-2" />
  38. </head>
  39. <body>
  40.  
  41. <form action="komentarze.php" method="post">
  42. Imię: <br /><input type="text" name="imie" size="15" />
  43. <br />
  44. E-mail: <br /><input type="text" name="email" size="15" />
  45. <br />
  46. Komentarz: <br /><textarea name="komentarz" rows="5" cols="30"></textarea>
  47. <br />
  48. <input type="submit" value="Wyślij komentarz" name="wyslij" />
  49.  
  50. </form>
  51. </body>
  52. </html>



Co tutaj jest nie tak (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)

PS: jedno pytanko, jaki kod należy wkleić aby jeszcze bylo zabezpieczenie adresu IP a nie tylko cookie (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




No ale przecież jesli ktos juz dodal komentarz, to i owszem, wywalasz komunikat ze juz dodal, ale pozostala czesc sktyptu się i tak wykonuje, gdyż nie jest objeta warunkiem. Ty warukniem obejmujesz tylko wyswietlanie komunikatu. Najprosciej:
  1. <?php
  2.  
  3. //....
  4. if (isset($_COOKIE['dodano'])) {
  5. echo "Już dodałeś komentarz! Spróbuj za chwilę.";
  6. exit; //wyjscie ze skryptu
  7. } else {
  8. setcookie ('dodano', '$imie', time()+150);
  9. }
  10. //....
  11.  
  12. ?>

ale najlepiej by bylo jakbys resztę skryptu uwarunkowal też, czyli rozszerzyl zakres dla else

co do IP to bylo pare dni temu o tym. ;oszukaj
Go to the top of the page
+Quote Post
Tracid
post
Post #3





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 27.10.2004

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


OOO dzieki bardzo (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) )
POmogło (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) )
Taka mała funkcja a tyle daje dobrego ;P
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: 23.08.2025 - 18:31