Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php]formularz wysyłający e-mail
karlkar
post 24.05.2007, 08:31:48
Post #1





Grupa: Zarejestrowani
Postów: 52
Pomógł: 0
Dołączył: 28.03.2007

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


Mam taki skrypt:
  1. <?php 
  2.  
  3. if (($_POST['nick'] == "") || ($_POST['email'] == "") || ($_POST['tresc'] == "")) 
  4. { 
  5. echo "<form name="form" method="post" action="mail.php">"; 
  6. echo "Nie wypełniłeś wszystkich pól formularza... uzupełnij brakujące pola<br>"; 
  7. } 
  8. if ($_POST['nick'] == "") 
  9. { 
  10. echo "Podaj swój nick na serwerze:<br><input type="text" name="nick"><br>"; 
  11. } 
  12. else 
  13. { 
  14. echo "<input type="hidden" name="nick" value="".$_POST['nick']."">"; 
  15. } 
  16. if ($_POST['email'] == "") 
  17. { 
  18. echo "Podaj swój email:<br><input type="text" name="email"><br>"; 
  19. } 
  20. else 
  21. { 
  22. echo "<input type="hidden" name="email" value="".$_POST['email']."">"; 
  23. } 
  24. if ($_POST['wtf'] == "") 
  25. {echo "Hax";} 
  26. else 
  27. { 
  28. echo "<input type="hidden" name="wtf" value="".$_POST['wtf']."">"; 
  29. } 
  30. if ($_POST['tresc'] == "") 
  31. { 
  32. echo "Treść wiadomości:<br><textarea name="tresc" rows="5" cols="40"></textarea><br>"; 
  33. } 
  34. else 
  35. { 
  36. echo "<input type="hidden" name="tresc" value="".$_POST['tresc']."">"; 
  37. } 
  38.  
  39. if (($_POST['nick'] == "") || ($_POST['email'] == "") || ($_POST['tresc'] == "")) 
  40. { 
  41. echo "<input type="submit" name="submit" value="wyślij">"; 
  42. echo "<input type="reset" name="reset" value="od nowa">"; 
  43. echo "</form>"; 
  44. } 
  45. else 
  46. { 
  47. $wiadomosc = "Nick: ".$_POST['nick']." nEmail: ".$_POST['email']." nTreść wiadomości:n".$_POST['tresc']." n"; 
  48. $header = "From: ".$_POST['nick']."rnReply-To: ".$_POST['email']."rn"; 
  49. mail ("karex-dyn-pl@tlen.pl", "berek", $wiadomosc) or die('Nie udało sie wysłać maila'); 
  50. echo "Dzięki za wypełnienie formularza ".$_POST['nick']; 
  51. } 
  52. ?>


I wywala mi ciągle że nie udało się wysłać maila. Słyszałem że to może być wina ustawień php - nie grzebałem tam, więc nei wiem... co zrobić?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 9)
Spanner
post 24.05.2007, 08:42:37
Post #2





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 15.12.2004
Skąd: KrK

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


chłopie lepiej przepisz to od nowa jeszcze raz, bo tak namotałeś z tymi warunkami, że ciężko się połapać wogóle o co w tym chodzi, niepotrzebnie dajesz aż tyle warunków


--------------------
SpannerDEV.pl - Support Invision Power Board (IPB, IP.Board), skiny IP.Board i na fora, Tworzenie stron WWW, Mody do IP.Board
IPSBeyond.pl - Support IP.Board, Modyfikacje IP.Board, Skiny IP.Board
Go to the top of the page
+Quote Post
karlkar
post 24.05.2007, 13:27:43
Post #3





Grupa: Zarejestrowani
Postów: 52
Pomógł: 0
Dołączył: 28.03.2007

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


Ale problem nie tkwi w liczbie warunków ^^ Mimo to - proszę oto uproszczona wersja

mail.php
  1. <?php 
  2.  
  3. $wiadomosc = "Nick: ".$_POST['nick']." nEmail: ".$_POST['email']." nTreść wiadomości:n".$_POST['tresc']." n"; 
  4. $header = "From: ".$_POST['nick']."rnReply-To: ".$_POST['email']."rn"; 
  5. mail ("karex-dyn-pl@tlen.pl", "berek", $wiadomosc, $header) or die('Nie udało sie wysłać maila'); 
  6. echo "Dzięki za wypełnienie formularza ".$_POST['nick']; 
  7. } 
  8. ?>


a oto plik z którego dane są wysyłane:
index1.html
  1. <form method="post" action="mail.php">
  2. <div>Twój nick na serwerze: </div><div><input type="text" name="nick"></div><br>
  3. <div>Twój e-mail: </div><div><input type="text" name="email"></div><br>
  4. <div>Temat: </div><div><select name="wtf">
  5. <option>Zgłoszenie na admina</option>
  6. <option>Propozycja</option>
  7. <option>Zgłoszenie buga</option>
  8. <option>Inne</option>
  9. </select></div>
  10. <br><div>Treść wiadomości:</div><div> <textarea name="tresc"></textarea></div><br>
  11. <input type="submit" value="Wyślij"><input type="reset" value="Wyczyść">
  12. </form>


