Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z kodowaniem->mail php
Forum PHP.pl > Forum > PHP
senior.pol
Witam
Mam pytanie odnośnie mojego kodu w php.
Wszystko pięknie działa, tylko nie ma polskich znaków. Wiem ,że coś jest w kodowaniu ,ale jestem amatorem w php i nie wiem co zrobić. Szukałem i czytałem wiele postów google ,nic mi to nie pomogło. Poniżej przedstawiam kod:
  1. <?php
  2.  
  3. if(!$_POST) exit;
  4.  
  5. $email = $_POST['email'];
  6.  
  7.  
  8. //$error[] = preg_match('/\b[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b/i', $_POST['email']) ? '' : 'INVALID EMAIL ADDRESS';
  9. if(!eregi("^[a-z0-9]+([_\\.-][a-z0-9]+)*" ."@"."([a-z0-9]+([\.-][a-z0-9]+)*)+"."\\.[a-z]{2,}"."$",$email )){
  10. $error.="Invalid email address entered";
  11. $errors=1;
  12. }
  13. if($errors==1) echo $error;
  14. else{
  15. $values = array ('name','email','message');
  16. $required = array('name','email','message');
  17.  
  18. $your_email = "tutaj@mojemail.com";
  19. $email_subject = "New Message: ".$_POST['subject'];
  20. $email_content = "new message:\n";
  21.  
  22. foreach($values as $key => $value){
  23. if(in_array($value,$required)){
  24. if ($key != 'subject' && $key != 'company') {
  25. if( empty($_POST[$value]) ) { echo 'PLEASE FILL IN REQUIRED FIELDS'; exit; }
  26. }
  27. $email_content .= $value.': '.$_POST[$value]."\n";
  28. }
  29. }
  30.  
  31. if(@mail($your_email,$email_subject,$email_content)) {
  32. echo 'Message sent!';
  33. } else {
  34. echo 'ERROR!';
  35. }
  36. }
  37. ?>

Proszę o pomoc. Z góry dziękuję smile.gif
wewior
Rozumiem że chodzi o polskie znaki w treściach? Ciekawe bo w przykładzie wszystko po angielsku... rozumiem że przykład zaczerpnięty z neta?
Sam pisałeś że masz problem z kodowaniem a w skrypcie nie ustawiasz kodowania dla maila, więc spróbuj ustawić kodowanie z jakiego korzystasza na stronie czy w skryptach, np. uft-8.
W Twoim kodzie byłoby to np. tak:
  1. if(@mail($your_email,$email_subject,$email_content,"Content-type: text/plain; charset=utf-8\r\n"))

http://be.php.net/manual/en/function.mail.php
senior.pol
Dzięki wielkie smile.gif
Kod z neta wziąłem smile.gif

Mam jeszcze jedno pytanko.
Chodzi o to, że wiadomość jest już ze znakami polskimi ,ale jak zrobić ,aby po kliknięciu buttona "Wyślij" i przejściu do kolejnej strony - napis "wiadomość została wysłana"-"Message Sent !" miał też polskie znaki, bo jak na razie nie ma?
PawelC
Kodowanie w pliku i skrypcie ustaw na UTF-8 smile.gif Zrobisz to np przy pomocy Notepad++
senior.pol
Dzięki
Już to zrobiłem i działa smile.gif
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.