Formularz PHP - brak polskich znaków w wiadomości


(Cwiedenska) #1

(Grzelix) #2

Wstaw to

$header = "From: $_POST[imie] <$_POST[email]>\r\n";

$header .= "Content-type: text/plain; charset=utf-8\r\n";

powinno pomóc


(Cwiedenska) #3

Nadal kiszka :frowning:

wstawiłem to w wierszu:

//adres zwrotny

  $mailHeader = "From: $formName <$formEmail>";

  $header = 'Content-type: text/html; charset=utf-8' . "\r\n";

$header .= "From: $_POST[imie] <$_POST[email]>";

$header .= "Content-type: text/plain; charset=utf-8\r\n";

a tu wynik na meil'u

TreĹÄ wiadomoĹci:

ÄşóĹ

(Grzelix) #4

jeśli dokładnie to co podałeś wstawiłeś to niezły bałagan masz w kodzie.

najpierw ustawiasz typ text/html

$header = 'Content-type: text/html; charset=utf-8' . "\r\n";

Potem go nadpisujesz text/plain

$header .= "From: $_POST[imie] <$_POST[email]>";

$header .= "Content-type: text/plain; charset=utf-8\r\n";

Do tego nie ma żadnej przerwy między <$_POST> i Content-type więc nie jestem pewien czy daje się to poprawnie sparsować.

Spróbuj jeszcze raz z kodem dokładnie takim jaki podałem dla zmiennej $header. Jeśli nie działa musisz sprawdzić inne kodowania oraz kodowania plików w których masz źródła.


(Cwiedenska) #5

Dziękuję bardzo za pomoc, rzeczywiście coś namieszałem :wink:, ale już działa! poniżej działający skrypt z polskimi literkami :slight_smile:

<?php

// sprawdzamy, czy zmienna $submit jest pusta

if (empty($_POST['submit'])) {

    // wyświetlamy formularz

    echo "

| Treść wiadomości | |
| Imię, nazwisko lub nick | |
| Adres e-mail | |
|   |   |

"; } // sprawdzamy, czy zmienne przesłane z formularza nie są puste elseif (!empty($_POST['tresc']) && !empty($_POST['imie']) && !empty($_POST['email'])) { // jeżeli powyższy warunek jest spełniony tworzona jest wiadomość // zmienna $message zawiera treść wiadomości $message = "Treść wiadomości:\n$_POST[tresc]\nWysłał: $_POST[imie]\ne-mail: $_POST[email]"; // zmienna $header zawiera przede wszystkim adres zwrotny $header = "From: $_POST[imie] <$_POST[email]>\r\n"; $header .= "Content-type: text/plain; charset=utf-8\r\n"; // funkcja mail() za pomocą której wiadomość zostanie wysłana @mail("........","Wiadomosc ze strony WWW","$message","$header") or die('Nie udało się wysłać wiadomości'); // wyświetlenie komunikatu w przypadku powodzenia echo "
Wiadomość została wysłana poprawnie!"; } // lub w przypadku nie wypełnienia formularza do końca else echo "Wypełnij wszystkie pola formularza!"; ?> [/code]