Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] zamiast ą,ę,ł,ó,ż,ć pojawiają się inne litery
forma3D
post
Post #1





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 30.03.2012

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


Buduję swoją pierszą stronę internetową i dzisiaj stworzyłem strone kontaktową gdzie po wysłaniu wiadomości miał się ukazać tekst: "Twoja wiadomość została przesłana do Forma 3D. Odpowiemy tak szybko, jak będzie to możliwe. Pozdrawiamy." Ukazuje się ale zamiast ś,ć,ł,ę,ż widać inne litery (skandynawskie?)... możesz to sprawdzić sam www.forma3d.pl/kontakt.html
Chcę również dodać wiadomość która ukaże się jeżeli ktoś nie wpisał emaila, że musi podać swój email adres (gościu@cokolwiek.cokolwiek), oraz dodać do kodu zasadę że bez podania email adresu wiadomość zostanie nie wysłana.
dzieki

podaje kod jakiego użyłem:

  1. <?php
  2.  
  3. /* Email Variables */
  4.  
  5. $emailSubject = 'contactformprocess!';
  6. $webMaster = 'forma3d@forma3d.pl';
  7.  
  8.  
  9. /* Data Variables */
  10.  
  11. $email = $_POST['email'];
  12. $name = $_POST['name'];
  13. $comments = $_POST['comments'];
  14.  
  15.  
  16.  
  17. $body = <<<EOD
  18. <br><hr><br>
  19. Name: $name <br>
  20. Email: $email <br>
  21.  
  22. Comments: $comments <br>
  23. EOD;
  24. $headers = "From: $email\r\n";
  25. $headers .= "Content-type: text/html\r\n";
  26. $success = mail($webMaster, $emailSubject, $body,
  27. $headers);
  28.  
  29.  
  30. /* Results rendered as HTML */
  31.  
  32. $theResults = <<<EOD
  33. <html>
  34. <head>
  35. <title>sent message</title>
  36. <meta http-equiv="refresh" content="5;URL=http://www.forma3d.pl/kontakt.html">
  37. <style type="text/css">
  38. <!--
  39. body {
  40. background-color: #444;
  41. font-family: Century Gothic;
  42. font-size: 20px;
  43. font-style: normal;
  44. line-height: normal;
  45. font-weight: normal;
  46. color: #7cc242;
  47. text-decoration: none;
  48. padding-top: 200px;
  49. margin-left: 150px;
  50. width: 800px;
  51. }
  52.  
  53. -->
  54. </style>
  55. </head>
  56. <div align="center"> Twoja wiadomość została przesłana do Forma 3D. Odpowiemy tak szybko, jak będzie to możliwe. Pozdrawiamy.
  57. Za kilka sekund powrócisz do Forma 3D. !</div>
  58. </div>
  59. </body>
  60. </html>
  61. EOD;
  62. echo "$theResults";
  63.  
  64. ?>


Pozdrawiam
Powód edycji: [phpion]: Dodałem bbcode.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 10)
tolomei
post
Post #2





Grupa: Zarejestrowani
Postów: 450
Pomógł: 135
Dołączył: 18.11.2010
Skąd: Wschowa

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


Witaj!

Odnośnie polskich znaków - popatrz na sekcję <head> strony którą budujesz. Nie ma tam ustawionego poprawnego kodowania.

Odnośnie walidacji adresu e-mail - możesz użyć funcji preg_match. Wpisz w google "walidacja email php" i zostaniesz zasypany wręcz próbkami kodu.

Pozdrawiam.


--------------------
“ Computers are good at following instructions, but not at reading your mind. ”
- Donald Knuth
Go to the top of the page
+Quote Post
phpion
post
Post #3





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Proszę pamiętać o umieszczaniu kodu w odpowiednim bbcode - tym razem sam poprawię, ale na przyszłość proszę robić to samodzielnie.
Go to the top of the page
+Quote Post
forma3D
post
Post #4





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 30.03.2012

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


phpion - przepraszam i dzięki za poprawke, będe pamietał na przyszłość.

tolomei - dzięki za wskazówki, co do walidacji email to chyba dam rade, ale co do poprawnego kodowania w sekcji <head> polskich znaków, to ja nie mam zielonego pojęcia o czym jest mowa (od tygodnia dopiero buduję moją pierwszą stronę, nigdy w życiu nie miałem do czynienia z php, css, java, itd., jestem świeży w tym temacie).
Czy możesz mnie jakoś naprowadzić, co, gdzie i jak z tym kodowaniem ?
Pozdrawiam!

Ten post edytował forma3D 30.03.2012, 09:00:28
Go to the top of the page
+Quote Post
usb2.0
post
Post #5





Grupa: Zarejestrowani
Postów: 341
Pomógł: 25
Dołączył: 28.09.2008
Skąd: Lublin

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


w sekcji <head>

Kod
<meta charset="utf-8">
Go to the top of the page
+Quote Post
forma3D
post
Post #6





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 30.03.2012

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


usb2.0 - 100krotne dzięki!!! działa

