Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Problem z formularzem mailowym i kodowaniem
Forum PHP.pl > Forum > Przedszkole
Animone
Wiatm mam problem z formularzem. Po otrzymaniu maila z tego formularza nie wyświetlają się polskie znaki. Próbowałem różnych modyfikacji ale jestem zielony w tym temacie ( modyfikacji kodu ). Przeglądałem
dziesiątki rozwiązań ale żadne nie było skuteczne - zawsze jakiś problem. Wiem że trzeba zmienić kodowanie na iso tylko problem w tym jak? proszę o podanie kodu i podpowiedz gdzie to mam dokładnie umieścić z góry dziękuję.

  1. <?php
  2.  
  3. if (empty($_POST['submit'])) {
  4.  
  5. echo "<table border=\"0\"><form method=\"post\">
  6. <tr>
  7. <td></td>
  8. <td>Treść wiadomości<br />
  9. <textarea name=\"tresc\" style=\"width: 250px; height: 100px\"></textarea></td>
  10. </tr>
  11. <tr>
  12. <td></td>
  13. <td>Imię, nazwisko lub nick<br />
  14. <input type=\"text\" name=\"imie\" style=\"width: 250px\"></td>
  15. </tr>
  16. <tr>
  17. <td></td>
  18. <td>Adres e-mail<br />
  19. <input type=\"text\" name=\"email\" style=\"width: 250px\"></td>
  20. </tr>
  21. <tr>
  22. <td>&nbsp;</td>
  23. <td><input type=\"submit\" name=\"submit\" value=\"Wyślij\">&nbsp;
  24. <input type=\"reset\" value=\"Od nowa\"></td></form>
  25. </tr>
  26. </table>";
  27. }
  28.  
  29. elseif (!empty($_POST['tresc']) && !empty($_POST['imie']) && !empty($_POST['email'])) {
  30.  
  31.  
  32. $message = "Tresc wiadomosci:\n$_POST[tresc]\nWyslal: $_POST[imie]\ne-mail: $_POST[email]";
  33.  
  34. $header = "From: $_POST[imie] <$_POST[email]>";
  35.  
  36. @mail("nazwa@adresata.pl","Wiadomosc ze strony WWW","$message","$header")
  37. or die('Nie udało się wysłać wiadomości');
  38.  
  39. echo "<div align=\"center\"><strong>Wiadomość została wysłana poprawnie!</strong></div>";
  40. }
  41.  
  42. else echo "<span style=\"color: #FF0000; text-align: center;\">Wypełnij wszystkie pola formularza!</span>";
  43.  
  44. ?>
pablo89pl
Jakiego klienta pocztowego uzywasz?
Jakie kodowanie na stronie?
I wklej treśc tego maila z krzakami w takim razie, sprawdz sobei poczte przez klienta i via strona www...

A to:
  1. mail("nazwa@adresata.pl","Wiadomosc ze strony WWW","$message","$header")
?
po cholere dajesz "" i w środku tylko zmienna...palce powinni ucinać


A co do tematu wystarczy szukać szukać i jeszczeraz szukać, aż się znajdzie...
http://forum.php.pl/index.php?showtopic=51527
Animone
Kodowanie strony utf-8
a wyświetla mi się coś takiego

Ä?Ä?Ä?Ä?Ä?Ä?Ä?Ä?Ä?Ä?Ä?Ä?Ä?Ä?Ä?Ĺ?
używam klienta pocztowego Outlook express ale problem ten występuje gdy odczytuje poczte bez użycia klienta pocztowego, natomiast nie występuje na gmailu.
Szukałem na forum ale jak zaznaczyłem w pytaniu jestem zielony w temacie kodowania i dlatego interesuje mnie precyzyjna odpowiedz co i gdzie umiescic dal tego konkretnego przypadku.
Acha i zaznaczam że to nie jest mój skrypt.
pablo89pl
poniżej $header = ...dodaj:



$header.="Content-type: text/plain; charset=UTF-8\r\n";
Animone
niestety nie pomogło
DiH
Czasami wymuszone jest kodowanie ISO-8859-2. Spróbuj to, co kolega zaproponował wyżej, tylko, że w wersji:
  1. $header .="Content-type: text/plain; charset=ISO-8859-2 \r\n";

Przy tym na stronie gdzie wyświetlasz dane z formularza musisz zadeklarować ten sam typ kodowania w meta, dodatkowo nie zaszkodzi przekonwertować sam dokument do iso-8859-2, choćby Notepadem++
modern-web
A pomyśl nad opcją wysyłania formularza bez programu pocztowego winksmiley.jpg

Poradnik Ci się przyda:
http://www.kurshtml.boo.pl/html/wyslanie_f...formularze.html

Polskie znaki działają tam bez zarzutów ;]
Animone
Teraz działa;) dzieki wielkie za pomoc panowie

Załączam link do strony firmy zajmującej sie sprzedażą światłowodów gdzie wykorzystałem ten formularz.
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.