Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z formularzem kontaktowym. Bardzo pilne!
Forum PHP.pl > Forum > Przedszkole
Masternak22
Witam!
Jestem w trakcie pisania strony internetowej, w której chciałem umieścić formularz kontaktowy.
Został on wykonany w języku HTML oraz CSS. Zawiera też walidację napisaną w JS. Teraz pozostała mi
meta czyli kod PHP. Testując na serwerze kod się wykonuje bo wyświetla wiadomość "Wszystko ok", ale na
skrzynce pocztowej nic nie mam. W czym tkwi problem?? Poniżej zamieszczam część kodu index.html oraz mail.php

  1. <div class='container'>
  2. <div class='sixteen columns form'>
  3. <h3>Napisz do nas</h3>
  4. <p>Przedstaw nam swój pomysł</p>
  5. <form id="FormularzKontaktowy" action="mail.php" method="post">
  6. <label>Jak mamy się do Ciebie zwracać?</label>
  7. <input type='text' name='name' placeholder='Imię oraz nazwisko'>
  8. <label>Jak mamy się z Tobą skontaktować?</label>
  9. <input type='text' name='email' placeholder='Twój adres e-mail'>
  10. <label>Treść wiadomości</label>
  11. <textarea cols='50' rows='15' name='message'></textarea>
  12. <input type='submit' value='Wyślij wiadomość!'>
  13. </form>
  14. </div>
  15. </div>
  16.  
  17. <script src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.13.1/jquery.validate.js"></script>
  18.  
  19. $("#FormularzKontaktowy").validate({
  20. rules: {
  21. name: "required",
  22. email: "required",
  23. message: "required",
  24. email: {
  25. required: true,
  26. email: true
  27. }
  28. },
  29. messages: {
  30. name: "Uzupełnij to pole",
  31. message: "Nie wpisałeś treści wiadomości",
  32. email: {
  33. required: "Nie podałeś swojego adresu e-mail",
  34. email: "Błędny format adresu e-mail"
  35. }
  36. }
  37. });
  38. </script>



  1. <?php
  2. $to = 'gracz.anonimowy@gmail.com';
  3. $subject = $_POST['name'];
  4. $message = $_POST['message'];
  5. $headers = 'From: ' . $_POST['email'] . "\r\n" .
  6. 'Content-type: text/html; charset=utf-8';
  7.  
  8. mail($to, $subject, $message, $headers);
  9. echo 'Wszystko ok';
  10. ?>
Kshyhoo
Przenoszę do działu Przedszkole, proszę dopasować tytuł wątku do wymogów działu.
CzlowiekSkrypt
Po 1 - Z serwera localhost nie da się wysłać maila, musisz to przetestować na jakimś hostingu.
Po 2 -

kod

mail($to, $subject, $message, $headers);
echo 'Wszystko ok';

nie ma sensu, funkcja mail zwraca wartości 0 albo 1 w zależności czy zadziała i nawet jak zwróci 0 to wyskoczy Ci że wszystko ok bo nie wyłapujesz tego, musisz to zawinąć w instrukcję warunkową:

if (mail($to, $subject, $message, $headers)){
echo "Wszystko ok";}
else {echo "błąd";
}
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.