Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Moj skrypt komentarzy.
Forum PHP.pl > Forum > Przedszkole
Tracid
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 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 questionmark.gif

PS: jedno pytanko, jaki kod należy wkleić aby jeszcze bylo zabezpieczenie adresu IP a nie tylko cookie questionmark.gif
nospor
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
Tracid
OOO dzieki bardzo smile.gif)
POmogło smile.gif)
Taka mała funkcja a tyle daje dobrego ;P
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.