Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Problem z formularzem kontaktowym
bwiecek
post
Post #1





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 11.12.2010

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


Mam stronkę w html i znalazłem na necie fajny formularz w php wkleiłem wszystko wygląda ok. Gdy na moim mailu sprawdzam wiadomości to w mailu z phpscript mam wszystko oprucz treści wiadomości ponizej wyswietlam sktypt:
  1. <?php
  2. ////Należy podać adres e-mail na który majš trafiać wiadomosci wyslane przy pomocy formularza:
  3. $admin_email='Tutaj podaj swój adres e-mail';
  4. ///Należy podać wartoc koloru:
  5. $kolor="#000000";
  6.  
  7.  
  8. $kontakt=$_GET['kontakt'];
  9. if($kontakt==0)
  10. {
  11. echo"<center><font color=$kolor>
  12. <FORM action=".$_SERVER['PHP_SELF']."?kontakt=1 method=post>
  13. <br><br>
  14. <center><b>Twój adres email:<br></b> <INPUT type=text name=email_user><br><br>
  15. <b>Temat wiadomości:</b>
  16. <br>
  17. <INPUT type=text name=email_temat>
  18. <br><br><b>Treść wiadomości:</b><br>
  19. <TEXTAREA name=email_tresc COLS=30 ROWS=10></TEXTAREA><BR><BR>
  20. <b>Podpis:</b><br> <INPUT type=text name=email_nick><br><br>
  21. <input type=checkbox name=send_to_me value=1 />Wyślij kopię na swój adres<br><br><br><br>
  22. <INPUT type=submit value=Wyślij>
  23.  
  24. </FORM></font>";
  25. }
  26.  
  27.  
  28. if($kontakt==1)
  29. {
  30. ///Funkcja sprawdzajšca poprawnosc adresu email:
  31. function ValidEmail($email_user) {
  32. if (!eregi("^[_.0-9a-z-]+@([0-9a-z][0-9a-z-]+.)+[a-z]{2,4}$" , $email_user)) {
  33. return false;
  34. }
  35. return true;
  36. }
  37. ///Koniec funkcji
  38.  
  39.  
  40. $email_user=$_POST['email_user'];
  41. $email_temat=$_POST['email_temat'];
  42. $email_tresc=$_POST['email_tresc'];
  43. $email_nick=$_POST['email_nick'];
  44. $send_to_me=$_POST['send_to_me'];
  45. $email_data=date("Y-m-d H:i:s");
  46. $user_IP = $_SERVER["REMOTE_ADDR"];
  47. $email_tresc=ereg_replace("\r", '', $email_tresc);
  48. $email_tresc=ereg_replace("\n\n", '</p><p>', $email_tresc);
  49. $email_tresc=ereg_replace("\n", '<br />', $email_tresc);
  50.  
  51.  
  52. $message ="<html>";
  53. $message .="<head>";
  54. $message .="<META HTTP-EQUIV=\"Content-type\" CONTENT=\"text/html; charset=iso-8859-2\">";
  55. $message .="</head>";
  56. $message .="<b>Wiadomość wysłana za pośrednictwem formularza strony</b><br><br><B>Wiadomość wysłano z IP:</b> $user_IP<br><B>Nadawca:</B> $email_nick < $email_user ><br><B>Temat:</b> $email_temat<br><B>Wysłano:</B> $email_data<br><br><b>Treść wiadomości:</b><br><hr><br><br>";
  57. $message .=$email_tresc;
  58. $message .="</body>";
  59. $message .="</html>";
  60. $email_subject="<META HTTP-EQUIV=\"Content-type\" CONTENT=\"text/html; charset=iso-8859-2\">";
  61. $email_subject .=$email_temat;
  62. $headers .= "From: $email_nick<$email_user>\r\nReply-To: $email_user\r\nContent-type: text/html; charset=iso-8859-2";
  63.  
  64. if (ValidEmail($email_user))
  65. {
  66. ///Wyslanie wiadomosci do administratora:
  67. if(mail($admin_email,$email_temat,$message,$headers))
  68. {
  69. echo"<br><center><h2>Wiadomość wysłano!</h2>";
  70. }
  71. else
  72. {
  73. echo"<br><center><h2>Wystšpił błšd! Wiadomości nie wysłano!</h2>";
  74. };
  75.  
  76.  
  77.  
  78. //////Wyslanie wiadomosci do uzytkownika, gdy zaznaczyl opcje wyslania kopii
  79. if($send_to_me==1)
  80. {
  81.  
  82. mail($email_user,$email_temat,$message,$headers);
  83.  
  84. }
  85. }
  86. else
  87. {
  88. echo"<br><center><h2>Niepoprawny adres email!</h2>";
  89. };
  90.  
  91. }
  92.  
  93.  
  94.  
  95.  
  96. ?>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 11)
darko
post
Post #2





Grupa: Zarejestrowani
Postów: 2 885
Pomógł: 463
Dołączył: 3.10.2009
Skąd: Wrocław

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


To strasznie fajnie, ale oprÓcz tego, co napisałeś - niewiele wynika. Ogólnie znajdowanie i "wklejanie" skryptów z netu najczęściej tak właśnie się kończy. Nie wiesz, co, gdzie, jak ,dlaczego itd. Polecam lekturę i zgłębienie następujących tematów (do wyszukania):
- filter_var
- preg_replace
- dlaczego warto używać wszędzie kodowania utf-8?
- wysyłania wiadomości e-mail via smtp
- dlaczego nie korzystamy z funkcji mail() oraz dlaczego nie polecamy sprawdzać, co zwraca?

