Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Formularz z dodawaniem pliku
Snake11
post
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 1.03.2014

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


Tak, przyznają się otwarcie - z PHP raczkuję, ale ambitnie staram się walczyćwink.gif.
Teraz próbuję zrobić formularz PHP umożliwiający wysyłanie załącznika.
Generalnie na podany adres ma przychodzić mail z treścią wypełnionych pól i z plikiem graficznym załącznika. Udało mi się dodać do formularza przycisk umożliwiający dodanie załącznika, ale na maila załącznik nie dochodzi, a zamiast tego dochodzi... nazwa tego załącznika wraz z rozszerzeniem biggrin.gif.

Oto skrypt, z którego korzystam:

  1. <?php
  2. // sprawdzamy, czy zmienna $submit jest pusta
  3. if (empty($_POST['submit'])) {
  4. // wyświetlamy formularz
  5. echo "<table border=\"0\">
  6. <form method=\"post\">
  7. <tr>
  8. <td>Treść wiadomości</td>
  9. <td><textarea name=\"tresc\" style=\"width: 250px; height: 100px\"></textarea></td>
  10. </tr>
  11. <tr>
  12. <td>Imię, nazwisko lub nick</td>
  13. <td><input type=\"text\" name=\"imie\" style=\"width: 250px\"></td>
  14. </tr>
  15. <tr>
  16. <td>Załącz plik</td>
  17. <td><input type=\"file\" name=\"zalacznik\" style\"widt: 250px\"></td>
  18. </tr>
  19.  
  20. <tr>
  21. <td>Adres e-mail</td>
  22. <td><input type=\"text\" name=\"email\" style=\"width: 250px\"></td>
  23. </tr>
  24. <tr>
  25. <td>Kopia do nadawcy</td>
  26. <td> <input type='checkbox' value='1' name='bbc' /> </td>
  27. </tr>
  28. <tr>
  29. <td>&nbsp;</td>
  30. <td><input type=\"submit\" name=\"submit\" value=\"Wyślij\">&nbsp;
  31. <input type=\"reset\" value=\"Od nowa\"></td>
  32. </tr>
  33. </form>
  34. </table>";
  35. }
  36. // sprawdzamy, czy zmienne przesłane z formularza nie są puste
  37. elseif ( !empty($_POST['tresc']) && !empty($_POST['imie']) && !empty($_POST['email']) ) {
  38. $message = "Treść wiadomości:\n" . $_POST['tresc'] . "\nWysłał: " . $_POST['imie'] . "\nZałącznik: " . $_POST['zalacznik'] . "\ne-mail: " . $_POST['email'];
  39. $header = "From: " . $_POST['imie'] . "<" . $_POST['email'] . ">";
  40.  
  41. if ( !empty( $_POST['bbc'] )) {
  42. $header .= "\nBcc: " . $_POST['imie'] . "<" . $_POST['email'] .">";
  43. }
  44. /*
  45. echo "<pre>";
  46. print_r($_POST);
  47. echo "</pre>";
  48.   die; */
  49.  
  50. @mail( "mojmail@mail", "Wiadomosc ze strony", $message, $header )
  51. or die('Nie udało się wysłać wiadomości');
  52. echo "<div align=\"center\"><strong>Wiadomość została wysłana poprawnie!</strong></div>";
  53. }
  54. else
  55. echo "<span style=\"color: #FF0000; text-align: center;\">Wypełnij wszystkie pola formularza!</span>";
  56. ?>


Co robię źle moi drodzy?
Go to the top of the page
+Quote Post
ctom
post
Post #2





Grupa: Zarejestrowani
Postów: 321
Pomógł: 55
Dołączył: 19.04.2009

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


to Ci pomoże http://elpredatoro.org/2013/01/16/dolaczan...li-w-phpmailer/


--------------------
Polecam MyDevil hosting idealny dla deweloperów
Go to the top of the page
+Quote Post
Snake11
post
Post #3





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 1.03.2014

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


A nie ma prostszej metody?
Czy to właśnie tego, co opisuje tamten artykuł, brakuje w moim kodzie?
Go to the top of the page
+Quote Post
Turson
post
Post #4





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

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


PHPMailer to łatwa metoda. Ściągasz bibliotekę, dajesz jakieś require/include w pliku, a dalej podajesz do kogo wysłać, jaki załącznik i wsio.
Go to the top of the page
+Quote Post
Snake11
post
Post #5





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 1.03.2014

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


Cytat(Turson @ 2.03.2014, 15:59:15 ) *
PHPMailer to łatwa metoda. Ściągasz bibliotekę, dajesz jakieś require/include w pliku, a dalej podajesz do kogo wysłać, jaki załącznik i wsio.


Turson, zapoznałem się z Twoim gotowcem formularza w php. Czy w nim jest możliwość dodania kodu odpowiedzialnego za wczytanie załącznika?
Drążę temat, bo próbowałem z phpmailerem, ale niestety nie udało mi się na jego podstawie zbudować pól formularza.
Go to the top of the page
+Quote Post
nospor
post
Post #6





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Zeby formem wyslac zalacznik, trzeba odpowiednio przygotowac formularz i odpowiednio odebrac dane z formularza
Tutaj
http://pl1.php.net/manual/en/features.file...post-method.php
masz wszystko opisane i podane na przykladzie


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

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Turson
post
Post #7





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

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


Cytat(Snake11 @ 3.03.2014, 09:57:47 ) *
Turson, zapoznałem się z Twoim gotowcem formularza w php. Czy w nim jest możliwość dodania kodu odpowiedzialnego za wczytanie załącznika?

Tak bezpośrednio to nie. Nospor podał odpowiedź.

Cytat(Snake11 @ 3.03.2014, 09:57:47 ) *
Drążę temat, bo próbowałem z phpmailerem, ale niestety nie udało mi się na jego podstawie zbudować pól formularza.

PHPMailer nie wymaga innych pól formularza, więc nie wiem jaki to ma związek.

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: 19.08.2025 - 19:58