Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] problemy z formularzami, brak nowych linii w emailach ktore dochadza
sztibiribi
post
Post #1





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 25.08.2009

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


witam.. mam taki kod z prostym formularzem pocztowym .. ktory nie robi polskich znakow w diadomosciach ktore odbieram.. czyli jezeli napiszemy wiadomosc w ktorej bedzie kilka enterow i wyslemy ja, wiaodmosc ktora dojdzie od mnie bedzie pisana w jednej linii.. jak to obejsc? oto kod:

  1. f (empty($_POST['submit'])) {
  2. echo "<table border=\"0\"><form method=\"post\">
  3. <tr><td><p class=\"kontakt\">..lub poprostu napisz wiadomość</p></td></tr>
  4. <tr><td><textarea name=\"tresc\" style=\"width: 700px; height: 100px; background: url(images/kontakt_1.jpg);\"></textarea></td></tr>
  5. <tr><td><input type=\"text\" name=\"imie\" style=\"width: 350px; background: url(images/kontakt_2.jpg);\">
  6. <input type=\"text\" name=\"email\" style=\"width: 350px; background: url(images/kontakt_3.jpg);\"></td></tr>
  7. <tr><td><div align=\"right\"><input type=\"submit\" name=\"submit\" value=\"Wyślij wiadomość\">&nbsp;<input type=\"reset\" value=\"Skasuj treści\"></div></td></form></tr>
  8. </table>";
  9. }
  10.  
  11. elseif (!empty($_POST['tresc']) && !empty($_POST['imie']) && !empty($_POST['email'])) {
  12. $message = "Treść wiadomości:\n$_POST[tresc]\nWysłał: $_POST[imie]\ne-mail: $_POST[email]";
  13.  
  14. $from = "$_POST[imie] <$_POST[email]>";
  15. $header = "From: $from\nReply-to: $from\nMIME-Version: 1.0\nContent-type: text/html; charset=UTF-8";
  16.  
  17. @mail("$email","Wiadomosc ze strony WWW.FISCHER.EDU.PL","$message","$header")
  18. or die('Nie udało się wysłać wiadomości');
  19. echo "<div align=\"center\"><strong>Dziekujemy! Twoja wiadomość została wysłana poprawnie!<br>Postaramy sie odpowiedzieć tak szybko jak tylko jest to możliwe.</strong></div>";
  20. }
  21. else echo "<span style=\"color: #FF0000; text-align: center;\">Wypełnij wszystkie pola formularza!<br><a href=\"kontakt.php\" class=\"aktualnosci\">Kliknij tutaj aby wrócić do formularza</a></span>";


dodam, ze gdy przed edycja kodu byly wyswietlane w wiadomosci koncowej enterki w tekscie, ale nie bylo polskich znakow czyt. krzaki ;d .. zmienione zostalo:
  1. $message = "Treść wiadomości:\n$_POST[tresc]\nWysłał: $_POST[imie]\ne-mail: $_POST[email]";
  2. $header = "From: $_POST[imie] <$_POST[email]>";
  3. @mail("adres@domena.pl","Wiadomosc ze strony WWW","$message","$header")

prosze o pomoc bo juz nie wiem co robic sad.gif
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 7)
franki01
post
Post #2





Grupa: Zarejestrowani
Postów: 508
Pomógł: 75
Dołączył: 2.11.2005
Skąd: Bydgoszcz

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


1. Jakie masz zadeklarowane kodowanie pliku w meta tagach?
2. nl2br
3. Postaraj się też o odpowiednie przetworzenie wpisanej wiadomości - htmlspecialchars, stripslashes.

Ten post edytował franki01 31.08.2009, 00:14:14
Go to the top of the page
+Quote Post
sztibiribi
post
Post #3





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 25.08.2009

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


1. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

heh, jak bys byl tak dobry i przerobił go na szybko to byl bym megasnie wdzięczny.. heh, mam dużo pracy a czasu mało, a do tego ta pozna godzina już..

Ten post edytował sztibiribi 31.08.2009, 00:22:22
Go to the top of the page
+Quote Post
ArekJ
post
Post #4