ps.
co Ci przyjdzie z tego, że skrypt w Twoim mniemaniu działa, jeśli go nie rozumiesz i nie jesteś w stanie nanieść niewielkich poprawek, chociaż przyznam, że wrzuciłbym to do kosza.


--------------------
Nie pomagam na pw, tylko forum.
Go to the top of the page
+Quote Post
bartek124
post
Post #3





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 15.06.2008
Skąd: Kołaczyce

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


Kod jest masakryczny...

W skrypcie masz zmienną $email_tresc, a w funkcji mail() używasz $message, oto błąd.


--------------------
:)
Go to the top of the page
+Quote Post
bwiecek
post
Post #4





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 11.12.2010

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


Ja w ogóle nie znam php ale potrzebuje formulaza czy poprawił by mi ktos albo napisal lepszy?questionmark.gif
Go to the top of the page
+Quote Post
lord2105
post
Post #5





Grupa: Zarejestrowani
Postów: 380
Pomógł: 59
Dołączył: 24.04.2010
Skąd: London

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


Kurs PHP


--------------------
40% rozwiązań znajduje się tutaj.
59,9% tutaj.

Jeśli pomogłem rozwiązać Twój problem wciśnij
Go to the top of the page
+Quote Post
bwiecek
post
Post #6





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 11.12.2010

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


Ale ja nie chce uczyc sie php potrzebuje tylko formularz
Go to the top of the page
+Quote Post
lord2105
post
Post #7





Grupa: Zarejestrowani
Postów: 380
Pomógł: 59
Dołączył: 24.04.2010
Skąd: London

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


Google


--------------------
40% rozwiązań znajduje się tutaj.
59,9% tutaj.

Jeśli pomogłem rozwiązać Twój problem wciśnij
Go to the top of the page
+Quote Post
bwiecek
post
Post #8





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 11.12.2010

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


no wlasnie ten byl z google wyzej ktos napisal ze z google zazwyczaj beda do smieci. moze szybko ktos kto zna sie na php by go przerobil zeby dzialal

Ten post edytował bwiecek 12.12.2010, 13:10:21
Go to the top of the page
+Quote Post
lord2105
post
Post #9





Grupa: Zarejestrowani
Postów: 380
Pomógł: 59
Dołączył: 24.04.2010
Skąd: London

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


Cytat
Kod jest masakryczny...

W skrypcie masz zmienną $email_tresc, a w funkcji mail() używasz $message, oto błąd.


i tu kolega sie myli...

  1. $message .=$email_tresc;


Pod ta linijka:

  1. if (ValidEmail($email_user))
  2. {


daj:

  1. var_dump($_POST);


i zobazc co pokaze sie na ekranie podczas wysylania emaila...



--------------------
40% rozwiązań znajduje się tutaj.
59,9% tutaj.

Jeśli pomogłem rozwiązać Twój problem wciśnij
Go to the top of the page
+Quote Post
bwiecek
post
Post #10





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 11.12.2010

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


Cytat(lord2105 @ 12.12.2010, 15:11:12 ) *
i tu kolega sie myli...

  1. $message .=$email_tresc;


Pod ta linijka:

  1. if (ValidEmail($email_user))
  2. {


daj:

  1. var_dump($_POST);


i zobazc co pokaze sie na ekranie podczas wysylania emaila...


wyskakuje mi cos takiego
array(5) { ["email_user"]=> string(13) "bwiecek@wp.pl" ["email_temat"]=> string(10) "final test" ["email_tresc"]=> string(10) "final test" ["email_nick"]=> string(2) "ft" ["send_to_me"]=> string(1) "1" }
Wiadomość wysłano!

co zrobic?questionmark.gif?
Go to the top of the page
+Quote Post
CuteOne
post
Post #11





Grupa: Zarejestrowani
Postów: 2 958
Pomógł: 574
Dołączył: 23.09.2008
Skąd: wiesz, że tu jestem?

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


Mail wysyłasz ze swojego PC czy z serwera?

ps. w header chyba brakuje MIME-Version: 1.0 ?

podmień to:
  1. $headers .= "From: $email_nick<$email_user>\r\nReply-To: $email_user\r\nContent-type: text/html; charset=iso-8859-2";

na to:
  1. $headers .= "From: $email_nick<$email_user>\r\n";
  2. $headers .= "Reply-To: $email_user\r\n";
  3. $headers .= "MIME-Version: 1.0\n";
  4. $headers .= "Content-type: text/html; charset=iso-8859-2\r\n";

jeżeli coś się spieprzy:
  1. $headers .= "From: $email_nick<$email_user>\r\n";
  2. $headers .= "Reply-To: $email_user\r\n";
  3. $headers .= "MIME-Version: 1.0\r\n";
  4. $headers .= "Content-type: text/html; charset=iso-8859-2\r\n";


Ten post edytował CuteOne 12.12.2010, 17:54:12
Go to the top of the page
+Quote Post
bwiecek
post
Post #12





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 11.12.2010

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


Wyszedł z serwera. "ps. w header chyba brakuje MIME-Version: 1.0 ?" - nie znam sie
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: 22.08.2025 - 02:05