Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Formularz i cookie
Forum PHP.pl > Forum > Przedszkole
Maciejus
Mam mały problem - dopiero raczkuje w php i nie mam pojecia jak to zrobic.

Musze zrobic strone na ktorej znajduje sie formularz do wypelnienia.
A wyglada tak:

[code]
  1. <?php
  2. if (count($_POST))
  3. {
  4. $email = 'mail@mail.mail';
  5. $subject = 'Ankieta';
  6. $message = 'Dziękujemy za wysłanie formularza';
  7. $error = 'Wystąpił błąd podczas wysyłania formularza';
  8. $charset = 'iso-8859-2';
  9.  
  10. $head =
  11. "MIME-Version: 1.0rn" .
  12. "Content-Type: text/plain; charset=$charsetrn" .
  13. "Content-Transfer-Encoding: 8bit";
  14. $body = '';
  15. foreach ($_POST as $name => $value)
  16. {
  17. if (is_array($value))
  18. {
  19. for ($i = 0; $i < count($value); $i++)
  20. {
  21. $body .= "$name=$value[$i]rn";
  22. }
  23. }
  24. else $body .= "$name=$valuern";
  25. }
  26. echo mail($email, "=?$charset?B?" . base64_encode($subject) . "?=", $body, $head) ? $message : $error;
  27. }
  28. else
  29. {
  30. ?>
  31. <form action="?" method="post">
  32.  
  33. <!-- tutaj jest moja ankieta -->
  34.  
  35. <input type="SUBMIT" value="Wyślij">
  36.  
  37. </form>
  38.  
  39. <?php
  40. }
  41. ?>


I wszystko dziala poprawnie tylko mam jeden problem: co i gdzie dopisac aby kozystajac z ciasteczek wypelniajacy ankiete nie mogl spamowac klikajac przycisk "wyslij".

Z gory dziekuje za pomoc.
cadavre
Wyślij <input> hidden z jakąś wartością i sprawdzaj w skrypcie: jeśli ten hidden ma odpowiednią wartość ustaw ciasteczko. Potem na początku skryptu sprawdzaj tylko czy isset($_COOKIE['jakiestam']) - jeśli tak: spam, nie: utwórz takie ciastko by nie spamować dalej.
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.