Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Formularz nie wysyła email
Forum PHP.pl > Forum > PHP
felixk
Witam, jak w temacie. Formularz kończy działanie na die() i ciągle nie chce wysłać maila. Gdzie jest błąd questionmark.gif

Kod wysyłający:

  1.  
  2. <?
  3.  
  4. $site_name = "Strona";
  5. $site_email = "email@email.pl";
  6. $data = gmdate("d-m-Y");
  7. $czas = gmdate("H:i");
  8.  
  9. function poprawny_email ( $var )
  10. {
  11. return preg_match ( '/^[_\.0-9a-z-]+@([_0-9a-z-]+\.)+[a-z]{2,4}$/', $var );
  12. }
  13.  
  14. if (!empty($_POST['opinia']) && !empty($_POST['imie']) && !empty($_POST['email']) && !empty($_POST['temat']))
  15. {
  16. $message = "Treść wiadomości:n$_POST[opinia]\nWysłał: $_POST[imie]\ne-mail: $_POST[email]";
  17.  
  18. $header = "From: $site_name>";
  19.  
  20. mail("$site_email","Wiadomosc ze strony WWW","$message","$header")
  21. or die('Nie udało się wysłać wiadomości');
  22.  
  23. echo '<div align="center"><strong>Wiadomość została wysłana poprawnie!</strong></div>';
  24. }
  25.  
  26. echo '<CENTER>';
  27. PRINT "Witamy <b>$imie</b>";
  28. echo '<BR><BR> Dziękujemy za zainteresowanie naszą stroną<BR><BR> Twoja wiadomośc została wysłana do pracownika ośrodka. <BR> <a href="/glowna,strona.html">Powrót</a>';
  29. echo '</CENTER>';
  30.  
  31.  
  32. mail("$email", "$site_name Dziękujemy za zainteresowanie",
  33. "Dziękujemy Ci $imie za przesłanie emaila do nas. Postaramy się odpowiedzieć na niego w możliwie najkrótszym czasie", "$naglowki");
  34.  
  35. mail("$site_email", "$site_name Formularz kontaktowy", "Wiadomosc przesłana dnia <b>$data</b> o godzinie <b>$czas</b>
  36. Przez: $imie
  37. Email: $email
  38. Temat: $temat
  39. Tresc: $opinia");
  40. ?>



Kod formularza:

  1.  
  2. <script type="text/javascript" src="js/walidacja.js"></script>
  3. <form action="form/form_osrodek/email.php" method="post" onsubmit="return checkform(this);">
  4.  
  5. <ul class="formularz">
  6. <li>Imię:*</li><li><input name="imie" size="28" value="" /></li>
  7. <li>Email:*</li><li><input name="email" size="28" value="" /></li>
  8. <li>Temat:*</li><li><input name="temat" size="28" value="" /></li>
  9. <li>Treść:* </li><li><textarea name="opinia" cols="48" rows="8"></textarea></li>
  10. <li><input class="submit" type="submit" value="Prześlij" /></li>
  11. </ul>
  12. </form>
  13.  
  14. <p>Pola oznaczone <span style="font-weight: bold;">* </span> są wymagane.</p>


Z góry dziękuję za pomoc
yevaud
co to znaczy ze nie chce smile.gif czy jest jakis komunikat bledu ? jakie sa ustawienia mail -> sprawdz phpinfo()
Armstrong
a gdzie odbierasz $_POST? dla funkcji mail(); ?

i najlepiej podaj błąd.
Lars_18
Jeżeli wysyłasz u siebie z localhosta sprawdź czy masz włączony Mercury (albo inny program do wysyłania poczty). Jeżeli natomiast jest to zewnętrzny serwer to możesz mieć zablokowaną funkcję mail. Tak jak mówili poprzednicy - podaj komunikat błędu.
felixk
Właśnie problem polega na tym, że komunikatu nie ma. Po prostu się nie wysyła, bo kończy działać na die(). $_POST wysyłam tak, jak w kodzie a o odebraniu nie myślałem. Jak odebrać $_POST questionmark.gif
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.