Witam...chodzi mi przysyłanie wiadomości ze strony internetowej
z tego formularza http://kursgitarowy.com/kontakt.php
Wiadomość, jaka dochodzi nie uwzględnia znaków polskich,
TreÅÄ wiadomoÅci:
Witam, strona dziaÅa idealnie
WysÅaÅ: szymon
Co polecacie!!!
Rok założenia: 2008Kontakt
co nowego na blogu Krzywego ebiznesy.pl: Adresy URL na blogu: jak przygotować optymalną strukturę
14 posty(ów)
• Strona 1 z 2 • 1, 2
Zgodnie z zasada Pareto - olej polskie znaki
Moj post wyjatkowo jest pisany bez polskich znakow i jest czytelny - ktos kto chce sie nauczyc grac na gitarze, nie bedzie sie zastanawac czy sa polskie znaki.
Ja kiedys mialem podobny problem z mailami - szly one do lekarzy - nie mialo to wplywu na konwersje itp.
Stracilem mnostwo czasu na znalezienie przyczyny itp w koncu... zostawilem tak jak bylo.
Nie trac czas na polskie znaki - zajmij sie biznesem
Moj post wyjatkowo jest pisany bez polskich znakow i jest czytelny - ktos kto chce sie nauczyc grac na gitarze, nie bedzie sie zastanawac czy sa polskie znaki.
Ja kiedys mialem podobny problem z mailami - szly one do lekarzy - nie mialo to wplywu na konwersje itp.
Stracilem mnostwo czasu na znalezienie przyczyny itp w koncu... zostawilem tak jak bylo.
Nie trac czas na polskie znaki - zajmij sie biznesem
Pozdrawiam
Seba
Seba
-

Sebastian Nowak - Posty: 478
- Rejestracja: 14 Wrz 2009
Dla mnie to ma znaczenie. Jeśli będą do mnie przychodziły maila od użytkowników, to nie chce mieć problemy z ich odczytaniem...
A widziałem na niejednym forum, że jest kilka możliwości na poprawę tej sytuacji, czyli otrzymania odpowiednich maili ....
tak więc dalej proszę o pomoc w temacie???
Co do biznesu, to masz racje Sebastian...Ale to z czasem...Lubię mieć wszystko pod kontrolą...
A widziałem na niejednym forum, że jest kilka możliwości na poprawę tej sytuacji, czyli otrzymania odpowiednich maili ....
tak więc dalej proszę o pomoc w temacie???
Co do biznesu, to masz racje Sebastian...Ale to z czasem...Lubię mieć wszystko pod kontrolą...
-

axe007 - Posty: 42
- Rejestracja: 14 Cze 2011
Mnie również razi brak polskich znaków 
Powinno pomóc ustawienie nagłówków wiadomości email w PHP:
W pierwszym wierszu ustaw adres email na który odbiorca może odpowiedzieć, w drugim swój adres email z którego ma dostać wiadomość, a w czwartym jest ustawione kodowanie.
Wysyłanie maila wygląda tak:
Dodatkowo sprawdź czy format pliku PHP, który obsługuje wysyłanie emaila to UTF-8.
Ja korzystam z notepad++ i tam się sprawdza klikając na menu "Format->koduj/konwertuj na format UTF-8".
PS. Na stronie 2 razy powtarza Ci się kodowanie:
PPS. http://www.youtube.com/watch?v=T2iISWltdzc
Powinno pomóc ustawienie nagłówków wiadomości email w PHP:
- Kod: Zaznacz wszystko
//ustawienie nagłówków maila
$naglowki = "Reply-to: adres@email_do_odesłania.pl[/b] <adres@email_do_odesłania.pl>".PHP_EOL;
$naglowki .= "From: Twoja nazwa <[b]adres@email_nadawcy.pl>".PHP_EOL;
$naglowki .= "MIME-Version: 1.0".PHP_EOL;
$naglowki .= "Content-type: text/html; charset=utf-8".PHP_EOL;
W pierwszym wierszu ustaw adres email na który odbiorca może odpowiedzieć, w drugim swój adres email z którego ma dostać wiadomość, a w czwartym jest ustawione kodowanie.
Wysyłanie maila wygląda tak:
- Kod: Zaznacz wszystko
mail($email, '$tytul', $wiadomosc, $naglowki)
Dodatkowo sprawdź czy format pliku PHP, który obsługuje wysyłanie emaila to UTF-8.
Ja korzystam z notepad++ i tam się sprawdza klikając na menu "Format->koduj/konwertuj na format UTF-8".
PS. Na stronie 2 razy powtarza Ci się kodowanie:
- Kod: Zaznacz wszystko
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Porady gitarowe</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
PPS. http://www.youtube.com/watch?v=T2iISWltdzc
-

