Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Formularz mailowy na www mały problem
Forum PHP.pl > Forum > Przedszkole
-piodes-
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>
Mackos
Plik zapisz w UTF-8 bez BOM (w programie Notepad++) musi podziałać
-piodes-
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.
Mackos
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();
Ilware
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/
piodes
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>

Ilware
  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>
piodes
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?
Rid

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";
piodes
Niestety nic to nie dało ...
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.