Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Formularz mailowy na www mały problem, problem z polskimi znakami
--piodes--
post
Post #1





Goście







Na podstawie jakiegoś skrypciku z internetu przygotowałem dla siebie formularz www ze strony www
i prawie wszystko dobrze gdyby nie fakt żr jak ktoś napisze treść lu w imieniu polską czcionkę ęśążźćółń to mam krzaczki.
Cały plik zapisany jest w kodzie UTF-8
Z góry dziękuję za podpowiedź, pozdrawiam Piotr!

  1. <html>
  2. <head>
  3. <meta http-equiv="Content-Language" content="pl">
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  5. <style>
  6. <!--
  7. table { font-family: tahoma; font-size: 11pt; }
  8. td {
  9. color:#FFFFFF;
  10. height:12px;
  11. text-align:right;
  12. }
  13. -->
  14. </style>
  15. </head>
  16. <body>
  17. <center>
  18.  
  19. <?php
  20. if (empty($_POST['submit'])) {
  21. echo "<table border=\"0\"><form method=\"post\">
  22.  
  23. <tr>
  24. <td>Imię, nazwisko lub nick</td>
  25. <td><input type=\"text\" name=\"imie\" style=\"width: 250px\"></td>
  26. </tr>
  27.  
  28. <tr>
  29. <td>Adres e-mail</td>
  30. <td><input type=\"text\" name=\"email\" style=\"width: 250px\"></td>
  31. </tr>
  32.  
  33. <tr>
  34. <td>Treść wiadomości</td>
  35. <td><textarea name=\"tresc\" style=\"width: 250px; height: 100px\"></textarea></td>
  36. </tr>
  37.  
  38. <tr>
  39. <td>&nbsp;</td>
  40. <td><input type=\"submit\" name=\"submit\" value=\"Wyślij\">&nbsp;
  41. <input type=\"reset\" value=\"Od nowa\"></td></form>
  42. </tr>
  43.  
  44. </table>";
  45.  
  46. }
  47. elseif (!empty($_POST['tresc']) && !empty($_POST['imie']) && !empty($_POST['email'])) {
  48. $message = "NAPISZ DO NAS - wiadomość ze strony WWW
  49. Wyslal: $_POST[imie]\n e-mail: $_POST[email]\n Tresc wiadomosci:\n $_POST[tresc]";
  50. $header = "From: $_POST[imie] <$_POST[email]>";
  51. @mail("admin@czerwonegitary.pl","Napisz do nas - wiadomosc ze strony WWW","$message","$header")
  52. or die('Nie udało sięl wysłać wiadomości');
  53. echo "<div align=\"center\"><strong><font color='white' face='tahoma' size='3'>Wiadomość została wysłana poprawnie!</font></strong></div>";
  54. }
  55. else echo "<span style=\"color: #FFFFFF; text-align: center;\">Wypelnij wszystkie pola formularza!</span>";
  56.  
  57. ?>
  58.  
  59. </center>
  60. </body>
  61. </html>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 9)
Mackos
post
Post #2





Grupa: Zarejestrowani
Postów: 362
Pomógł: 44
Dołączył: 10.06.2009

Ostrzeżenie: (0%)
-----


Plik zapisz w UTF-8 bez BOM (w programie Notepad++) musi podziałać
Go to the top of the page
+Quote Post
--piodes--
post
Post #3





Goście







Właśnie tak mam zapisane
na www czcionka wyświetla sie dobrze OK
ale w mailu dochodzą zamiast polskich liter krzaczki i nie wiem w czym problem.
Go to the top of the page
+Quote Post
Mackos
post
Post #4





Grupa: Zarejestrowani
Postów: 362
Pomógł: 44
Dołączył: 10.06.2009

Ostrzeżenie: (0%)
-----


To zapewne z headers coś nie tak, zamiast
  1. $header = "From: $_POST[imie] <$_POST[email]>";

wpisz:
  1. $header = "From: $_POST[imie] <$_POST[email]>\r\n" . "X-Mailer: PHP/" . phpversion();
Go to the top of the page
+Quote Post
Ilware
post
Post #5





Grupa: Zarejestrowani
Postów: 248
Pomógł: 31
Dołączył: 14.12.2010
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


prześlij w nagłówku kodowanie

  1. mail( mail, temat, tresc, "Content-type: text/html; charset=UTF-8" );


jak to nie pomoże spróbuj

  1. $header .= \"Content-typ: text/html; charset=utf-8r\n\";
  2. $header .= \"Content-Transfer-Encodin: 8bitr\n\";
  3.  
  4. mail($email, $temat, $text, $header);


a jak jeszcze i to nie zadziała to użyj PHPMailera

http://phpmailer.worxware.com/
Go to the top of the page
+Quote Post
piodes
post
Post #6





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 5.03.2009

Ostrzeżenie: (0%)
-----


