Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript][HTML][PHP]Prosty formularz do wysłania wiadomości
Forum PHP.pl > Forum > Przedszkole
msikorski
Witam,

Mam następujący problem. Chce umieścić na stronie prosty formularz kontaktowy i mam takie coś:

Plik contact.php
  1. <?php
  2. $field_name = $_POST['cf_name'];
  3. $field_subject = $_POST['cf_subject'];
  4. $field_email = $_POST['cf_email'];
  5. $field_message = $_POST['cf_message'];
  6.  
  7. $mail_to = 'michal@wysylamtaniej.pl';
  8. $subject = 'Zapytanie od: '.$field_name;
  9.  
  10. $body_message .= 'Od: '.$field_name."\n";
  11. $body_message .= 'E-mail: '.$field_email."\n";
  12. $body_message .= 'Temat: '.$field_subject."\n";
  13. $body_message .= 'Treść: '.$field_message;
  14.  
  15. $headers = 'Od: '.$cf_email."\r\n";
  16. $headers .= 'Odpowiedz do: '.$cf_email."\r\n";
  17.  
  18. $mail_status = mail($mail_to, $subject, $body_message, $headers);
  19.  
  20. if ($mail_status) { ?>
  21. <script language="javascript" type="text/javascript">
  22. alert('Dziękuje za wysłanie zapytania. Odezwiemy się najszybciej jak to możliwe');
  23. window.location = 'Contacts.html';
  24. </script>
  25. <?php
  26. }
  27. else { ?>
  28. <script language="javascript" type="text/javascript">
  29. alert('Wysłanie wiadomości nie powiodło sie. Wyślij wiadomość ręcznie na adres: salon@md-tronic.pl');
  30. window.location = 'Contacts.html';
  31. </script>
  32. <?php
  33. }
  34. ?>


I tak wygląda fragment kodu dotyczący formularza:
  1. <form id="ContactForm" method="post" action="contact.php">
  2. <div>
  3. <div class="wrapper">
  4. <span>Imię i nazwisko:</span>
  5. <input name="cf_name" id="cf_name" type="text" class="input">
  6. </div>
  7. <div class="wrapper">
  8. <span>Temat:</span>
  9. <input name="cf_subject" id="cf_subject" type="text" class="input" >
  10. </div>
  11. <div class="wrapper">
  12. <span>Twój e-mail:</span>
  13. <input name="cf_email" id="cf_email" type="text" class="input">
  14. </div>
  15. <div class="textarea_box">
  16. <span>Treść zapytania:</span>
  17. <textarea name="cf_message" id="cf_message"cols="1" rows="1"></textarea>
  18. </div>
  19. <a href="contact.php" onClick="document.getElementById('ContactForm').submit()">Wyślij</a>
  20.  
  21. </div>
  22. </form>


Wiadomość dociera do mnie w takiej formie:

Od:
E-mail:
Temat:
Treść:

Niestety wszystkie pola są puste. Gdzieś w taki wypadku musi być błąd. Tylko że formularz jest tak prosty że nie mam pomysłu co jest źle:)
Proszę o radę w tej kwestii.
gr56
Problem leży w użyciu linku który zamiast przesyłać formularz ładuje po prostu stronę contact.php.
Aby to naprawić trzeba zablokować domyślną funkcje linku:
  1. <a href="contact.php" onClick="document.getElementById('ContactForm').submit(); event.preventDefault();">Wyślij</a>
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.