Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Formularz kontaktowy
luniek88
post
Post #1





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 19.09.2010

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


Witam,

zamieściłem na swojej stronie formularz kontaktowuy. Udało mi ustawić treść tak żeby były polskie znaki. Mam teraz jeszcze dwie niewadome:
1. Gdy przychodzi do mnie mail wyświetla mi się, że otrzymuję go z własnego hosta. Proszę napiszcie, co zmienić żeby wyświetlało mi się Imię i nazwisko albo mail wpisany przez klienta.
2. Mam polskie znaki w treści. Co zrobić żeby polskie znaki były także w nazwie wysyłającego maila?

  1. //--- pocz�tek formularza ---
  2. if(empty($_POST['submit'])) {
  3. ?>
  4.  
  5. <table>
  6. <form action="" method="post">
  7. <tr>
  8. <td>Imię i Nazwisko:</td>
  9. <td><input class="pole" type="text" name="formName"/></td>
  10. </tr>
  11. <tr>
  12. <td>E-Mail:</td>
  13. <td><input class="pole" type="text" name="formEmail"/></td>
  14. </tr>
  15. <tr>
  16. <td>Treść wiadomości:</td>
  17. <td ><textarea name="formText"></textarea></td>
  18. </tr>
  19. <tr>
  20. <td>&nbsp;</td>
  21. <td><input type="submit" name="submit" value="Wyślij formularz"/></td>
  22. </tr>
  23. </form>
  24. </table>
  25. <?php
  26. } else {
  27. //twoje dane
  28. $email = 'grzegorzluniewski@teatrmantra.pl';
  29. //dane z formularza
  30. $formName = $_POST['formName'];
  31. $formEmail = $_POST['formEmail'];
  32. $formText = $_POST['formText'];
  33. if(!empty($formName) && !empty($formEmail) && !empty($formText)) {
  34. //--- pocz�tek funkcji weryfikuj�cej adres e-mail ---
  35. function checkMail($checkmail) {
  36. if(filter_var($checkmail, FILTER_VALIDATE_EMAIL)) {
  37. if(checkdnsrr(array_pop(explode("@",$checkmail)),"MX")){
  38. return true;
  39. }else{
  40. return false;
  41. }
  42. } else {
  43. return false;
  44. }
  45. }
  46. //--- koniec funkcji ---
  47. if(checkMail($formEmail)) {
  48. //dodatkowe informacje: ip i host u�ytkownika
  49. $ip = $_SERVER['REMOTE_ADDR'];
  50. $host = gethostbyaddr($_SERVER['REMOTE_ADDR']);
  51. //tworzymy szkielet wiadomo�ci
  52. //tre�� wiadomo�ci
  53. $mailText = "Treść wiadomości:\n$formText\nOd: $formName, $formEmail ($ip, $host)";
  54. //adres zwrotny
  55. $mailHeader = "Content-type: text/plain; charset=iso-8859-2";
  56. //funkcja odpowiedzialna za wys�anie e-maila
  57. @mail($email, 'Formularz kontaktowy', $mailText, $mailHeader) or die('Błąd: wiadomość nie została wysłana');
  58. //komunikat o poprawnym wys�aniu wiadomo�ci
  59. echo 'Wiadomość została wysłana';
  60. } else {
  61. echo 'Adres e-mail jest niepoprawny';
  62. }
  63. } else {
  64. //komunikat w przypadku nie powodzenia
  65. echo 'Wypełnij wszystkie pola formularza';
  66. }
  67. //--- koniec formularza ---
  68. }
  69. ?>
  70.  
  71. </div></div>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
com
post
Post #2





Grupa: Zarejestrowani
Postów: 3 034
Pomógł: 366
Dołączył: 24.05.2012

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


http://pl.wikibooks.org/wiki/PHP/Wysy%C5%82anie_e-maili

zmień nagłówek sobie na utf-8 i plik na utf-8 bez BOM (IMG:style_emoticons/default/smile.gif) jak nie wiesz jak to : http://comstudio.fwl.pl/blog/2013/03/utf-8-bez-bom/ (IMG:style_emoticons/default/wink.gif)

Ten post edytował com 16.10.2013, 23:53:45
Go to the top of the page
+Quote Post
luniek88
post
Post #3





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 19.09.2010

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


Dzięki za szybki odzew, ja jednak zrobiłem to inaczej, dodałem:

  1. //adres zwrotny
  2. $mailHeader = "From: $formName <$formEmail>\r\n";
  3. $mailHeader .= "Content-type: text/plain; charset=iso-8859-2\r\n";


Teraz maile dostaję z polskimi znakami. Pozostał jeden problem: jak dostaję maila to wyświetla mi się na skrzynce imię i nazwisko, no i tutaj niestety polskich znaków już nie mam. Jak to zmienić?
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 24.08.2025 - 17:36