Rico - Posty: 18
- Rejestracja: 05 Mar 2011
-

Krzysztof P. - Posty: 83
- Rejestracja: 28 Mar 2011
stopka i designed by dopiero zostaną podlinkowane, więc z tym nie ma problemy Krzysztof...Ale dzięki mimo wszystko za pomoc...
-

axe007 - Posty: 42
- Rejestracja: 14 Cze 2011
Próbowałem samemu kombinować z poradami Rico-z góry dzięki...ale coś mi nie idzie...Dlatego przedstawiam kod php tej funkcji. Jeśli dostrzegacie błędy, jakieś pomysły na utworzenie polskich znaków w przypadku całej wiadomości mail, to będę wdzięczny...
<?php
// sprawdzamy, czy zmienna $submit jest pusta
if (empty($_POST['submit'])) {
// wyświetlamy formularz
echo "<table border=\"0\"><form method=\"post\">
<td> Treść wiadomości</td style=\"float:right; margin-left:20px;\">
<td><textarea name=\"tresc\" style=\"float:left;padding:1px 0 1px 3px;background:url(images/png-tail.png) left top;border:1px solid #000;color:#70635b;color:#000; width:403px;height:282px;padding:1px 0 1px 3px;background:url(images/png-tail.png) left top;border:2px solid #000;color:#70635b;float:left;overflow:auto;color:#000\"></textarea></td>
</tr>
<tr>
<td> Imię, nazwisko lub nick</td style=\"width:437px;margin-right:100px;padding-top:6px\">
<td><input type=\"text\" name=\"imie\" style=\"width:225px;float:left;padding:1px 0 1px 3px;background:url(images/png-tail.png) left top;border:2px solid #000;color:#70635b;color:#000\"></td>
</tr>
<tr>
<td> Adres e-mail</td>
<td><input type=\"text\" name=\"email\" style=\"width:225px;float:left;padding:1px 0 1px 3px;background:url(images/png-tail.png) left top;border:2px solid #000;color:#70635b;color:#000\"></td>
</tr>
<tr>
<td> </td>
<td><input type=\"submit\" name=\"submit\" value=\"Wyślij\" style=\"border:2px;background:url(images/png-tail.png) left top;border:2px solid #000;color:#70635b;color:#000 \">
<input type=\"reset\" value=\"Od nowa\" style=\"border:2px;background:url(images/png-tail.png) left top;border:2px solid #000;color:#70635b;color:#000 \"></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]\Content-type: text/html; charset=utf-8.PHP_EOL;";
// zmienna $header zawiera przede wszystkim adres zwrotny
$header = "From: $_POST[imie] <$_POST[email]>";
//ustawienie nagłówków maila
$naglowki = "Reply-to: kaskader7843@onet.pl[/b] <adres@email_do_odesłania.pl>".PHP_EOL;
$naglowki .= "From: Twoja nazwa <[b]kaskader7843@onet.pl>".PHP_EOL;
$naglowki .= "MIME-Version: 1.0".PHP_EOL;
$naglowki .= "Content-type: text/html; charset=utf-8".PHP_EOL;
// funkcja mail() za pomocą której wiadomość zostanie wysłana
@mail("kaskader7843@onet.pl","Wiadomosc od użytkowników kursgitarowy.com","$message","$header")
or die('Nie udało się wysłać wiadomości');
// wyświetlenie komunikatu w przypadku powodzenia
echo "<div align=\"center\" id=\"col-12\"><strong>Wiadomość została wysłana poprawnie!</strong></div>";
}
// lub w przypadku nie wypełnienia formularza do końca
else echo "<div align=\"center\" id=\"col-12\" style=\"color:red\"><strong><br /><br /><br /><br />Wypełnij wszystkie pola formularza!<br /><br /><br /><a href=\"kontakt.php\">Wstecz</a></strong></div>
";
?>
<?php
// sprawdzamy, czy zmienna $submit jest pusta
if (empty($_POST['submit'])) {
// wyświetlamy formularz
echo "<table border=\"0\"><form method=\"post\">
<td> Treść wiadomości</td style=\"float:right; margin-left:20px;\">
<td><textarea name=\"tresc\" style=\"float:left;padding:1px 0 1px 3px;background:url(images/png-tail.png) left top;border:1px solid #000;color:#70635b;color:#000; width:403px;height:282px;padding:1px 0 1px 3px;background:url(images/png-tail.png) left top;border:2px solid #000;color:#70635b;float:left;overflow:auto;color:#000\"></textarea></td>
</tr>
<tr>
<td> Imię, nazwisko lub nick</td style=\"width:437px;margin-right:100px;padding-top:6px\">
<td><input type=\"text\" name=\"imie\" style=\"width:225px;float:left;padding:1px 0 1px 3px;background:url(images/png-tail.png) left top;border:2px solid #000;color:#70635b;color:#000\"></td>
</tr>
<tr>
<td> Adres e-mail</td>
<td><input type=\"text\" name=\"email\" style=\"width:225px;float:left;padding:1px 0 1px 3px;background:url(images/png-tail.png) left top;border:2px solid #000;color:#70635b;color:#000\"></td>
</tr>
<tr>
<td> </td>
<td><input type=\"submit\" name=\"submit\" value=\"Wyślij\" style=\"border:2px;background:url(images/png-tail.png) left top;border:2px solid #000;color:#70635b;color:#000 \">
<input type=\"reset\" value=\"Od nowa\" style=\"border:2px;background:url(images/png-tail.png) left top;border:2px solid #000;color:#70635b;color:#000 \"></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]\Content-type: text/html; charset=utf-8.PHP_EOL;";
// zmienna $header zawiera przede wszystkim adres zwrotny
$header = "From: $_POST[imie] <$_POST[email]>";
//ustawienie nagłówków maila
$naglowki = "Reply-to: kaskader7843@onet.pl[/b] <adres@email_do_odesłania.pl>".PHP_EOL;
$naglowki .= "From: Twoja nazwa <[b]kaskader7843@onet.pl>".PHP_EOL;
$naglowki .= "MIME-Version: 1.0".PHP_EOL;
$naglowki .= "Content-type: text/html; charset=utf-8".PHP_EOL;
// funkcja mail() za pomocą której wiadomość zostanie wysłana
@mail("kaskader7843@onet.pl","Wiadomosc od użytkowników kursgitarowy.com","$message","$header")
or die('Nie udało się wysłać wiadomości');
// wyświetlenie komunikatu w przypadku powodzenia
echo "<div align=\"center\" id=\"col-12\"><strong>Wiadomość została wysłana poprawnie!</strong></div>";
}
// lub w przypadku nie wypełnienia formularza do końca
else echo "<div align=\"center\" id=\"col-12\" style=\"color:red\"><strong><br /><br /><br /><br />Wypełnij wszystkie pola formularza!<br /><br /><br /><a href=\"kontakt.php\">Wstecz</a></strong></div>
";
?>
-

