Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: kodowanie polskich znaków w formularzu php
Forum PHP.pl > Forum > PHP
badboy_89
Witam o to kod html ( w nagłówku ustawione utf-8 tak samo w notepad++)
  1. <div class="kontakt">
  2. <form method="post" action="wyslij.php" name="kontakt">
  3.  
  4. <div><label for="nick">Imię: </label><br><input type="text" class="text" id="nick" name="nick" ></div>
  5. <div><label for="temat">Temat: </label><br><input type="text" name="temat" class="text" id="temat" ></div>
  6. <div><label for="mail">Twój adres e-mail: </label><br><input type="text" name="mail" class="text" id="mail" ></div>
  7. Do kogo:<br />
  8. <select name="my_mail">
  9. <optgroup label="Nasze Emaile">
  10. <option value="kontakt@elitefurniture.pl" id="my_mail">kontakt@elitefurniture.pl</option>
  11. <option value="zamowienia@elitefurniture.pl" id="my_mail">zamowienia@elitefurniture.pl</option>
  12. </select>
  13. <div><label for="tresc">Treść: </label><br><textarea name="tresc" id="tresc" rows="5" cols="50" ></textarea></div>
  14. <div><input type="submit" value="Wyślij" /></div>
  15. </form>
  16.  
  17. </div>


o to kod php (utf 8 rowniez ustawione)
  1. <div class="wyslano">
  2. <?php
  3. if ($_POST['nick'] && $_POST['mail'] && $_POST['temat'] && $_POST['tresc']) {
  4.  
  5. $wiadomosc = "Imię: ".$_POST['nick']." e- mail: ".$_POST['mail']." Treść: ".$_POST['tresc']." ";
  6. $tematyka = $_POST['my_mail']. " - ".$_POST['temat'];
  7. $tematyka2 = "(kopia)".$_POST['my_mail']. " - ".$_POST['temat'];
  8. $do_kogo = $_POST['my_mail'];
  9. $mail = $_POST['mail'];
  10. $kopia = "Imię: ".$_POST['nick']." wysłane do: ".$_POST['my_mail']." Treść: ".$_POST['tresc']." ";
  11.  
  12. mail ($do_kogo, $tematyka, $wiadomosc ); // Do prawdziwy odbiorca e-mail
  13. mail ($mail, $tematyka2, $kopia ); // Do wysyłającego wiadomość
  14. echo "Dziękujemy za wysłanie maila o treści: <br />";
  15. echo "Twoje imię: <strong>".$_POST['nick']."</strong><br />";
  16. echo "Temat: <strong>".$_POST['temat']."</strong><br />";
  17. echo "Twój adres e-mail: <strong>".$_POST['mail']."</strong><br />";
  18. echo "Treść: <strong>".$_POST['tresc']."</strong><br />";
  19. echo "<br /> Kopia wiadomości została wysłana także do Ciebie! <br> W ciągu kilku sekund zostaniesz automatycznie przekierowany do poprzedniej strony.";
  20.  
  21. } else {
  22. echo "Nie uzupełniłeś wszystkich rubryk. ";
  23. }
  24.  
  25. ?>
  26.  
  27. </div>


na emaila otrzymuje wiadomosci z krzakami zamiast polskich znaków, tak samo w mailu kopia w informacji od kogo, otrzymuje adres swojego serwera przykład: (xxx@hekko.pl) chcialbym co innego wpisac...
ps w .php mam jeszcze
  1. <meta http-equiv="Refresh" content="3;url=kontakt.html">

i nie zawsze to działa... co mam nie tak ?
lukasz_os
Zainteresuj się nagłówkami jakie możesz wysłać w mailu.

Przykładowo:

  1. $headers = 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
  2. $headers .= 'From: email@domain.com' . '\r\n';
  3.  
  4. mail($do_kogo,$tematyka,$wiadomosc,$headers);
