Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Podwójny załącznik
Forum PHP.pl > Forum > PHP
cansa
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 sciana.gif

Jeżeli ktoś miałby chwilkę czasu proszę o pomoc i z góry dziękuje
Pyton_000
Tak, mam chwilkę. Proszę i czytaj: http://nl3.php.net/manual/en/function.mail.php
maly_swd
Zamiast bawić się w robienie nagłówków do maila, użyj tego: http://swiftmailer.org/
Niree
Poza tym nigdzie nie zdefiniowałeś $tresc2.
W załączniku definiujesz

  1. $tresc2 .= 'blabla';

ale gdzie główna zmienna $tresc2?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.