Grupa: Zarejestrowani
Postów: 266
Pomógł: 9
Dołączył: 21.05.2008
Skąd: Łomianki

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


  1. if (empty($_POST['submit'])) {
  2. echo "<table border=\"0\"><form method=\"post\">
  3. <tr><td><p class=\"kontakt\">..lub poprostu napisz wiadomość</p></td></tr>
  4. <tr><td><textarea name=\"tresc\" style=\"width: 700px; height: 100px; background: url(images/kontakt_1.jpg);\"></textarea></td></tr>
  5. <tr><td><input type=\"text\" name=\"imie\" style=\"width: 350px; background: url(images/kontakt_2.jpg);\">
  6. <input type=\"text\" name=\"email\" style=\"width: 350px; background: url(images/kontakt_3.jpg);\"></td></tr>
  7. <tr><td><div align=\"right\"><input type=\"submit\" name=\"submit\" value=\"Wyślij wiadomość\"> <input type=\"reset\" value=\"Skasuj treści\"></div></td></form></tr>
  8. </table>";
  9. }
  10.  
  11. elseif (!empty($_POST['tresc']) && !empty($_POST['imie']) && !empty($_POST['email'])) {
  12. $message = nl2br('Treść wiadomości:\n$_POST[tresc]\nWysłał: $_POST[imie]\ne-mail: $_POST[email]');
  13.  
  14. $from = "$_POST[imie] <$_POST[email]>";
  15. $header = "From: $from\nReply-to: $from\nMIME-Version: 1.0\nContent-type: text/html; charset=UTF-8";
  16.  
  17. @mail("$email","Wiadomosc ze strony WWW.FISCHER.EDU.PL","$message","$header")
  18. or die('Nie udało się wysłać wiadomości');
  19. echo "<div align=\"center\"><strong>Dziekujemy! Twoja wiadomość została wysłana poprawnie!<br>Postaramy sie odpowiedzieć tak szybko jak tylko jest to możliwe.</strong></div>";
  20. }
  21. else echo "<span style=\"color: #FF0000; text-align: center;\">Wypełnij wszystkie pola formularza!<br><a href=\"kontakt.php\" class=\"aktualnosci\">Kliknij tutaj aby wrócić do formularza</a></span>";

Tak powinno być OK.
i następnym razem rób wcięcia, bo nieestetyczny ten kod.

Ten post edytował ArekJ 31.08.2009, 00:45:23


--------------------

"Do bramy, bo pada deszcz
Gdy zaćpiesz przejdzie dreszcz
I wróci, wróci tęcza barw
I pęknie twój wrogi świat" R. Riedel
Go to the top of the page
+Quote Post
sztibiribi
post
Post #5





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 25.08.2009

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


niestety tez nie dziala.. teraz tresc otrzymanego emaila wyglada dokladnie tak
  1. Treść wiadomości:\n$_POST[tresc]\nWysłał: $_POST[imie]\ne-mail: $_POST[email]

Go to the top of the page
+Quote Post
cojack
post
Post #6





Grupa: Zarejestrowani
Postów: 898
Pomógł: 80
Dołączył: 31.05.2008

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


Bo kolega manuala nie czyta, ale jak dasz:


  1. $message = nl2br("Treść wiadomości:\n$_POST[tresc]\nWysłał: $_POST[imie]\ne-mail: $_POST[email]");

to będzie ok


--------------------
cojack blog - mój blog (na jakiś czas off).
"jak czegoś nie wiem, to nie myślę że wiem" - moja domena
Go to the top of the page
+Quote Post
CyberDuck_
post
Post #7





Grupa: Zarejestrowani
Postów: 135
Pomógł: 15
Dołączył: 17.08.2009

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


Ustaw sobie w naglowku kodowanie i bedzie ok :
  1. $temat = "=?iso-8859-2?B?".base64_encode("nowa wiadomość testowa ąćśółżź")."?=";
  2. $naglowek = "Content-Type: text;charset='iso-8859-2'";
  3. @mail($email_uzytkownika, $temat, $tekst, $naglowek);


Kodowanie na stronie i kodowanie wiadomosci w email
to sa dwie rozne rzeczy.
Go to the top of the page
+Quote Post
erix
post
Post #8





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Cytat
heh, jak bys byl tak dobry i przerobił go na szybko to byl bym megasnie wdzięczny.. heh, mam dużo pracy a czasu mało, a do tego ta pozna godzina już..

To zacząłbyś od przeszukania forum i byś znalazł co najmniej 5 takich tematów, jak Twój. Chcesz, żeby szanowano Twój czas, szanuj i nasz.


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post

Closed TopicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 10:14