Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [inne][PHP]Formularz Kontaktowy - Krzaki
Matif
post
Post #1





Grupa: Zarejestrowani
Postów: 29
Pomógł: 0
Dołączył: 14.09.2009

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


Witam.
Gdy wysyła ktoś do mnie maila formularzem kontaktowym na gmaila, wszystko jest oK. Ale gdy wysyła na pocztę home.pl wtedy zamiast polskich liter pokazują się znaki zapytania.
(Sprawdziłem i po wysłaniu bezpośrednio z o2 na home.pl nie było krzaków)
Więc błąd musi być w formularzu

Oto jego kod:
  1. <?php
  2. session_start(); //start sesji
  3. require_once('connect.php');
  4. require_once('functions.php');
  5. ?>
  6. <html>
  7. <head>
  8. <title><?php echo $ustawienia['tytul']; ?> - Kontakt</title>
  9. <?php include('tpl/head.php') ?>
  10. </head>
  11. <body>
  12. <div id="naglowek">
  13. <!-- code by klocek & Quik -->
  14. <?php include('tpl/naglowek.php') ?>
  15. </div>
  16. <div id="menu">
  17. <?php include('tpl/menu.php') ?>
  18. </div>
  19. <div id="kontener">
  20. <h1>Kontakt</h1>
  21. <?php
  22. // sprawdzamy, czy zmienna $submit jest pusta
  23. if (empty($_POST['submit'])) {
  24. // wyświetlamy formularz
  25. ?>
  26. <?php
  27. $header = "From: $from\nReply-to: $from\nMIME-Version: 1.0\nContent-type: text/html; charset=iso-8859-2";
  28. ?>
  29. <div id="boxform">
  30. <form action="kontakt.php" method="post" id="test">
  31. <div>
  32. <label>Imię / Login <strong>*</strong></label>
  33. <input type="text" class="pole" name="imie" />
  34. </div>
  35. <div>
  36. <label>E-mail <strong>*</strong></label>
  37. <input type="text" class="pole" name="email" />
  38. </div>
  39. <div>
  40. <label>Treść wiadomości <strong>*</strong></label>
  41. <textarea name="tresc" rows="5" cols="20"></textarea>
  42. </div>
  43. <div style="margin-left:160px;">
  44. <input type="submit" name="submit" value="Wyślij" class="button" />
  45. </div>
  46. </form>
  47. </div>
  48. <?php
  49.  
  50. }
  51. // sprawdzamy, czy zmienne przesłane z formularza nie są puste
  52. elseif (!empty($_POST['tresc']) && !empty($_POST['imie']) && !empty($_POST['email'])) {
  53. // jeżeli powyższy warunek jest spełniony tworzona jest wiadomość
  54. // zmienna $message zawiera treść wiadomości
  55. $message = "Treść wiadomości:\n$_POST[tresc]\nWysłał: $_POST[imie]\ne-mail: $_POST[email]";
  56. // zmienna $header zawiera przede wszystkim adres zwrotny
  57. $header = "From: $_POST[imie] <$_POST[email]>";
  58. // funkcja mail() za pomocą której wiadomość zostanie wysłana
  59. @mail($ustawienia['email'],"Wiadomosc z ".$ustawienia['tytul'],"$message","$header")
  60. or die('Nie udało się wysłać wiadomości.');
  61. // wyświetlenie komunikatu w przypadku powodzenia
  62. echo "<div align=\"center\"><strong>Wiadomość została wysłana poprawnie!</strong></div>";
  63. }
  64. // lub w przypadku nie wypełnienia formularza do końca
  65. else echo 'Wypełnij wszystkie pola formularza!<br/><a href="kontakt.php">&laquo; Powrót</a>';
  66.  
  67. ?>
  68. </div>
  69.  
  70. <div id="stopka">
  71. <?php include('tpl/stopka.php') ?>
  72. </div>
  73.  
  74. </body>
  75. </html>
  76. <?php ob_end_flush(); ?>


Co trzeba zrobić żeby wysyłał polskie znaki?
Go to the top of the page
+Quote Post
mortus
post
Post #2





Grupa: Zarejestrowani
Postów: 2 178
Pomógł: 596
Dołączył: 25.09.2009
Skąd: Piwniczna-Zdrój

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


A czy przypadkiem charset nie powinien mieć wartości utf-8 (linia 28)?
Go to the top of the page
+Quote Post
Matif
post
Post #3





Grupa: Zarejestrowani
Postów: 29
Pomógł: 0
Dołączył: 14.09.2009

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


  1. Tre&#65533;��� wiadomo��ci:
  2. &#65533;���������������
  3. Wys&#65533;�a��: ��������
  4. e-mail: &#65533;���������


To nic nie zmienia (IMG:style_emoticons/default/tongue.gif)
przeszukiwałem internet i znalazłem ze trzeba dodać coś takiego gdzieś i wrzuciłem do kodu ale nie pomogło ;P
Więc standardowo skrypt był bez tego:
  1. [/php]<?php
  2. $header = "From: $from\nReply-to: $from\nMIME-Version: 1.0\nContent-type: text/html; charset=iso-8859-2";
  3. ?>[php]
Go to the top of the page
+Quote Post
mortus
post
Post #4





Grupa: Zarejestrowani
Postów: 2 178
Pomógł: 596
Dołączył: 25.09.2009
Skąd: Piwniczna-Zdrój

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


Wyrzuć linie 27, 28 i 29, a linię 58 zastąp tym:
  1. $headers = 'MIME-Version: 1.0' . "\r\n";
  2. $headers .= 'Content-type: text/html; charset=utf-8' . "\r\n";
  3. $headers .= 'From: '.$_POST['imie'].' <'.$_POST['email'].'>' . "\r\n";

Linię 60 zastąp natomiast tym:
  1. @mail($ustawienia['email'],"Wiadomosc z ".$ustawienia['tytul'], $message, $headers)


EDIT
Poprawiłem literówki!

Ten post edytował mortus 13.08.2011, 11:11:36
Go to the top of the page
+Quote Post
Matif
post
Post #5





Grupa: Zarejestrowani
Postów: 29
Pomógł: 0
Dołączył: 14.09.2009

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


Cytat(mortus @ 13.08.2011, 12:10:01 ) *
Wyrzuć linie 27, 28 i 29, a linię 58 zastąp tym:
  1. $headers = 'MIME-Version: 1.0' . "\r\n";
  2. $headers .= 'Content-type: text/html; charset=utf-8' . "\r\n";
  3. $headers .= 'From: '.$_POST['imie'].' <'.$_POST['email'].'>' . "\r\n";

Linię 60 zastąp natomiast tym:
  1. @mail($ustawienia['email'],"Wiadomosc z ".$ustawienia['tytul'], $message, $headers)


EDIT
Poprawiłem literówki!


Treść wiadomości:
śćśćśćś
Wysłał: śćśćś
e-mail: śćśćść

Dziękuję bardzo! Działa wszystko (IMG:style_emoticons/default/smile.gif)
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: 16.09.2025 - 06:23