axe007 - Posty: 42
- Rejestracja: 14 Cze 2011
Błąd jest w funkcji mail. Chodzi o nazwę zmiennej. Daj $naglowki zamiast $header. Lepiej nie pokaże dzisiaj bo pisze z telefonu.trzeba jeszcze zadbać o bezpieczeństwo skryptu ale napisze jutro z komputera 
-

Rico - Posty: 18
- Rejestracja: 05 Mar 2011
Niestety nie mogłem już edytować poprzedniej wiadomości, tutaj wklejam kod, który działa, kilka poprawek w PHP zrobiłem. Popracuj jeszcze nad HTML i CSS, np:
- w takim wypadku: background:url(images/png-tail.png) użyj cudzysłowów ("), np. background:url("images/png-tail.png");
- zamiast stosuj marginesy w CSS (margin-left, lub padding-left)
- Stosuj zewnętrzne arkusze stylów
- Przycisków "od nowa" raczej nie powinno się stosować bo na ogół jak użytkownik się pomyli to się wkurza, że musi od nowa pisać wiadomość
- Kod: Zaznacz wszystko
<?php
// sprawdzamy, czy zmienna $submit jest pusta
if (empty($_POST['submit'])) {
// wyświetlamy formularz
echo "<table border=\"0\"><form method=\"post\">
<td> Treść wiadomości</td style=\"float:right; margin-left:20px;\">
<td><textarea name=\"tresc\" style=\"float:left;padding:1px 0 1px 3px;background:url(images/png-tail.png) left top;border:1px solid #000;color:#70635b;color:#000; width:403px;height:282px;padding:1px 0 1px 3px;background:url(images/png-tail.png) left top;border:2px solid #000;color:#70635b;float:left;overflow:auto;color:#000\"></textarea></td>
</tr>
<tr>
<td> Imię, nazwisko lub nick</td style=\"width:437px;margin-right:100px;padding-top:6px\">
<td><input type=\"text\" name=\"imie\" style=\"width:225px;float:left;padding:1px 0 1px 3px;background:url(images/png-tail.png) left top;border:2px solid #000;color:#70635b;color:#000\"></td>
</tr>
<tr>
<td> Adres e-mail</td>
<td><input type=\"text\" name=\"email\" style=\"width:225px;float:left;padding:1px 0 1px 3px;background:url(images/png-tail.png) left top;border:2px solid #000;color:#70635b;color:#000\"></td>
</tr>
<tr>
<td> </td>
<td><input type=\"submit\" name=\"submit\" value=\"Wyślij\" style=\"border:2px;background:url(images/png-tail.png) left top;border:2px solid #000;color:#70635b;color:#000 \">
<input type=\"reset\" value=\"Od nowa\" style=\"border:2px;background:url(images/png-tail.png) left top;border:2px solid #000;color:#70635b;color:#000 \"></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ść
//każdy z wierszy wiadomości nie powinien być dłuższy niż 70 znaków (63 znaki tekstu + 7 znaków na nową linię
$message = wordwrap($_POST['tresc'], 63, "\n");
// zmienna $message zawiera treść wiadomości, wiadomość wysyłamy w formacje html
$message = nl2br("Treść wiadomości:\n".$tresc."\nWysłał: ".$_POST['imie']."\ne-mail: ".$_POST['email']);
//zabezpieczenie przed dodaniem nagłówków przez użytkownika
$email = str_replace("\\n", "", $_POST['email']);
$email = str_replace("\\r", "", $email);
$imie = str_replace("\\n", "", $_POST['imie']);
$imie = str_replace("\\r", "", $imie);
//ustawienie nagłówków maila
$naglowki = "Reply-to: ".$email." <".$email.">".PHP_EOL;
$naglowki .= "From: ".$imie." <".$email.">".PHP_EOL;
$naglowki .= "MIME-Version: 1.0".PHP_EOL;
$naglowki .= "Content-type: text/html; charset=utf-8".PHP_EOL;
// funkcja mail() za pomocą której wiadomość zostanie wysłana
if(mail('kaskader7843@onet.pl', 'Wiadomosc od użytkowników kursgitarowy.com', $message, $naglowki)) {
// wyświetlenie komunikatu w przypadku powodzenia
echo "<div align=\"center\" id=\"col-12\"><strong>Wiadomość została wysłana poprawnie!</strong></div>";
} else {
echo "<div align=\"center\" id=\"col-12\"><strong>Wystąpił błąd w trakcie wysyłania wiadomości!</strong></div>";
}
}
// lub w przypadku nie wypełnienia formularza do końca
else echo "<div align=\"center\" id=\"col-12\" style=\"color:red\"><strong><br /><br /><br /><br />Wypełnij wszystkie pola formularza!<br /><br /><br /><a href=\"kontakt.php\">Wstecz</a></strong></div>
";
?>
-

Rico - Posty: 18
- Rejestracja: 05 Mar 2011
W tym momencie nie jest wyświetlona treść funkcji mail. Poprawa kodu....Z góry dzięki...
-

axe007 - Posty: 42
- Rejestracja: 14 Cze 2011
14 posty(ów)
• Strona 1 z 2 • 1, 2
-
- Podobne tematy
- Odpowiedzi
- Wyświetleń
- Ostatni post
-
- Tworzenie formularza mail
przez axe007 » 21 Cze 2011, o 21:56 - 2 Odpowiedzi
- 184 Wyświetleń
- Ostatni post przez axe007

22 Cze 2011, o 09:54
- Tworzenie formularza mail
Kto jest na forum
Użytkownicy przeglądający to forum: Brak zarejestrowanych użytkowników oraz 1 gość














