Norbit_24
(Sobladen)
24 Styczeń 2010 02:31
#1
Nie wyswietlaja się polskie znaki w formularzu;/ Prosze o pomoc
<?
$twojemail='info@domena.pl'; //ten adres jest jako nadawca
$znakrozdzielenia=',';
$message = "
Treść wiadomości:
\r\n$_POST[tresc]\r\n
";
$header ="MIME-Version: 1.0\r\n";
$header.="Content-type: text/html; charset=utf-8\r\n";
$header = "From:<$twojemail>";
$header.='Message-ID: <'.time().'-'.$_POST['email'].">\r\n";
$header.='X-Mailer: PHP v'.phpversion();
if (isset($_POST['title']) && isset($_POST['adresaci']) && isset($_POST['tresc']))
{
$adresaci=explode($znakrozdzielenia, $_POST['adresaci']);
$i=0;
while (isset($adresaci[$i]) && $adresaci[$i]!='')//czy został jeszcze jakiś adres do obsłużenia?
{
{
if (mail($adresaci[$i], $_POST['temat'], $message, $header))
{
echo 'Udane wysyłanie waidomości na adres '.$adresaci[$i].'!
';
//jeżeli poprawnie, wyświetl powiadomienie
}
else
{
echo 'Nieudane wysyłanie waidomości na adres '.$adresaci[$i].'!
';
//jeżeli niepoprawnie, także wyświetl powiadomienie
}
$i++;
}
}
if ($i==0) echo 'Nie podałeś żadnego adresu email!';
}
else
{
?>
Tytuł:
Adresaci: (np. "mail1@o2.pl, mail2@o2.pl")
Treść:
[/code]
piotrrj
(Piotrrj)
24 Styczeń 2010 09:12
#2
W nagłówku ustawiasz kodowanie “utf-8”. Czy korzystasz z edytora, który umożliwia pisanie w utf-8?
Jeśli nie, musisz: albo zmienić kodowanie, albo zmienić edytor, albo możesz dokonać konwersji do tego kodowania (np. za pomocą tego: http://www.gzegzolka.com/ ).
Pozdrawiam
Norbit_24
(Sobladen)
24 Styczeń 2010 11:07
#3
w edytorze ustawiłem na utf-8 ten plik i w kodzie… A nie działa. Mój program to: kED
Tutaj mam 2 formularz, który działa:
<?
if(isset($_GET['kontakt']) && $_GET['kontakt']=='wyslij')
{
if (!empty($_POST['tresc']) && !empty($_POST['imie']) && !empty($_POST['temat']) && !empty($_POST['email'])) {
$message = "
Treść wiadomości:
\r\n$_POST[tresc]\r\n
Wysłał: $_POST[imie]\r\n
E-mail: $_POST[email]";
$header ="MIME-Version: 1.0\r\n";
$header.="Content-type: text/html; charset=utf-8\r\n";
$header.='From:'.iconv('UTF-8','utf-8',$_POST['imie']).' <'.$_POST['email'].">\r\n";
$header.='Message-ID: <'.time().'-'.$_POST['email'].">\r\n";
$header.='X-Mailer: PHP v'.phpversion();
@mail('hjkhgkj@o2.pll','Wiadomosc ze strony WWW',$message,$header)
or die('Nie udało się wysłać wiadomości');
echo "Wiadomość została wysłana poprawnie!
";
}
else echo "Wypełnij wszystkie pola formularza!
";
}
?>
Przeważnie odpowiadamy na wiadomosci do 24h:
| Treść wiadomości: | |
| Temat: | |
| Imię, nazwisko lub nick: | |
| Adres e-mail: | |
| *Zabezpieczenie captcha: | |
| | |
| |
ra-v
(ra-v)
24 Styczeń 2010 12:00
#4
Ale kodowanie strony masz też ustawione UTF8?
Jeśli nie to masz 2 możliwości:
ustawić UTF-8 na stronie www
zostawić np. iso8859-2 na WWW, a wszystkie $_POST skonwertować do UTF8 funkcją iconv()
M11
(master)
24 Styczeń 2010 13:14
#5
puskas
(Puskas)
26 Styczeń 2010 08:46
#6
$head =
"MIME-Version: 1.0\r\n" .
"Content-Type: text/plain; charset=$charset\r\n" .
"Content-Transfer-Encoding: 8bit";