może to śmiesznie i prosto brzmi ale mam prośbę możesz mi wkleić odpowiednio w mój kod te zmiany bo nie bardzo wiem jak to uczynić cieniutki jestem z php (-:
z góry dziękuję
  1. <html>
  2. <head>
  3. <meta http-equiv="Content-Language" content="pl">
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  5. <style>
  6. <!--
  7. table { font-family: tahoma; font-size: 11pt; }
  8. td {
  9. color:#FFFFFF;
  10. height:12px;
  11. text-align:right;
  12. }
  13. -->
  14. </style>
  15. </head>
  16. <body>
  17. <center>
  18.  
  19. <?php
  20. if (empty($_POST['submit'])) {
  21. echo "<table border=\"0\"><form method=\"post\">
  22.  
  23. <tr>
  24. <td>Imię, nazwisko lub nick</td>
  25. <td><input type=\"text\" name=\"imie\" style=\"width: 250px\"></td>
  26. </tr>
  27.  
  28. <tr>
  29. <td>Adres e-mail</td>
  30. <td><input type=\"text\" name=\"email\" style=\"width: 250px\"></td>
  31. </tr>
  32.  
  33. <tr>
  34. <td>Treść wiadomości</td>
  35. <td><textarea name=\"tresc\" style=\"width: 250px; height: 100px\"></textarea></td>
  36. </tr>
  37.  
  38. <tr>
  39. <td>&nbsp;</td>
  40. <td><input type=\"submit\" name=\"submit\" value=\"Wyślij\">&nbsp;
  41. <input type=\"reset\" value=\"Od nowa\"></td></form>
  42. </tr>
  43.  
  44. </table>";
  45.  
  46. }
  47. elseif (!empty($_POST['tresc']) && !empty($_POST['imie']) && !empty($_POST['email'])) {
  48. $message = "NAPISZ DO NAS - wiadomość ze strony WWW
  49. Wyslal: $_POST[imie]\n e-mail: $_POST[email]\n Tresc wiadomosci:\n $_POST[tresc]";
  50. $header = "From: $_POST[imie] <$_POST[email]>";
  51. @mail("admin@czerwonegitary.pl","Napisz do nas - wiadomosc ze strony WWW","$message","$header")
  52. or die('Nie udało sięl wysłać wiadomości');
  53. echo "<div align=\"center\"><strong><font color='white' face='tahoma' size='3'>Wiadomość została wysłana poprawnie!</font></strong></div>";
  54. }
  55. else echo "<span style=\"color: #FFFFFF; text-align: center;\">Wypelnij wszystkie pola formularza!</span>";
  56.  
  57. ?>
  58.  
  59. </center>
  60. </body>
  61. </html>

Go to the top of the page
+Quote Post
Ilware
post
Post #7





Grupa: Zarejestrowani
Postów: 248
Pomógł: 31
Dołączył: 14.12.2010
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


  1. <html>
  2. <head>
  3. <meta http-equiv="Content-Language" content="pl">
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  5. <style>
  6. <!--
  7. table { font-family: tahoma; font-size: 11pt; }
  8. td {
  9. color:#FFFFFF;
  10. height:12px;
  11. text-align:right;
  12. }
  13. -->
  14. </style>
  15. </head>
  16. <body>
  17. <center>
  18.  
  19. <?php
  20. if (empty($_POST['submit'])) {
  21. echo "<table border=\"0\"><form method=\"post\">
  22.  
  23. <tr>
  24. <td>Imię, nazwisko lub nick</td>
  25. <td><input type=\"text\" name=\"imie\" style=\"width: 250px\"></td>
  26. </tr>
  27.  
  28. <tr>
  29. <td>Adres e-mail</td>
  30. <td><input type=\"text\" name=\"email\" style=\"width: 250px\"></td>
  31. </tr>
  32.  
  33. <tr>
  34. <td>Treść wiadomości</td>
  35. <td><textarea name=\"tresc\" style=\"width: 250px; height: 100px\"></textarea></td>
  36. </tr>
  37.  
  38. <tr>
  39. <td>&nbsp;</td>
  40. <td><input type=\"submit\" name=\"submit\" value=\"Wyślij\">&nbsp;
  41. <input type=\"reset\" value=\"Od nowa\"></td></form>
  42. </tr>
  43.  
  44. </table>";
  45.  
  46. }
  47. elseif (!empty($_POST['tresc']) && !empty($_POST['imie']) && !empty($_POST['email'])) {
  48. $header = "Content-typ: text/html; charset=utf-8";
  49. $header .= "Content-Transfer-Encodin: 8bit";
  50. $message = "NAPISZ DO NAS - wiadomość ze strony WWW
  51. Wyslal: $_POST[imie]\n e-mail: $_POST[email]\n Tresc wiadomosci:\n $_POST[tresc]";
  52. $header .= "From: $_POST[imie] <$_POST[email]>";
  53. @mail("admin@czerwonegitary.pl","Napisz do nas - wiadomosc ze strony WWW","$message","$header")
  54. or die('Nie udało sięl wysłać wiadomości');
  55. echo "<div align=\"center\"><strong><font color='white' face='tahoma' size='3'>Wiadomość została wysłana poprawnie!</font></strong></div>";
  56. }
  57. else echo "<span style=\"color: #FFFFFF; text-align: center;\">Wypelnij wszystkie pola formularza!</span>";
  58.  
  59. ?>
  60.  
  61. </center>
  62. </body>
  63. </html>


Ten post edytował Ilware 25.05.2011, 22:51:14
Go to the top of the page
+Quote Post
piodes
post
Post #8





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 5.03.2009

Ostrzeżenie: (0%)
-----


niestety nie pomogło (-: a to miał byc prosty skrypt chyba będzie trzeba się przyzwyczaić do maili z zepsutą czcionką :-)
Ale bardzo dziękuję za próby pomocy - może jest jeszcze szansa?
Go to the top of the page
+Quote Post
Rid
post
Post #9





Grupa: Zarejestrowani
Postów: 715
Pomógł: 47
Dołączył: 5.12.2010

Ostrzeżenie: (0%)
-----



Proszę spróbować dodać do swojej stronki może pomoże:
$header.= "MIME-Version: 1.0";

$header.= "Content-Type: text/html;";

$header.= "\tcharset=\"UTF-8\"";

$header.= "Content-Transfer-Encoding: 8bit";
Go to the top of the page
+Quote Post
piodes
post
Post #10





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 5.03.2009

Ostrzeżenie: (0%)
-----


Niestety nic to nie dało ...
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 23:59