Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [AJAX][JavaScript][PHP]Problem z wysylanie maila
Forum PHP.pl > Forum > Przedszkole
ukano
Witam serdecznie.
Mam problem ze stworzeniem odpowiedniego pliku php odpowiedzialnego za wyslanie maila ze strony. Mam kod formularza:

  1. <form>
  2. <input type="text" name="emailaddress" style="display:none" />
  3. <fieldset class="input"><label for="name">Ksywka <b>*</b></label> <input type="text" id="name" name="name"></fieldset>
  4. <fieldset class="input"><label for="email">E-mailik <b>*</b></label> <input type="text" id="email" name="email"></fieldset>
  5. <fieldset class="detail"><label for="message">Info <b>*</b></label> <textarea id="message" name="message"></textarea></fieldset>
  6. <fieldset class="input"><label for="telephone">Komóra</label> <input type="text" id="telephone" name="telephone"></fieldset>
  7. <fieldset class="input"><label for="website">WWW</label> <input type="text" id="website" name="website"></fieldset>
  8. <fieldset class="input"><label>Pola wymagane</label>
  9. <ul>
  10. <li><label><input type="checkbox" name="checkbox1" value="photography" /><span>Foto</span></label></li>
  11. <li><label><input type="checkbox" name="checkbox2" value="web design" /><span>WWW</span></label></li>
  12. <li><label><input type="checkbox" name="checkbox3" value="programming" /><span>Programowanie</span></label></li>
  13. <li><label><input type="checkbox" name="checkbox4" value="print design" /><span>Inne</span></label></li>
  14. </ul>
  15. </fieldset>
  16. <fieldset class="input"><label>Ile chcesz nam zapłacić</label>
  17. <ul>
  18. <li><label><input type="radio" name="budget" value="Ł600-Ł1900" /><span>1000 - 3000</span></label></li>
  19. <li><label><input type="radio" name="budget" value="Ł1900-Ł3800" /><span>3000 - 6000</span></label></li>
  20. <li><label><input type="radio" name="budget" value="Ł3800-Ł6300" /><span>6000 - 10,000</span></label></li>
  21. <li><label><input type="radio" name="budget" value="Ł6,300+" /><span>10,000+</span></label></li>
  22. </ul>
  23. </fieldset>
  24. <button>Wyślij</button>
  25. </form>


oraz fragment skryptu js:

  1. // wysylanie maila poprzez ajax
  2. $("#contact form button").click(function(e) {
  3.  
  4. (e).preventDefault();
  5.  
  6. var emailReg = /^[a-zA-Z0-9._+-]+@[a-zA-Z0-9-]+\.[a-zA-Z]{2,4}(\.[a-zA-Z]{2,3})?(\.[a-zA-Z]{2,3})?$/;
  7.  
  8. var name = $("#name").val();
  9. var email = $("#email").val();
  10. var message = $("#message").val();
  11.  
  12. if(name.length < 1) {
  13. $("#name").addClass("error");
  14. }
  15. else {
  16. $("#name").removeClass("error");
  17. }
  18.  
  19. if(emailReg.test(email) == false ) {
  20. $("#email").addClass("error");
  21. }
  22. else {
  23. $("#email").removeClass("error");
  24. }
  25.  
  26. if(message.length < 1) {
  27. $("#message").addClass("error");
  28. return false;
  29. }
  30. else {
  31. $("#message").removeClass("error");
  32. }
  33.  
  34. $.ajax({
  35. type: "post",
  36. dataType: "json",
  37. url: "mail.php",
  38. data: $("form").serialize(),
  39. success: function(data) {
  40.  
  41. if(data.nameValidate == true && data.emailValidate == true && data.messageValidate == true) {
  42. $("form").fadeOut("fast", function() {
  43. $("#contact").append('<p class="sent">' + data.success + '</p>').fadeIn("slow");
  44. });
  45. };
  46.  
  47. }
  48. });
  49. return false;
  50. });


Czy ktos pomoze napisac mail.php aby to dzialalo?
Daiquiri
Ustalmy jedno: pomoże czy napisze za Ciebie? smile.gif
b4rt3kk
Skoro formularz został zwalidowany już za pomocą ajaxa to w mail.php wystarczy odczytać POST i podstawić do funkcji mail.

  1. bool mail ( string $to , string $subject , string $message [, string $additional_headers [, string $additional_parameters ]] );


Jeśli masz się czegoś nauczyć to proponuję na początek wyświetlenie całej tablicy POST:

  1. print_r($_POST);


i wyświetlenie sobie treści zwrotnej za pomocą ajaxa np. alertem.
ukano
Dziekuje b4rt3kk za sugestie.

Zrobilem jak pisales, ale niestety plik mail.php zwraca pusta tablice.
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.