Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Formularz kontaktowy bez funkcji "mail", Wysyłanie wiadomości przez smtp ze strony
lojciec14
post
Post #1





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 29.06.2009

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


Witam. W php nadal raczkuję i ostatnio natrafiłem na pewien problem. Otóż na serwerze na którym musi by postawiona strona nie jest obsługiwana funkcja "mail" ze standardowego formularza. Jedyna słuszna opcja, to wysyłanie takiego formularza ze strony poprzez jakiś serwer smtp. Pisząc do administratora strony otrzymałem w odpowiedzi taki oto link:

http://instrukcja.opoka.org.pl/www-mail.html

Jednakże nie potrafię tego wykorzystać. Chodzi mi o to, by w wyznaczonym miejscu na stronie znalazły się 3 pola tekstowe: Imię i Nazwisko, Adres Email oraz tekst. Potrwierdzane przyciskiem wyślij. Po "kliknięciu" wyślij sprawdzone mają być pola mail i tekst. Wiadomość zaś ma zostać dostarczona na adres email: email@poczta.pl (adres później będzie zupełnie inny). Formularz, z którego zawsze korzystałem miał taką formę:
  1. <?php
  2.  
  3. // sprawdzamy, czy zmienna $submit jest pusta
  4. if (empty($_POST['submit'])) {
  5. // wyświetlamy formularz
  6. echo "<table border=\"0\"><form method=\"post\">
  7.  
  8. <tr>
  9. <td>Imię i nazwisko: </td>
  10. <td><input type=\"text\" name=\"imie\" style=\"width: 250px\"></td>
  11. </tr>
  12. <tr>
  13. <td>Adres E-mail:</td>
  14. <td><input type=\"text\" name=\"email\" style=\"width: 250px\"></td>
  15. </tr>
  16. <tr>
  17. <td>Nazwa firmy:</td>
  18. <td><input type=\"text\" name=\"firma\" style=\"width: 250px\"></td>
  19. </tr>
  20. <tr>
  21. <td>Tel. kontaktowy:</td>
  22. <td><input type=\"text\" name=\"tel\" style=\"width: 250px\"></td>
  23. </tr>
  24. <tr>
  25. <td>Treść wiadomości:</td>
  26. <td><textarea name=\"tresc\" style=\"width: 250px; height: 100px\"></textarea></td>
  27. </tr>
  28. <tr>
  29. <td>Potwierdź: </td>
  30. <td><input type=\"checkbox\" name=\"potw\" />Zgadzam się na otrzymanie informacji handlowej w rozumieniu ustawy z dnia 18 lipca 2002 r. o świadczeniu usług drogą elektroniczną.</td>
  31. </tr>
  32. <tr>
  33. <td>&nbsp;</td>
  34. <td><input type=\"submit\" name=\"submit\" value=\"Wyślij\">&nbsp;
  35. </tr>
  36. </table>";
  37. }
  38. // sprawdzamy, czy zmienne przesłane z formularza nie są puste
  39. elseif (!empty($_POST['tresc']) && !empty($_POST['imie']) && !empty($_POST['email']) && !empty($_POST['tel']) && !empty($_POST['potw'])) {
  40. // jeżeli powyższy warunek jest spełniony tworzona jest wiadomość
  41. // zmienna $message zawiera treść wiadomości
  42. $message = "<b>Wysłał:</b> $_POST[imie]<br/><b>E-mail:</b> $_POST[email]<br/> <b>Firma:</b> $_POST[firma]<br/><b>Tel:</b> $_POST[tel]<br/><br/><b>Treść wiadomości:</b><br/>$_POST[tresc]<br/><br/>----------------------------<br/>Zgadzam się na otrzymanie informacji handlowej w rozumieniu ustawy z dnia 18 lipca 2002 r. o świadczeniu usług drogą elektroniczną.";
  43. // zmienna $header zawiera przede wszystkim adres zwrotny
  44. $from = "$_POST[imie_nazwisko] <$_POST[email]>";
  45. $header = "From: $from\nReply-to: $from\nMIME-Version: 1.0\nContent-type: text/html; charset=UTF-8";
  46. // funkcja mail() za pomocą której wiadomość zostanie wysłana
  47. @mail("twój@adres.com","Pytanie ze strony www.strona.com","$message","$header")
  48. or die('Nie udało się wysłać wiadomości');
  49. // wyświetlenie komunikatu w przypadku powodzenia
  50. echo "<div align=\"center\"><strong>Wiadomość została wysłana poprawnie!</strong></div>";
  51. }
  52. // lub w przypadku nie wypełnienia formularza do końca
  53. else echo "<span style=\"color: #FF0000; text-align: center;\">Wypełnij wszystkie pola formularza! Nie zapomnij potwierdzić informacji handlowych!</span> <a href='kontakt.php'>Wróć do pisania</a> <br/>";
  54.  
  55. ?>


