Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][html] Dodatkowe pole w formularzu
Forum PHP.pl > Forum > Przedszkole
Zleconko
Witam wszystkich. Na wstępie dodam, że dopiero zaczynam przygodę z PHP i HTML.

Mam taki problem: w formularzu jednego skryptu, pragnę dodać pole "antybot", które ma na celu wymusić odpowiedź na postawione przeze mnie pytanie.

Np. Jaka jest pora roku?
Użytkownik który się rejestruje musi wpisać: lato

W jaki sposób można napisać takie pole? Czy wymaga ono użycia PHP czy za pomocą samego HTML jestem w stanie to zrobić?

Z góry dziękuję za odpowiedź
Ulysess
w html/css robisz oprawe strony a np sprawdzenie jaka jest pora roku to do tego juz uzywasz php
darko
html + php (php jest potrzebne do określenia aktualnej pory roku). Najlepiej użyć sprawdzonego systemu antyspamowego http://www.google.com/recaptcha jest bardzo skuteczny.
ps. na potrzeby tego posta pokusiłem się o napisanie spaghetti kodu sprawdzającego bieżący miesiąc, ale uwaga skrypt nie uwzględnia lat przestępnych, co sprowadza się w praktyce do podmiany dwóch linii kodu, oto on:
  1. $d = date('d-n');
  2. $tmp = explode('-', $d);
  3. $month = $tmp[1];
  4. $day = $tmp[0];
  5. unset($tmp);
  6. /*
  7. $thresholdMap = array(
  8. 1 => 31,
  9. 2 => 28,
  10. 3 => 31,
  11. 4 => 30,
  12.  
  13. 5 => 31,
  14. 6 => 30,
  15. 7 => 31,
  16. 8 => 31,
  17.  
  18. 9 => 30,
  19. 10 => 31,
  20. 11 => 30,
  21. 12 => 31);
  22. */
  23. $seasonsMap = array(
  24. 1 => 'zima',
  25. 2 => 'zima',
  26. 3 => 'zima',
  27. 4 => 'wiosna',
  28.  
  29. 5 => 'wiosna',
  30. 6 => 'wiosna',
  31. 7 => 'lato',
  32. 8 => 'lato',
  33.  
  34. 9 => 'lato',
  35. 10 => 'jesień',
  36. 11 => 'jesień',
  37. 12 => 'jesień');
  38.  
  39. $season = false;
  40. switch($month)
  41. {
  42. case 3: $season = $day >= 21 ? 'wiosna' : $seasonsMap[$month]; break;
  43. case 6: $season = $day >= 22 ? 'lato' : $seasonsMap[$month]; break;
  44. case 9: $season = $day >= 23 ? 'jesień' : $seasonsMap[$month]; break;
  45. case 12: $season = $day >= 22 ? 'zima' : $seasonsMap[$month]; break;
  46. default: $season = $seasonsMap[$month];
  47. }
  48. echo 'Aktualny miesiąc to ' . $season;

// edit z $thresholdMap w ogóle nie korzystam, niepotrzebne więc można wywalić.
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.