Znalazłem kod do walidacji emaila i nie wiem gdzie mam go umieścic, dodałem go do mojego php kodu do kontakt zakładki po lini 11 $email = $_POST['email']; ale dostaje wiadomość że mam syntax error na samym końcu kodu ?>
Czy zapomniałem o czymś? A może muszę go dodać gdzie indziej?


  1. function verifyEmail($email)
  2. {
  3. // checks proper syntax
  4. if( !preg_match( "/^([a-zA-Z0-9])+([a-zA-Z0-9\._-])*@([a-zA-Z0-9_-])+([a-zA-Z0-9\._-]+)+$/", $email))
  5. {
  6. return false;
  7. }
  8. else
  9. {// gets domain name
  10. list($username,$domain)=split('@',$email);
  11. // checks for if MX records in the DNS
  12. $mxhosts = array();
  13. if(!getmxrr($domain, $mxhosts))
  14. {
  15. // no mx records, ok to check domain
  16. if (!fsockopen($domain,25,$errno,$errstr,30))
  17. {
  18. return false;
  19. }
  20. else
  21. {
  22. return true;
  23. }
  24. }
  25. else
  26. {
  27. // mx records found
  28. foreach ($mxhosts as $host)
  29. {
  30. if (fsockopen($host,25,$errno,$errstr,30))
  31. {
  32. return true;
  33. }
  34. }
  35. return false;
  36. }
  37. }



Ten post edytował forma3D 30.03.2012, 15:19:08
Go to the top of the page
+Quote Post
vonski
post
Post #7





Grupa: Zarejestrowani
Postów: 292
Pomógł: 89
Dołączył: 27.12.2006
Skąd: Warszawa

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


Syntax Error masz dlatego, że w kodzie który podałeś brakuje na końcu jednego nawiasu klamrowego: }
Natomiast co do kodu.. nie wnikam co tam się dzieje, ale nie wygląda to na "zwykłą" walidajcę maila smile.gif Jeśli zadowala Cię sprawdzenie jedynie poprawności adresu e-mail, to wystarczy jak będziesz miał:

  1. function verifyEmail($email)
  2. {
  3. // checks proper syntax
  4. if( !preg_match( "/^([a-zA-Z0-9])+([a-zA-Z0-9\._-])*@([a-zA-Z0-9_-])+([a-zA-Z0-9\._-]+)+$/", $email))
  5. {
  6. return false;
  7. }
  8. return true;
  9. }


Co do umieszczenia tego kodu to powyższy możesz wrzucić np. na sam początek skryptu, z tym że jest to jedynie definicja funkcji, którą trzeba jeszcze wywołać, tzn. przekazać do niej adres email do sprawdzenia. Czyli mniej więcej tak:

  1. if(verifyEmail($_POST['email'])) {
  2. // tutaj piszesz to co ma się dziać jeśli e-mail jest poprawny
  3. } else {
  4. // tutaj co się ma dziać jeśli email jest nieprawidłowy
  5. }


--------------------
Zend Certified Engineer | Microsoft Certified Professional: Programming in HTML5 with JavaScript & CSS3 | Blog
Go to the top of the page
+Quote Post
forma3D
post
Post #8





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 30.03.2012

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


Nowy syntax error na lini 28. foreach ($mxhosts as $host)
Wciąż nie wiem gdzie mam umieścić nawias klamrowy którego mi brakuje. Chcę użyć kodu który podałem na samym początku ponieważ sprawdza czy email adres naprawdę istnieje oraz nie pozwoli wpisać email z błędem czyli z literkami ą,ę,ć itp.
Gdzie umieścić kod? w kontak.htlm czy w moim php pliku do emaila?

Ten post edytował forma3D 30.03.2012, 16:30:24
Go to the top of the page
+Quote Post
vonski
post
Post #9





Grupa: Zarejestrowani
Postów: 292
Pomógł: 89
Dołączył: 27.12.2006
Skąd: Warszawa

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


Cytat
Chcę użyć kodu który podałem na samym początku ponieważ sprawdza czy email adres naprawdę istnieje oraz nie pozwoli wpisać email z błędem czyli z literkami ą,ę,ć itp.


Czytałeś w ogóle co napisałem we wcześniejszym poście? Ta okrojona wersja którą podałem wyżej spełnia Twoje założenia.
Kod musisz umieścić w pliku .php wysyłającym maila.


--------------------
Zend Certified Engineer | Microsoft Certified Professional: Programming in HTML5 with JavaScript & CSS3 | Blog
Go to the top of the page
+Quote Post
forma3D
post
Post #10





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 30.03.2012

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


Tak czytałem. Zrobiłem to troszeczkę inaczej. W Dreamweaver dodałem "behaviors" do przycisku "wyślij", więc teraz jeżeli nie wpiszesz imiona, poprawnego email i treści to wyskoczy okienko (oczywiście po nacisnięciu "wyslij") i powiadomi co należy wpisać.
Dzięki wszystkim za pomoc. Jesteście debeściakami!
Pozdrawiam
Go to the top of the page
+Quote Post
tolomei
post
Post #11





Grupa: Zarejestrowani
Postów: 450
Pomógł: 135
Dołączył: 18.11.2010
Skąd: Wschowa

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


ehh... pokolenie Dreamwavera....


--------------------
“ Computers are good at following instructions, but not at reading your mind. ”
- Donald Knuth
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 Aktualny czas: 19.08.2025 - 21:55