Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> 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. 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
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


--------------------
If you're good at something, never do it for free.
Potrzebujesz skryptu JS lub PHP - szukasz kogoś kto przetestuje twoją aplikację pod względem bezpieczeństwa? Szybko i solidnie? Napisz ;)
Mój blog - Jak zwiększyć wydajność front-endu - O buforowaniu wyjścia w PHP słów kilka...
Go to the top of the page
+Quote Post
arti89
post
Post #3





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

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


Witam odnawiam temat teraz uporządkowałem formularz kontaktowy który wysyła przez program pocztowy, czy ktoś mógłby poratować i napisać prosty skrypt php do tego formularza żeby wysyłał formularz bez użycia programu pocztowego? Kombinuje z PHP ale mi nie wychodzi bo nie chce zadziałać. Dopiero się szkole podstaw PHP i nie mam jeszcze zbyt dobrze opanowanego.

Kod:
  1. <form id="formularz" action="mailto:wzór@wzór?subject=wzór"method="post" enctype="text/plain" />
  2.  
  3. <tr>
  4. <td>Imię i nazwisko</td>
  5. <td><input type='text' id='imie' name="Imie i Nazwisko" style="width: 250px" required/></td>
  6. </tr>
  7. <tr>
  8. <td>Firma</td>
  9. <td><input type='text' id='firma' name="Firma" style="width: 250px"></td>
  10. </tr>
  11. <tr>
  12. <td>Ulica</td>
  13. <td><input type="ulica" id='ulica' name="Ulica" style="width: 250px"></td>
  14. </tr>
  15. <tr>
  16. <td>Kod pocztowy</td>
  17. <td><input type='text' id='kod pocztowy' name="Kod Pocztowy" style="width: 250px"></td>
  18. </tr>
  19. <tr>
  20. <td>Miejscowść</td>
  21. <td><input type='text' id='miejscowość' name="Miejscowosc" style="width: 250px"></td>
  22. </tr>
  23. <tr>
  24. <td>Telefon</td>
  25. <td><input type='telefon' id='telefon' name="Telefon" style="width: 250px"></td>
  26. </tr>
  27. <tr>
  28. <td>E-mail</td>
  29. <td><input type="email" id='email' name="email" style="width: 250px" required/></td>
  30. </tr>
  31. <tr>
  32. <td>Zapytanie</td>
  33. <td><textarea id='tresc' name="Zapytanie" style="width: 450px; height: 200px" required/></textarea></td>
  34. </tr>
  35. <tr>
  36. <td>&nbsp;</td>
  37. <td>
  38. <input type="submit" id="wyslij" value="Wyślij"/>
  39.  
  40. </tr>
  41. </div>
  42. </form>


Ten post edytował arti89 5.11.2013, 13:05:11
Go to the top of the page
+Quote Post
usb2.0
post
Post #4





Grupa: Zarejestrowani
Postów: 341
Pomógł: 25
Dołączył: 28.09.2008
Skąd: Lublin

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


no bez jaj nie,
nikt za Ciebie skyptu gotowego nie napisze,

wez gotowca jak sie meczysz
http://swiftmailer.org/
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 10:05