Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Proszę o zabezpieczenie mojego formularza
Forum PHP.pl > Forum > Gotowe rozwiązania > Algorytmy, klasy, funkcje
kk77
Witam,

Jestem początkującym znawcą php,

Chciałby aby ktoś z ekspertów programowania w tym języku zabezpieczył mój formularz kontaktowy CAPTCHĄ, który znajduje się na stronie:

moj formularz

a oto jego kod

  1.  
  2.  
  3. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  4. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  5. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl">
  6. <meta http-equiv="content-language" content="pl" />
  7. <meta http-equiv="content-type" content="text/html; charset=iso-8859-2" />
  8. input.form1{letter-spacing:1px;font-size:13px;color:#0080C0; padding:1px;font-family:tahoma,verdana; width: 230px; height:20px; background-color: #f3f3f3; border:1px solid #D3D3D3;display:block;}
  9. textarea.form2{letter-spacing:1px;width: 230px; height:100px; background-color: #f3f3f3; border:1px solid #D3D3D3;font-size:14px;color:red;}
  10. a.linki{font-family:verdana;font-size:10px;color:#809B30;margin:0;text-decoration:none;font-weight:100;}
  11. a.linki:hover{text-decoration:underline;color:red;}
  12. label{font-size:11px; color:#808080;}
  13. </head>
  14. <?php
  15. // sprawdzamy, czy zmienna $submit jest pusta
  16. if (empty($_POST['submit'])) {
  17. // wyświetlamy formularz
  18. echo "<form method=\"post\">
  19. <label>imię lub nazwisko <input class=\"form1\" type=\"text\" name=\"imie\"></label>
  20. <label>adres e-mail <input class=\"form1\" type=\"text\" name=\"email\"></label>
  21. <label>temat wiadomości <input class=\"form1\" type=\"text\" name=\"temat\"></label>
  22. <input type=\"hidden\" name=\"wys\" value=\"krystiank7@o2.pl\">
  23. <input type=\"hidden\" name=\"raport\" value=\"Odpowiedź ode mnie\">
  24. <label>Treść wiadomości<br>
  25. <textarea class=\"form2\" name=\"tresc\"></textarea></label><br>
  26. <input style=\"font-size:13px;\" type=\"submit\" name=\"submit\" value=\"Wyślij\">
  27. </form>";
  28. }
  29. // sprawdzamy, czy zmienne przesłane z formularza nie są puste
  30. elseif (!empty($_POST['tresc']) && !empty($_POST['temat']) && !empty($_POST['wys']) && !empty($_POST['imie']) && !empty($_POST['email'])) {
  31. // jeżeli powyższy warunek jest spełniony tworzona jest wiadomość
  32. // zmienna $message zawiera treść wiadomości
  33. $my = "To ja Krystian";
  34. $message = "Treść wiadomości:\n$_POST[tresc]\n\nWysłał: $_POST[imie]\ne-mail: $_POST[email]\nTemat wiadomości: $_POST[temat]";
  35. $message1 = "Informujemy, że Twoja wiadomość:\n$_POST[tresc]\n\no temacie \n$_POST[temat] \n\nZostała poprawnie do nas dostarczona ";
  36. // zmienna $header zawiera przede wszystkim adres zwrotny
  37. $header = "From: $_POST[imie] napisał wiadomość <$_POST[email]>";
  38. $header1 = "From: $_POST[raport] <$_POST[wys]>";
  39. // funkcja mail() za pomocą której wiadomość zostanie wysłana
  40. @mail($_POST['wys'],"Wiadomosc ze strony Krystiana","$message","$header") and
  41. @mail($_POST['email'],"Dziękujemy za wysłanie wiadomości","$message1","$header1")
  42. or die('<p class=k5><font color=red>Nie udało się wysłać wiadomości<br>Spróbuj ponownie za jakiś czas</font></p>');
  43. // wyświetlenie komunikatu w przypadku powodzenia
  44. echo "<div align=\"left\"><p style=\"margin-left:10px;font-family:verdana;font-size:12px;color:black;text-align:left;\">Dziękujemy za wiadomość<br>Twoja wiadomość została wysłana</p></div>";
  45. }
  46. // lub w przypadku nie wypełnienia formularza do końca
  47. else echo "<p style=\"margin-left:10px;font-family:verdana;font-size:12px;color:red;text-align:left;\"><u>Aby wysłać wiadomość, musisz<br>wypełnić wszystkie pola formularza.<br>Spróbuj ponownie.</u></p>"; ?>
  48. <br>
  49.  
  50. </body>
  51. </html>
  52.  
  53.  


Proszę o pomoc gdyż męczy moją skrzynkę pocztową SPAM
pedro84
Cytat
Nasz główny cel to projektowanie prostych i lekkich stron internetowych, które oparte są na kodzie HTML PHP CSS. Technologa FLASH i skrypty Javy także nie stanowią dla nas przeszkody w tworzeniu dynamicznych stron www.


Wybacz, ale co jest trudnego w dodaniu zwykłej captchy do formularza?
kk77
Cytat(pedro84 @ 3.07.2010, 17:36:25 ) *
Wybacz, ale co jest trudnego w dodaniu zwykłej captchy do formularza?


czyli nie pomoże Pan jak Pan wie??
pedro84
Przestań z tym Panem, to forum, a nie jakaś uczelnia czy coś smile.gif

http://www.google.com/recaptcha/resources
Chyba najpopularniejsze rozwiązanie, jest tutorial jak to krok po kroku zrobić.

Ewentualnie, możesz sam ustalić jakieś pytanie (dośc proste) i sprawdzać odpowiedź nań. Kombinuj, jak masz konkretny problem, wtedy pisz, a pomożemy
gothye
captch lub ticket pomaga już wyeliminować wiekrzoć podstawowych spamerów
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-2024 Invision Power Services, Inc.