Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Problem z kodowaniem->mail php, Problem...
senior.pol
post 10.08.2011, 17:28:50
Post #1





Grupa: Zarejestrowani
Postów: 158
Pomógł: 0
Dołączył: 10.08.2011

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
wewior
post 11.08.2011, 08:58:00
Post #2





Grupa: Zarejestrowani
Postów: 200
Pomógł: 8
Dołączył: 24.09.2003

Ostrzeżenie: (10%)
X----


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


--------------------
- - -
PHP, HTML, JS, Quick.Cms v6.4, Quick.Cart v6.7, Simlery
- - -
Go to the top of the page
+Quote Post
senior.pol
post 11.08.2011, 21:40:22
Post #3





Grupa: Zarejestrowani
Postów: 158
Pomógł: 0
Dołączył: 10.08.2011

Ostrzeżenie: (0%)
-----


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?
Go to the top of the page
+Quote Post
PawelC
post 11.08.2011, 21:48:42
Post #4





Grupa: Zarejestrowani
Postów: 1 173
Pomógł: 121
Dołączył: 24.09.2007
Skąd: Toruń

Ostrzeżenie: (0%)
-----


Kodowanie w pliku i skrypcie ustaw na UTF-8 smile.gif Zrobisz to np przy pomocy Notepad++
Go to the top of the page
+Quote Post
senior.pol
post 11.08.2011, 22:00:31
Post #5





Grupa: Zarejestrowani
Postów: 158
Pomógł: 0
Dołączył: 10.08.2011

Ostrzeżenie: (0%)
-----


Dzięki
Już to zrobiłem i działa smile.gif
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 27.04.2024 - 23:39