Witam
Używam taki oto formularz do wysyłania wiadomości ze strony www:
<?php
ini_set('default_charset', 'ISO-8859-2'); // sprawdzamy, czy zmienna $submit jest pusta
if (empty($_POST['submit'])) { // wyświetlamy formularz
echo "<table border=\"0\"><form method=\"post\"> <tr>
<td>Treść wiadomości</td>
<td><textarea name=\"tresc\" style=\"width: 250px; height: 100px\"></textarea></td>
</tr>
<tr>
<td>Imię, nazwisko lub nick</td>
<td><input type=\"text\" name=\"imie\" style=\"width: 250px\"></td>
</tr>
<tr>
<td>Adres e-mail</td>
<td><input type=\"text\" name=\"email\" style=\"width: 250px\"></td>
</tr>
<tr>
<td> </td>
<td><input type=\"submit\" name=\"submit\" value=\"Wyślij\">
<input type=\"reset\" value=\"Od nowa\"></td></form>
</tr>
</table>";
}
// 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]>";
// funkcja mail() za pomocą której wiadomość zostanie wysłana
@mail("xxxxxxxx:)","Wiadomosc ze strony WWW","$message","$header") or
die('Nie udało się wysłać wiadomości'); // wyświetlenie komunikatu w przypadku powodzenia
echo "<div align=\"center\"><strong>Wiadomość została wysłana poprawnie!</strong></div>"; }
// lub w przypadku nie wypełnienia formularza do końca
else echo "<span style=\"color: #FF0000; text-align: center;\">Wypełnij wszystkie pola formularza!</span>";
?>
w nagłówku strony mam też zapisane:
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" />
w katalogu głównym na serwerze mam plik .htaccess o treści "AddDefaultCharset ISO-8859-2"
a mimo tego wszystkiego są jakieś problemy z kodowaniem. Serwer jest na nazwa.pl jeżeli to ma jakieś znaczenie, sprawdzając pocztę przez www mam krzaki w miejscu polskich liter. Outlook sobie jakoś radzi, ale na wejściu też dostaje błędny kod, tj np.:
Tre?ć wiadomo?ci:
ęó??łżĽćń
Wysłał: dd
e-mail: ddd
Ten post edytował Shadovpl 5.11.2009, 14:45:36