Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Podwójny załącznik, problem z formularzem w php
cansa
post
Post #1





Grupa: Zarejestrowani
Postów: 1
Pomógł: 0
Dołączył: 4.11.2016

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


Witam, proszę Was o pomoc.

Mam taki formularz, który próbuje przerobić po to aby przesyłał dwa załączniki.

  1. <form id="main-contact-form" name="zalacznik" method="post" enctype="multipart/form-data">
  2. <input name="name" type="text" class="form-control" required="required" placeholder="Imię i nazwisko">
  3. <input name="phone" type="text" class="form-control" required="required" placeholder="Numer telefonu">
  4. <input name="email" type="text" class="form-control" required="required" placeholder="Adres email">
  5. <input type="hidden" name="wyslij" value="1" />
  6. <input type="hidden" name="MAX_FILE_SIZE" value="10000000" />
  7. <input type="file" class="form-control" name="plik1">
  8. <input type="file" class="form-control" name="plik2">
  9. <textarea name="message" id="message" required="required" class="form-control" placeholder="Treść wiadomości"></textarea>
  10. <button type="submit">WYŚLIJ FORMULARZ</button>
  11. </form>


  1. <?php
  2. if ($_POST["wyslij"]==1)
  3. {
  4. srand((double)microtime()*1000000);
  5. $znacznik = md5(uniqid(rand()));
  6.  
  7. $odbiorca="mail@mail.com";
  8. $tytul="Formularz";
  9. $nadawca = "Formularz";
  10. $nadawca_mail="formularz.pl";
  11.  
  12. $name = $_POST['name'];
  13. $email = $_POST['email'];
  14. $phone = $_POST['phone'];
  15. $message = $_POST['message'];
  16.  
  17. $tresclistu = "IMIĘ I NAZWISKO: " . "\n" . $name . "\n" . "----------" . "\n" . "NUMER TELEFONU: " . "\n" . $phone . "\n" . "----------" . "\n" . "ADRES EMAIL: " . "\n" . $email . "\n" . "----------" . "\n" . "TREŚĆ WIADOMOŚCI: " . "\n" . $message . "\n";
  18.  
  19. $naglowki = "From: $nadawca <$nadawca_mail>\n";
  20. $naglowki .= "MIME-Version: 1.0\n";
  21. $naglowki .= "Content-Type: multipart/mixed;\n";
  22. $naglowki .= "\tboundary=\"___$znacznik==\"";
  23.  
  24. $tresc="--___$znacznik==\n";
  25. $tresc .="\n$tresclistu\n";
  26.  
  27. $plik_nazwa_tmp = $_FILES["plik1"]["tmp_name"];
  28. $plik_nazwa_oryginalna = $_FILES["plik1"]["name"];
  29. $plik_wielkosc = $_FILES["plik1"]["size"];
  30.  
  31. if (is_uploaded_file($plik_nazwa_tmp))
  32. {
  33. $tresc .="--___$znacznik==\n";
  34. $tresc .="Content-Type: image/gif\n";
  35. $tresc .="Content-Disposition: attachment;\n";
  36. $tresc .=" filename=\"$plik_nazwa_oryginalna\"\n";
  37. $tresc .="Content-Transfer-Encoding: base64\n\n";
  38. $f = fopen($plik_nazwa_tmp,"rb");
  39. $dane = fread($f,filesize($plik_nazwa_tmp));
  40. fclose($f);
  41. $tresc .= chunk_split(base64_encode($dane));
  42. $tresc .="--___$znacznik==--\n";
  43. }
  44.  
  45. $plik_nazwa_tmp2 = $_FILES["plik2"]["tmp_name"];
  46. $plik_nazwa_oryginalna2 = $_FILES["plik2"]["name"];
  47. $plik_wielkosc2 = $_FILES["plik2"]["size"];
  48.  
  49. if (is_uploaded_file($plik_nazwa_tmp2))
  50. {
  51. $tresc2 .="--___$znacznik==\n";
  52. $tresc2 .="Content-Type: image/gif\n";
  53. $tresc2 .="Content-Disposition: attachment;\n";
  54. $tresc2 .=" filename=\"$plik_nazwa_oryginalna2\"\n";
  55. $tresc2 .="Content-Transfer-Encoding: base64\n\n";
  56. $f2 = fopen($plik_nazwa_tmp2,"rb");
  57. $dane2 = fread($f2,filesize($plik_nazwa_tmp2));
  58. fclose($f2);
  59. $tresc2 .= chunk_split(base64_encode($dane2));
  60. $tresc2 .="--___$znacznik==--\n";
  61. }
  62.  
  63. if (mail($odbiorca,$tytul,$naglowki,$tresc2,$tresc))
  64. {
  65. print 'Formularz został wysłany poprawnie.';
  66. }
  67. else
  68. {
  69. print 'Formularz nie został wysłany poprawnie, prosimy spróbować ponownie.';
  70. }
  71. }
  72. ?>


Sam upload pliku działa poprawnie, natomiast po dodaniu drugiej zmiennej '$tresc2' pojawia się błąd ---> Warning: mail(): Multiple or malformed newlines found in additional_header in (IMG:style_emoticons/default/sciana.gif)

Jeżeli ktoś miałby chwilkę czasu proszę o pomoc i z góry dziękuje
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
Pyton_000
post
Post #2





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


Tak, mam chwilkę. Proszę i czytaj: http://nl3.php.net/manual/en/function.mail.php
Go to the top of the page
+Quote Post
maly_swd
post
Post #3





Grupa: Zarejestrowani
Postów: 744
Pomógł: 118
Dołączył: 14.02.2009
Skąd: poziome

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


Zamiast bawić się w robienie nagłówków do maila, użyj tego: http://swiftmailer.org/
Go to the top of the page
+Quote Post
Niree
post
Post #4





Grupa: Zarejestrowani
Postów: 220
Pomógł: 18
Dołączył: 5.02.2016
Skąd: Polska

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


Poza tym nigdzie nie zdefiniowałeś $tresc2.
W załączniku definiujesz

  1. $tresc2 .= 'blabla';

ale gdzie główna zmienna $tresc2?
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: 23.08.2025 - 17:56