Niestety na tym serwerze nie działa...

Mam nadzieję, że w miarę jasno wytłumaczyłem problem, jeśli nie to czekam na ew. pytania. Pozdrawiam.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 8)
erix
post
Post #2





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




Użyj phpMailer; wszystko, czego potrzebujesz, jest w którymś przykładzie użycia dołączonym do paczki.
Go to the top of the page
+Quote Post
lojciec14
post
Post #3





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 29.06.2009

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


Ściągnąłem ten phpMailer, jednak nie potrafię dać z nim sobie rady... czy ktoś mógłby mi podać gotowy, lub półgotowy kod do wstawienia na stronkę?
Go to the top of the page
+Quote Post
piotr94
post
Post #4





Grupa: Zarejestrowani
Postów: 331
Pomógł: 30
Dołączył: 11.11.2008
Skąd: Kraków

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


  1. ini_set("include_path", "class.phpmailer.php");
  2. require("class.phpmailer.php");
  3. $mail = new PHPMailer();
  4. $mail->IsSMTP();
  5. $mail->Host = ""; // SMTP serwer
  6. $mail->SMTPAuth = true;
  7. $mail->Username = ""; // SMTP login
  8. $mail->Password = "***"; // SMTP hasło
  9.  
  10. $mail->From = "adres@email.nadawcy";
  11. $mail->FromName = 'nazwanadawcy';
  12. $mail->AddAddress('mejl adresata','nazwa adresata');//wysyłanie wpisu na ten adres
  13. $mail->AddReplyTo('mejl zwrotny','nazwa adresata zwrotnego');//wysyłanie adresu zwrotnego
  14. $mail->CharSet = 'utf-8';
  15. $mail->WordWrap = 50;
  16. $mail->IsHTML(true);
  17.  
  18. $mail->Subject = $_POST['temat'];
  19. $mail->Body =$tresc;
  20. $mail->AltBody =$tresc;
  21.  
  22. if(!$mail->Send())
  23. {
  24. echo("Błąd wysyłania wiadomości!<br>");
  25. }else{
  26. echo("Poprawnie wysłano wiadomość!<br>");
  27. }

korzystam z tej wersji skryptu:
http://www.piotrek94.ovh.org/mailphp.zip
Go to the top of the page
+Quote Post
lojciec14
post
Post #5





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 29.06.2009

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


Ok dzięki. I teraz jeszcze jedne pytanie. jak pod to podpiąć formularz??
Go to the top of the page
+Quote Post
piotr94
post
Post #6





Grupa: Zarejestrowani
Postów: 331
Pomógł: 30
Dołączył: 11.11.2008
Skąd: Kraków

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


odpowiednie wartości, które masz opisane w moim skrypcie zastąp wartościami przesłanymi przez $_POST z formularza ;-)
Go to the top of the page
+Quote Post
lojciec14
post
Post #7





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 29.06.2009

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


Przepraszam, ale nadal nie wiem co dalej z tym zrobić.. jestem zielony w temacie..
Go to the top of the page
+Quote Post
Blame
post
Post #8





Grupa: Zarejestrowani
Postów: 678
Pomógł: 124
Dołączył: 26.09.2009

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


$_POST['temat'] jest to pobranie zawartości pola formularza którego name="temat". Tak samo jest z treścią tylko że ona została(również przez $_POST) przypisana do zmiennej $tresc.

Ten post edytował Blame 20.11.2009, 22:31:44
Go to the top of the page
+Quote Post
lojciec14
post
Post #9





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 29.06.2009

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


Nie daję rady... walczyłem z tym na wszystkie możliwe sposoby, ale nie potrafię się w tym połapać... czy ktoś mógłby stworzyć gotowy kod do wstawienia na stronkę?? (IMG:style_emoticons/default/sad.gif) Jeszcze jak widać spoooro nauki przede mną...
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 - 07:19