Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Jquery formularz kontaktowy?, Formularz kontaktowy
arti89
post
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 11.10.2013

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


Witam na forum jestem nowy i chciałem prosić was o pomoc, dokładnie opisze wszystko od początku. Zaczynam się uczyć tworzenia stron w HTML i PHP więc nie jestem profesjonalistą więc proszę o wyrozumiałość jeśli nie będę czegoś pojmował za szybko. (IMG:style_emoticons/default/smile.gif) przejdę może do sprawy ma stronkę internetową do poprawy i do dokończenia, w podstronie KONTAKT mam dane firmy i napisany formularz kontaktowy który po wypełnieniu pól wysyła informacje na Email do mnie i teraz potrzebuje wstawić JQuera żeby sprawdzał np. czy wpisany email jest poprawny jeśli nie to żeby wyświetlał komunikat że "podany email jest niepoprawny" czytałem sporu już o JQuery javascript ale nie mogę sobie dać rady. Wiem że jeszcze nie do końca opanowałem język php i html ale najlepiej się uczyć metodą prób i błędów. Poniżej wstawię mój formularz kontaktowy który mam w podstronie "kontakt"

  1. <div style="clear: both;">
  2.  
  3. <h3>Formularz kontaktowy</h3>
  4. <?php
  5.  
  6. if (empty($_POST['submit'])) {
  7.  
  8. echo "<table border=\"0\"><form method=\"post\">
  9. <tr>
  10. <td>Imię i nazwisko*</td>
  11. <td><input type=\"text\" name=\"imie\" style=\"width: 250px\"></td>
  12. </tr>
  13. <tr>
  14. <td>Firma</td>
  15. <td><input type=\"text\" name=\"firma\" style=\"width: 250px\"></td>
  16. </tr>
  17. <tr>
  18. <td>Ulica</td>
  19. <td><input type=\"text\" name=\"ulica\" style=\"width: 250px\"></td>
  20. </tr>
  21. <tr>
  22. <td>Kod pocztowy</td>
  23. <td><input type=\"text\" name=\"kod pocztowy\" style=\"width: 250px\"></td>
  24. </tr>
  25. <tr>
  26. <td>Miejscowść</td>
  27. <td><input type=\"text\" name=\"miejscowość\" style=\"width: 250px\"></td>
  28. </tr>
  29. <tr>
  30. <td>Telefon</td>
  31. <td><input type=\"text\" name=\"telefon\" style=\"width: 250px\"></td>
  32. </tr>
  33. <tr>
  34. <td>E-mail*</td>
  35. <td><input type=\"text\" name=\"email\" style=\"width: 250px\"></td>
  36. </tr>
  37. <tr>
  38. <td>Zapytanie*</td>
  39. <td><textarea name=\"tresc\" style=\"width: 450px; height: 200px\"></textarea></td>
  40. </tr>
  41. <tr>
  42. <td>&nbsp;</td>
  43. <td><input type=\"submit\" name=\"submit\" value=\"Wyślij\">&nbsp;
  44. <input type=\"reset\" value=\"Od nowa\"></td></form>
  45. </tr>
  46. </table>";
  47. }
  48.  
  49. elseif (!empty($_POST['tresc']) && !empty($_POST['imie']) && !empty($_POST['email'])) {
  50.  
  51. $message = "Zapytanie*:\n$_POST[tresc]\nWyslal: $_POST[imie]\ne-mail: $_POST[email]";
  52. $header = "From: $_POST[imie] <$_POST[email]>";
  53. @mail("artur.szefler@agrolok.com.pl","Wiadomosc ze strony www.agrolok.pl","$message","$header")
  54.  
  55. or die('Nie udało się wysłać wiadomości');
  56. echo "<div align=\"center\"><strong>Wiadomość została wysłana poprawnie!</strong></div>";
  57. }
  58. else echo "<span style=\"color: #FF0000; text-align: center;\">Wypełnij wszystkie pola formularza!</span>";
  59.  
  60. ?>
  61.  
  62.  
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Sephirus
post
Post #2





Grupa: Zarejestrowani
Postów: 1 527
Pomógł: 438
Dołączył: 28.06.2011
Skąd: Warszawa

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


Skoro jesteś początkujący to poznaj 2 ważne zasady:

1. Walidacja po stronie przeglądarki (JS) jest miłym dodatkiem ograniczającym liczbę żądań do serwera ale nic ponadto.
2. Po stronie serwera zawsze musi być walidacji nie zależnie od tego czy istnieje ona po stronie przeglądarki czy nie.

Wynika z tego to, że Twoja walidacja adresu e-mail w jQuery albo "nie ma sensu" albo jest tylko bajerem. Musisz i tak zrobić walidację po stronie PHP bo JS bardzo łatwo oszukać a jeśli walidujesz wszystko tylko w JS to skrypt PHP łyknie każdy rodzaj ataku.

najszybsza metoda walidacji adresu e-mail jaką znam to przykładowo w PHP:

  1. if(!filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) die('E-mail not valid');


W JS możesz użyć wyrażeń regularnych do sprawdzenia czy e-mail wydaję się być prawidłowy - jQuery to ułatwi.

Inne sugestie:

- nie ustawiaj nagłówka FROM na adres podany w formularzu - szybko trafisz na spam listy
- wysyłając mail zabezpiecz się przed XSS (wstrzykiwaniem kodu) - użyj przynajmniej htmlspecialchars lub strip_tags w PHP
Go to the top of the page
+Quote Post

Posty w temacie


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: 10.10.2025 - 09:57