Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Krzaczki w wysyłanym mailu
Forum PHP.pl > Forum > Przedszkole
Johnas
Witam mam problem... Kodowanie znaków na stronie mam utf-8 na stronie wszystko ładnie wygląda ale jak wysle już e-mail to w czytanym mailu mam krzaczki sad.gif gdzie mam błąd?

  1. <html>
  2. <head>
  3. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  4. </head>
  5. <?php
  6. if ($_POST["wyslane"]) { // jeżeli formularz zostanie wysłany
  7.  
  8. $myemail = 'jonekmax@hotmail.com'; //E-MAIL na jaki ma być wysłany formularz
  9.  
  10. $nazwa = htmlspecialchars(stripslashes(strip_tags(trim($_POST["nazwa"]))), ENT_QUOTES); //nazwa użytkownika (imie & nazwisko)
  11. $email = htmlspecialchars(stripslashes(strip_tags(trim($_POST["email"]))), ENT_QUOTES); //email który użytkownik musi wpisać do kontaktu
  12. $tresc = htmlspecialchars(stripslashes(strip_tags(trim($_POST["tresc"]))), ENT_QUOTES); //tresc wiadomosci którą wpisze użytkownik
  13.  
  14. // sprawdzamy czy dane zostały wypełnione poprawnie
  15. if (strlen($nazwa) < 6 or strlen($nazwa) > 30 ) { // ABY ZMIENIC DŁUGOŚĆ WPISYWANYCH ZNAKÓW WPISZ TUTAJ INNĄ WARTOŚĆ(długość nazwy)
  16. $blad++;
  17. echo '<center><p><font color="red" size="-1"><b>Proszę wprowadzić imie i nazwisko (od 6 znaków do 30 znaków ).</b></font></p></cennter>';// TUTAJ MASZ WRAZIE CZEGO TREŚĆ BŁĘDU I TEŻ MUSISZ ZMIENIĆ ZNAKI
  18. }
  19. if (!eregi("^[0-9a-z_.-]+@([0-9a-z-]+\.)+[a-z]{2,4}$", $email)) { // SPRAWDZA CZY E-MAIL JEST WYPEŁNIONY W SPOSÓB nazwa@nazwa.region
  20. $blad++;
  21. echo '<center><p><font color="red" size="-1"><b>Wpisz swój adres e-mail poprawnie.</b></font></p></center>';
  22. }
  23. if (strlen($nazwa) < 1) { //minimalna 1 znak
  24. $blad++;
  25. echo '<center><p><font color="red" size="-1"><b>Proszę wprowadzić treść wiadomości.</b></font></p></center>';
  26. }
  27. // jeżeli $blad == 0 (czyli jeżeli nie było błedu ze wpisywaniem danych)
  28. if ($blad == 0) {
  29. $list = "Wiadomość ze strony firmowej LIM !
  30.  
  31. Dane wiadomości:
  32. Imie i Nazwisko: $nazwa
  33. Email do odpowiedzi: $email
  34.  
  35. Treść:
  36. $tresc
  37.  
  38. ";
  39. mail($myemail, "{$emailreg}", $list, "From: $email");
  40. echo '<center><font color="#BA2F2E">Dziękujemy za nadesłanie nam informacji</font></p></center>';
  41. }
  42. }
  43. ?>
  44.  
  45. <p align="justify" style="line-height: 200%"><font color="#BA2F2E">Wyślij nam E-mail:</font></p>
  46.  
  47. <p>
  48. <form class="form" action="" method="post">
  49. <input type="hidden" name="wyslane" value="TRUE" />
  50. <table>
  51. <tr><td>Imie i nazwisko:</td></tr><tr><td><input type="text" name="nazwa" style="width:200px;" /></td></tr>
  52. <tr><td>Email:</td></tr><tr><td><input type="text" name="email" style="width:200px;" /></td></tr>
  53. <tr><td>Treść wiadomości:</td></tr><tr><td><textarea name="tresc" style="width:600px; height: 200px;"></textarea></td></tr>
  54. </table>
  55. </p>
  56. <center>
  57. <input type="submit" style="border:0px; background:0px; color:#CC0000; font-weight:bold;" value="Wyślij wiadomość " />
  58. </center>
  59. </form>

Co mam nie tak?
darko
Jeżeli musisz koniecznie wysyłać maile funkcją mail() to spróbuj tak:

  1. mail($do_kogo, '=?UTF-8?B?'.utf8_encode($temat).'?=', $tresc, "MIME-Version: 1.0\r\nContent-type: text/plain; charset=UTF-8\r\n");

[za:] manual
(dostosuj sobie zmienne i powinno działać)
albo:
  1. mail($do_kogo, $temat, $tresc, "Content-Type: text/html; charset=utf-8");

lub
  1. mail($do_kogo, $temat, $tresc, "Content-Type: text/plain; charset=utf-8");
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.