![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 15.11.2017 Ostrzeżenie: (0%) ![]() ![]() |
Mam problem z formularzem kontaktowym i bardzo proszę o pomoc Problem polega na tym że nie rozpoznaje polskich znaków w wiadomości którą wyślę a odbiorca ją otworzy Drugi problem choć mniej kłopotliwy (ale fajnie by było go wyeliminować) jest taki że po wysyłce wiadomości komunikat o treści "Dziękujemy, formularz został wysłany" lub też "Wprowadzony adres E-Mail jest niepoprawny!!! wyświetla mi na nowej stronie a nie na tej na której znajduje się formularz Bardzo proszę o pomoc gdyż sam nie dam rady.
oto kod : <?php if(empty($_POST['submit'])){ ?> <form action="aform.php" method="post"> <!--nazwa strony na której znajduje się formularz--> Wybierz e-mail odbiorcy :<br /> <select name="odbiorca" style="width:72%;"> <option></option> <option>kkrupka@dartns.pl</option> </select> <br /> Imię i Nazwisko :<br /> <input type="text" name="imienazwisko" style="width:70%;"/><br /> Podaj e-mail nadawcy :<br /> <input type="text" name="email" style="width:70%;"/><br /> Treść wiadomości :<br /> <textarea name="trescwiadomosci" cols="30" rows="6" style="width:80%;"></textarea><br /> <input type="submit" name="submit" value="Wyślij formularz"/> <input type="reset" value="Wyczyść"/> </form> <?php /*sprawdzenie wypełnienia wszystkich pól*/ }elseif(!empty($_POST['imienazwisko']) && !empty($_POST['email']) && !empty($_POST['trescwiadomosci'])){ /* Funkcja sprawdzająca poprawność E-Maila */ function SprawdzEmail($email) { if (!eregi("^[_.0-9a-z-]+@([0-9a-z][0-9a-z-]+.)+[a-z]{2,4}$" , $email)){ return false; } return true; } if(SprawdzEmail($_POST['email'])){ /* Tworzymy szkielet wysyłanej wiadomości */ $adresemail=$_POST['odbiorca']; $ip=$_SERVER['REMOTE_ADDR']; /* Wybierz kodowanie znaków usuwając // */ $charset = 'iso-8859-2'; $charset = 'utf-8'; $host=gethostbyaddr($_SERVER['REMOTE_ADDR']); $wiadomosc="Od: $_POST[imienazwisko] ($_POST[email])\nIP: $ip, HOST: $host\n\n$_POST[trescwiadomosci]"; $nadawca="From: $_POST[email]"; @mail($adresemail, "Formularz kontaktowy z www.dartns.pl", "$wiadomosc", "$nadawca"); echo "<span style=\"color: #00D800; font-weight: bold; \">Dziękujemy, formularz został wysłany.</span>"; }else{ echo "<span style=\"color: #FF0000; text-align: center; font-weight: bold;\">Wprowadzony adres E-Mail jest niepoprawny!!!</span>"; } }else{ echo "<span style=\"color: #FF0000; text-align: center; font-weight: bold;\">Cofnij i wypełnij wszystkie pola formularza!!!</span>"; } ?> |
|
|
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Witaj na forum, gdy wstawiasz kod, uzywaj BBCODE.
$charset = 'iso-8859-2'; $charset = 'utf-8'; Moze sie zdecyduj jakie kodowanie ostatecznie masz? ps: przenosze ps2: no i skoro juz ustawiasz ten $charset w zmiennej, to moze zapodaj go tez do maila, by client pocztowy wiedzial w jakim kodowaniu ma to odczytac. -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 15.11.2017 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki za powitanie i szybką odpowiedz ale....
1.wybierałem zarówno 'iso-8859-2' jak i utf-8 i dalej bylo to samo 2."ps2: no i skoro juz ustawiasz ten $charset w zmiennej, to moze zapodaj go tez do maila, by client pocztowy wiedzial w jakim kodowaniu ma to odczytac". -- czyli gdzie mam dołożyć? |
|
|
![]()
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
ad1) Wstawiales tylko to do zmiennej a potem nic z tym nie robiles, rownie dobrze mogles wpisac "chinski" i efekt bylby taki sam
ad2) http://php.net/manual/en/function.mail.php Masz tam w przykladach pokazane jak sie ustawia w email kodowanie -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 15.11.2017 Ostrzeżenie: (0%) ![]() ![]() |
jestem początkujący..... mógłbyś mi to dopisać jak to ma wyglądać?
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
otworz link co ci podalem, wpisz fraze "charset" i znajdziesz wybrany kawalek kodu o ktorym mowie
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 6 377 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Funkcja eregi jest przestarzała i cała ta funkcji walidująca mail to nieporozumienie. Jakie kodowanie ma w końcu ten mail? unicode czy iiso?
-------------------- |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 15.11.2017 Ostrzeżenie: (0%) ![]() ![]() |
chodzi o ten kawałek kodu? :
// To send HTML mail, the Content-type header must be set $headers[] = 'MIME-Version: 1.0'; $headers[] = 'Content-type: text/html; charset=iso-8859-1'; w którym miejscu go wkleić odp do viking : " Funkcja eregi jest przestarzała i cała ta funkcji walidująca mail to nieporozumienie. Jakie kodowanie ma w końcu ten mail? unicode czy iiso?" a jak można ją przekształcić aby było ok? kodowanie chyba iiso (wiem w kodzie jest nie wybrane) czy ktoś jeszcze poratuje? |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 12.06.2025 - 19:13 |