Ten post edytował karlkar 24.05.2007, 13:28:49
Go to the top of the page
+Quote Post
Cezar708
post 24.05.2007, 13:47:18
Post #4





Grupa: Zarejestrowani
Postów: 1 116
Pomógł: 119
Dołączył: 10.05.2005
Skąd: Poznań

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


Przede wszystkim musisz w php.ini ustawić poprawnie SERWER SMTP, są to między innymi parametry:

SMTP, smtp_port, sendmail_path ... etc,

zwykle jak korzystasz z serwera juz administrowanego to jest to ustawione, jak po prostu zainstalowałeś np krasnala albo AppSerw na swoim windowsie to trza to recznie ustawic i zrestartować serwer.

wiecej pod: phpmanual:mail
Go to the top of the page
+Quote Post
karlkar
post 24.05.2007, 13:59:41
Post #5





Grupa: Zarejestrowani
Postów: 52
Pomógł: 0
Dołączył: 28.03.2007

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


ok. Zrobiłęm coś takiego... Nadal nie działa...

  1. <?php
  2. [mail function]
  3. ; For Win32 only.
  4. SMTP = "poczta.o2.pl"
  5. smtp_port = "25"
  6. sendmail_from = NULL
  7. sendmail_path = NULL
  8. ?>
Go to the top of the page
+Quote Post
KolegS
post 24.05.2007, 14:13:30
Post #6





Grupa: Zarejestrowani
Postów: 64
Pomógł: 0
Dołączył: 17.04.2007
Skąd: Toruń

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


testujesz to na swoim kompie jeśli tak nie musisz instalować tego na swoim kompie wystarczy skorzystać z klasy phpmailer i możesz wysyłać poczte przez np smtp.wp.pl
więcej informacji możesz znaleźć na www.phpedia.pl wpisując phpmailer
Go to the top of the page
+Quote Post
karlkar
post 24.05.2007, 14:48:52
Post #7





Grupa: Zarejestrowani
Postów: 52
Pomógł: 0
Dołączył: 28.03.2007

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


zrobiłem to co kolegs powiedział i teraz wywala błąd że nieprawidłowy odbiorca...
  1. <HTML>
  2. <HEAD>
  3. <TITLE>..:[karex.dyn.PL]Ultimate Warcraft 3 [SAVEXP]:..</TITLE>
  4.  
  5. </HEAD>
  6.  
  7. <body bgcolor="black">
  8. <center><br>
  9. <font color="white">
  10. <?php 
  11.  
  12. require("phpmailer/class.phpmailer.php");
  13.  
  14. $mail = new PHPMailer();
  15. $mail->PluginDir = "phpmailer/";
  16. $mail->From = "karex-dyn-pl@tlen.pl";
  17. $mail->FromName = $_POST['nick'];
  18. $mail->Host = "poczta.o2.pl";
  19. $mail->Mailer = "smtp";
  20. $mail->Username = "karex-dyn-pl";
  21. $mail->Password = "dsadsadsa";
  22. $mail->SMTPAuth = true;
  23. $mail->SetLanguage("pl", "phpmailer/language/");
  24.  
  25. $mail->Subject = $_POST['wtf'];
  26. $mail->Body = $_POST['tresc'];
  27. $mail->AddAddress("karex-dyn-pl@tlen.pl", "Karex");
  28. if($mail->Send())
  29. {
  30. echo 'E-mail został wysłany';
  31. }
  32. else
  33. {
  34. echo 'E-mail nie mógł zostać wysłany, przyczyna :'. $mail->ErrorInfo;
  35. }
  36. $mail->ClearAddresses();
  37. $mail->ClearAttachments();
  38. ?>
  39.  
  40. </html>


____
Proszę używać BB Code
ActivePlayer
Go to the top of the page
+Quote Post
KolegS
post 24.05.2007, 16:29:24
Post #8





Grupa: Zarejestrowani
Postów: 64
Pomógł: 0
Dołączył: 17.04.2007
Skąd: Toruń

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


a ściągnąłeś sobie pierw tą klasę ze strony??
a i jeszcze jedno może spróbuj jako swojego maila podać zamiast @tlen.pl @o2.pl
Go to the top of the page
+Quote Post
karlkar
post 24.05.2007, 16:49:56
Post #9





Grupa: Zarejestrowani
Postów: 52
Pomógł: 0
Dołączył: 28.03.2007

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


tak - ściągnąłem. po zmianie na o2.pl też nie działa :/
Go to the top of the page
+Quote Post
KolegS
post 24.05.2007, 18:10:30
Post #10





Grupa: Zarejestrowani
Postów: 64
Pomógł: 0
Dołączył: 17.04.2007
Skąd: Toruń

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


trochę mnie to dziwi ale w jakim celu wysyłasz do siebie maile widocznie w tej klasie tak zawsze jest jak się próbuje wysłać do siebie
radze założyć drugiego maila jednego do wysyłania a drugiego do odbierania maili
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 Wersja Lo-Fi Aktualny czas: 13.08.2025 - 23:23