badboy_89
hej dzieki za pomoc, po zmienienu na UTF-8 Twój sposób pomógł smile.gif
co do kwesti dodania od kogo w nagłówku to nie chodzi mi o to,
jestem klientem wysyłam maila z mojej strony i dostaje równiez kopię wysłanego emaila na swój adres email np niech to bedzie gmail.
wchodze na maila i rzeczywiscie otrzymałem kopie tej wiadomosci jednak tam pisze coś takiego
od: zzzzzz@s10.hekko.net.pl
do: xxxxx@gmail.com
data: 1 lutego 2013 00:12
temat: (kopia)kontakt@elitefurniture.pl - zapytanie
wysłana przez: s10.hekko.net.pl


i chciałbym aby w "od:" pisalo nazwe mojej domeny www, oraz w "wysłana przez:" nazwe mojej domeny a nie adres serwera na ktorym stoi strona
lukasz_os
Właśnie dlatego musisz zmienić w headers from oraz dodać sender np:

  1. $headers = 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
  2. $headers .= 'From: email@domain.com' . '\r\n';
  3. $headers .= 'Sender: www.domain.com' . '\r\n';


Wszystko masz w manualu.
badboy_89
Niestety coś nie działa to:

tzn zmienia od kogo ale dalej juz jest cos takiego:
od: www.elitefurniture.plrn <kontakt@elitefurniture.pl\r\nsender:> przez s10.hekko.net.pl
do: xxx@gmail.com
data: 4 lutego 2013 01:22
temat: (kopia)kontakt@elitefurniture.pl - zapytanie
wysłana przez: s10.hekko.net.pl


obecnie kod zmodyfikowalem tak aby w zaleznosci na jaki mail piszemy taki byl dolaczany do headers i gdzies tkwi błąd:
  1.  
  2. <?php
  3. if ($_POST['nick'] && $_POST['mail'] && $_POST['temat'] && $_POST['tresc']) {
  4.  
  5. $wiadomosc = "Imię: ".$_POST['nick']." e- mail: ".$_POST['mail']." Treść: ".$_POST['tresc']." ";
  6. $tematyka = $_POST['my_mail']. " - ".$_POST['temat'];
  7. $tematyka2 = "(kopia)".$_POST['my_mail']. " - ".$_POST['temat'];
  8. $do_kogo = $_POST['my_mail'];
  9. $mail = $_POST['mail'];
  10. $kopia = "Imię: ".$_POST['nick']." wysłane do: ".$_POST['my_mail']." Treść: ".$_POST['tresc']." ";
  11. $headers = 'Content-type: text/html; charset=UTF-8' . "\r\n";
  12. $headers .= 'From:'.$_POST['my_mail']. '\r\n';
  13. $headers .= 'Sender: www.elitefurniture.pl' . '\r\n';
  14.  
  15. mail ($do_kogo, $tematyka, $wiadomosc, $headers ); // Do prawdziwy odbiorca e-mail
  16. mail ($mail, $tematyka2, $kopia, $headers ); // Do wysyłającego wiadomość
  17. echo "<br><br><br><br>Dziękujemy za wysłanie maila o treści: <br />";
  18. echo "Twoje imię: <strong>".$_POST['nick']."</strong><br />";
  19. echo "Temat: <strong>".$_POST['temat']."</strong><br />";
  20. echo "Twój adres e-mail: <strong>".$_POST['mail']."</strong><br />";
  21. echo "Treść: <strong>".$_POST['tresc']."</strong><br />";
  22. echo "<br /> Kopia wiadomości została wysłana także do Ciebie! <br> W ciągu kilku sekund zostaniesz automatycznie przekierowany do poprzedniej strony.";
  23.  
  24. } else {
  25. echo "Nie uzupełniłeś wszystkich rubryk. ";
  26. }
  27.  
  28. ?>
szok
A kodowanie pliku html jakie masz ustawione?
I pliku i samego dokumentu?

Kod
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
badboy_89
  1. <meta http-equiv="content-type" content="text/html; charset=utf-8" />

tak jak napisalem na poczatku w obu przypadkach utf-8
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.