Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] Problem z formularzem mailowym i kodowaniem
Animone
post
Post #1





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 16.03.2010

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


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. ?>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 7)
pablo89pl
post
Post #2





Grupa: Zarejestrowani
Postów: 143
Pomógł: 19
Dołączył: 7.09.2009
Skąd: Rzeszów

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


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

Ten post edytował pablo89pl 16.03.2010, 14:59:02
Go to the top of the page
+Quote Post
Animone
post
Post #3





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 16.03.2010

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


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.

Ten post edytował Animone 16.03.2010, 15:12:20
Go to the top of the page
+Quote Post
pablo89pl
post
Post #4





Grupa: Zarejestrowani
Postów: 143
Pomógł: 19
Dołączył: 7.09.2009
Skąd: Rzeszów

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


poniżej $header = ...dodaj:



$header.="Content-type: text/plain; charset=UTF-8\r\n";
Go to the top of the page
+Quote Post
Animone
post
Post #5





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 16.03.2010

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


niestety nie pomogło
Go to the top of the page
+Quote Post
DiH
post
Post #6





Grupa: Zarejestrowani
Postów: 251
Pomógł: 34
Dołączył: 7.01.2010

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


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++
Go to the top of the page
+Quote Post
modern-web
post
Post #7





Grupa: Zarejestrowani
Postów: 763
Pomógł: 117
Dołączył: 15.03.2010
Skąd: void

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


A pomyśl nad opcją wysyłania formularza bez programu pocztowego (IMG:style_emoticons/default/winksmiley.jpg)

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

Polskie znaki działają tam bez zarzutów ;]
Go to the top of the page
+Quote Post
Animone
post
Post #8





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 16.03.2010

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


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.


Ten post edytował Animone 17.03.2010, 12:37:30
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: 25.08.2025 - 18:32