Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Polskie znaki w formularzu mailowym
Forum PHP.pl > Forum > PHP
dulek09
Witam, mam taki problem, PHP uczę się dopiero. Napisałem na podstawie 2 innych taki prosty formularz mailowy, ale niestety gdy wysyłam wiadomość, dochodzi ona bez polskich znaków. Proszę o pomoc smile.gif

  1. <?php
  2.  
  3.  
  4. // sprawdzamy, czy zmienna $submit jest pusta
  5. if (empty($_POST['submit'])) {
  6. // wyświetlamy formularz
  7. echo "<center><img
  8. style='width: 150px;' alt=''
  9. src='http://preria.pl/images/watra.png'><br><br>Pamiętaj, aby próbę wysłać na minimum 3 dni przed posiedzeniem KSW!<br><br><table border=\"0\"><form method=\"post\">
  10.  
  11. <tr>
  12. <td><div style=\"text-align: right;\">Imię*</div></td>
  13. <td><input class=\"textbox\" type=\"text\" name=\"imie\" style=\"width: 300px;\"></textarea></td>
  14. </tr>
  15. <tr>
  16. <td><div style=\"text-align: right;\">Nazwisko*</div></td>
  17. <td><input class=\"textbox\" type=\"text\" name=\"nazwisko\" style=\"width: 300px;\"></textarea></td>
  18. </tr>
  19. <tr>
  20. <td><div style=\"text-align: right;\">Data urodzenia*</div></td>
  21. <td><input class=\"textbox\" type=\"text\" name=\"data\" style=\"width: 300px;\"></textarea></td>
  22. </tr>
  23. <tr>
  24. <td><div style=\"text-align: right;\">Opiekun próby*</div></td>
  25. <td><input class=\"textbox\" type=\"text\" name=\"opiekun\" style=\"width: 300px;\"></textarea></td>
  26. </tr>
  27. <tr>
  28. <td><div style=\"text-align: right;\">Przewidywany termin zamknięcia*</div></td>
  29. <td><input class=\"textbox\" type=\"text\" name=\"termin\" style=\"width: 300px;\"></textarea></td>
  30. </tr>
  31. <tr>
  32. <td><div style=\"text-align: right;\">Obecny stopień*</div></td>
  33. <td><input class=\"textbox\" type=\"text\" name=\"stopien\" style=\"width: 300px;\"></textarea></td>
  34. </tr>
  35. <tr>
  36. <td><div style=\"text-align: right;\">Drużyna*</div></td>
  37. <td><input class=\"textbox\" type=\"text\" name=\"druzyna\" style=\"width: 300px;\"></textarea></td>
  38. </tr>
  39. <tr>
  40. <td><div style=\"text-align: right;\">Rodzaj próby*</div></td>
  41. <td> <select name=\"rodzaj\" style=\"width: 300px;\">
  42. <option></option>
  43. <option>Próba wędrownicza</option>
  44. <option>Próba na stopień HO</option>
  45. </select></td>
  46. </tr>
  47. <tr>
  48. <td><div style=\"text-align: right;\">Twój adres e-mail*</div></td>
  49. <td><input class=\"textbox\" type=\"text\" name=\"mail\" style=\"width: 300px;\"></textarea></td>
  50. </tr>
  51. <tr>
  52. <td><div style=\"text-align: right;\">planowane zadania<br>(termin wykonania,<br>sposób dokumentacji,<br>siła ciała, rozumu,<br>ducha, cel)*</div></td>
  53. <td><textarea class=\"textbox\" name=\"zadania\" style=\"width: 300px; height: 400px\"></textarea>
  54. </td>
  55. </tr>
  56. <tr>
  57. <td>&nbsp;</td>
  58. <td><input type=\"submit\" class=\"button\" name=\"submit\" value=\"Gotowe\">&nbsp;
  59. <input type=\"reset\" class=\"button\" value=\"Od nowa\"></td></form>
  60. </tr>
  61. </table><br><br></center><i>* pole wymagane</i>
  62.  
  63.  
  64. ";
  65. }
  66. // sprawdzamy, czy zmienne przesłane z formularza nie są puste
  67. elseif (!empty($_POST['imie']) && !empty($_POST['zadania']) && !empty($_POST['rodzaj']) && !empty($_POST['mail']) && !empty($_POST['nazwisko']) && !empty($_POST['data']) && !empty($_POST['opiekun']) && !empty($_POST['termin']) && !empty($_POST['stopien']) && !empty($_POST['druzyna'])) {
  68. // jeżeli powyższy warunek jest spełniony tworzona jest wiadomość
  69. // zmienna $message zawiera treść wiadomości
  70. $message = "
  71.  
  72. Został wysłany formularz dla KSW na stronie 12 Szczepu PRERIA. OTO ON: \n\n
  73. Imię:\n$_POST[imie]\n
  74. Nazwisko:\n$_POST[nazwisko]\n
  75. Data urodzenia:\n$_POST[data]\n
  76. Opiekun próby:\n$_POST[opiekun]\n
  77. Przewidywany termin zamknięcia:\n$_POST[termin]\n
  78. Adres e-mail:\n$_POST[mail]\n
  79. Stopień:\n$_POST[stopien]\n
  80. Drużyna:\n$_POST[druzyna]\n
  81. Rodzaj próby:\n$_POST[rodzaj]\n
  82. Zadania:\n$_POST[zadania]\n
  83.  
  84.  
  85. ";
  86.  
  87.  
  88. // zmienna $header zawiera przede wszystkim adres zwrotny
  89. $headers = 'MIME-Version: 1.0' . "\r\n";
  90. $headers .= 'Content-type: text/html; charset=iso-8859-2' . "\r\n";
  91. $header = "From: $_POST[imie] $_POST[nazwisko] <$_POST[mail]>";
  92. // funkcja mail() za pomocą której wiadomość zostanie wysłana
  93. @mail("d.kulig@preria.pl","Zgłoszenie próby - KSW","$message","$header","$headers")
  94. or die('Nie udało się wysłać wiadomości');
  95. // wyświetlenie komunikatu w przypadku powodzenia
  96. echo "<div align=\"center\"><strong>Zgłoszenie próby wysłano poprawnie!<br>
  97.  
  98. ";
  99. }
  100. // lub w przypadku nie wypełnienia formularza do końca
  101. else echo "<span style=\"color: #FF0000; text-align: center;\">Wypełnij wszystkie pola!</span>";
  102.  
  103. ?>
kalmaceta
google: "utf8 encoding header subject mail" lub phpmailer
erix
A raczyłeś przeszukać forum pod kątem frazy polskie znaki mail? Myślenie nie boli.
dulek09
ja naprawde sie dopiero ucze, szukalem wielu sposob, efekt zawsze byl taki sam.
erix
No np. jakimi próbowałeś?
Gligamesh
pamiętaj by kodowania były takie same, jak masz inne na stronie i inne w nagłówku to nie dziwota że masz krzaki.

lepiej też używać echo ''; a nie echo ""; no i łatwiej.

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.