Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][PHP]Formularz na stronie + załączniki
Forum PHP.pl > Forum > Przedszkole
goblin306
Witam,
Mam już działający formularz na stronke ale tylko z jednym załącznikiem.
Kombinowałem już na wiele sposobów ale coś mi nie działa.
Podpowiecie jak dodać 2 załącznik ?

HTML - formularz
  1. <FORM NAME="zalacznik" METHOD="post" ACTION="wyslij1.php" ENCTYPE="multipart/form-data" >
  2. <span >Imię i Nazwisko: *</span> <input type="text" required id="nick" name="imie" ><br><br>
  3. <span>Nazwa Firmy:</span> <input type="text" name="nazwisko" id="nazw" ><br><br>
  4. <span>Ulica:</span> <input type="text" name="nazwisko1" id="nazw"><br><br>
  5. <span>Kod pocztowy:</span> <input type="text" name="nazwisko2" id="nazw"><br><br>
  6. <span>Miasto: *</span> <input type="text" required name="nazwisko3" id="nazw"><br><br>
  7. <span>Telefon: *</span> <input type="text" required name="nazwisko4" id="nazw"><br><br>
  8. <span>Budżet:</span> <input type="text" name="nazwisko5" id="nazw"><br><br>
  9. <span>Email: *</span><input type="text" name="email" id="email" required><br><br>
  10. Opis:<textarea name="tresc" id="tresc" rows="10" cols="30"></textarea>
  11. <input type="hidden" name="wyslij" value="1" />
  12. <input type="hidden" name="MAX_FILE_SIZE" value="2000000" />
  13. Załącznik: <INPUT type="file" name="plik1"><br><br>
  14. <span> * Pola Wymagane</span><br><br>
  15. <INPUT TYPE="SUBMIT" VALUE="Wyślij">
  16. </FORM>


Php- wysyłka
  1. <!doctype html>
  2. <html lang="pl">
  3. <head>
  4. <meta charset="utf-8">
  5. <title>Tytuł</title>
  6. </head>
  7. <body>
  8. <?php
  9.  
  10. //sprawdzenie czy załącznik pochodzi z formularza
  11. if ($_POST["wyslij"]==1)
  12.  
  13. $nazwisko = $_POST["nazwisko"];
  14. $nazwisko1 = $_POST["nazwisko1"];
  15. $nazwisko2 = $_POST["nazwisko2"];
  16. $nazwisko3 = $_POST["nazwisko3"];
  17. $nazwisko4 = $_POST["nazwisko4"];
  18. $nazwisko5 = $_POST["nazwisko5"];
  19.  
  20. $imie = $_POST["imie"];
  21.  
  22. $email = $_POST["email"];
  23.  
  24. $tresc= $_POST["tresc"];
  25. {
  26. srand((double)microtime()*1000000);
  27. $znacznik = md5(uniqid(rand()));
  28.  
  29. // dane o odbiorcy, nadawcy
  30. $odbiorca="x@gmail.com";
  31. $tytul="Chce sprzedac towar";
  32. $nadawca = "Formularz ze strony";
  33. $nadawca_mail="x@gmail.com";
  34.  
  35. // treść listu
  36. $tresclistu = "
  37. Imie i Nazwisko: $imie<br>
  38. Nazwa Firmy: $nazwisko<br>
  39. Ulica: $nazwisko1<br>
  40. Kod pocztowy: $nazwisko2<br>
  41. Miasto: $nazwisko3<br>
  42. Telefon: $nazwisko4<br>
  43. Budżet: $nazwisko5<br>
  44.  
  45. email: $email<br>
  46. Opis: $tresc
  47.  
  48. ";
  49.  
  50.  
  51. // definicja nagłówków
  52. $naglowki = "From: $nadawca <$nadawca_mail>\n";
  53. $naglowki .= "MIME-Version: 1.0\n";
  54. $naglowki .= "Content-Type: multipart/mixed;\n";
  55. $naglowki .= "\tboundary=\"___$znacznik==\"";
  56.  
  57. // nagłówki listu
  58. $tresc="--___$znacznik==\n";
  59. $tresc .="Content-Type: text/plain; charset=utf-8\r\n";
  60. $tresc .="Content-Transfer-Encoding: 8bit\n";
  61. $tresc .="\n$tresclistu\n";
  62.  
  63. // nagłówki i obsługa załącznika
  64. $plik_nazwa_tmp = $_FILES["plik1"]["tmp_name"];
  65. $plik_nazwa_oryginalna = $_FILES["plik1"]["name"];
  66. $plik_wielkosc = $_FILES["plik1"]["size"];
  67.  
  68. if (is_uploaded_file($plik_nazwa_tmp))
  69. {
  70. $tresc .="--___$znacznik==\n";
  71. $tresc .="Content-Type: image/gif\n";
  72. $tresc .="Content-Disposition: attachment;\n";
  73. $tresc .=" filename=\"$plik_nazwa_oryginalna\"\n";
  74. $tresc .="Content-Transfer-Encoding: base64\n\n";
  75. $f = fopen($plik_nazwa_tmp,"rb");
  76. $dane = fread($f,filesize($plik_nazwa_tmp));
  77. fclose($f);
  78. $tresc .= chunk_split(base64_encode($dane));
  79. $tresc .="--___$znacznik==--\n";
  80. }
  81.  
  82. // wysłanie listu
  83. if (mail($odbiorca,$tytul,$tresc,$naglowki))
  84. {
  85. print "E-mail z załącznikiem został wysłany poprawnie.
  86. <br> <a href=\"index.html\">Powrót</a>
  87. ";
  88. }
  89. else
  90. {
  91. print "E-mail NIE został wysłany poprawnie.
  92. <br>Prosimy o <a href=\"java script:history.back();\">powrót</a> i wysłanie e-maila ponownie.";
  93. }
  94. }
  95. ?>
  96. </body>
  97. </html>
c4ash
Dodaj w formularzu button z funkcja onclick, ktora to po kliknieciu bedzie dodawac kolejne pola (javascript - createElement). A potem w petli zliczasz ile bylo zalacznikow i wykonujesz akcje smile.gif
goblin306
yy?;]
pewnie by działało ale nie wiem jak to zrobic;]
Ja próbowałem juz dodać w html kolejny button a w php skopiowałem to i zmieniłem nazwy zmiennych. Ale coś nie działa ino nie wiem co

  1. // nagłówki i obsługa załącznika
  2. $plik_nazwa_tmp = $_FILES["plik1"]["tmp_name"];
  3. $plik_nazwa_oryginalna = $_FILES["plik1"]["name"];
  4. $plik_wielkosc = $_FILES["plik1"]["size"];
  5. //2 zalacznik
  6. $plik_nazwa_tmp11 = $_FILES["plik11"]["tmp_name"];
  7. $plik_nazwa_oryginalna11 = $_FILES["plik11"]["name"];
  8. $plik_wielkosc11 = $_FILES["plik11"]["size"];
  9. // 3 zalacznik
  10. $plik_nazwa_tmp111 = $_FILES["plik111"]["tmp_name"];
  11. $plik_nazwa_oryginalna111 = $_FILES["plik111"]["name"];
  12. $plik_wielkosc111 = $_FILES["plik111"]["size"];
  13.  
  14. if (is_uploaded_file($plik_nazwa_tmp))
  15. {
  16. $tresc .="--___$znacznik==\n";
  17. $tresc .="Content-Type: image/gif\n";
  18. $tresc .="Content-Disposition: attachment;\n";
  19. $tresc .=" filename=\"$plik_nazwa_oryginalna\"\n";
  20. $tresc .="Content-Transfer-Encoding: base64\n\n";
  21. $f = fopen($plik_nazwa_tmp,"rb");
  22. $dane = fread($f,filesize($plik_nazwa_tmp));
  23. fclose($f);
  24. $tresc .= chunk_split(base64_encode($dane));
  25. $tresc .="--___$znacznik==--\n";
  26. }
  27.  
  28. if (is_uploaded_file($plik_nazwa_tmp11))
  29. {
  30. $tresc .="--___$znacznik11==\n";
  31. $tresc .="Content-Type: image/gif\n";
  32. $tresc .="Content-Disposition: attachment;\n";
  33. $tresc .=" filename=\"$plik_nazwa_oryginalna11\"\n";
  34. $tresc .="Content-Transfer-Encoding: base64\n\n";
  35. $f = fopen($plik_nazwa_tmp11,"rb");
  36. $dane = fread($f,filesize($plik_nazwa_tmp11));
  37. fclose($f);
  38. $tresc .= chunk_split(base64_encode($dane));
  39. $tresc .="--___$znacznik11==--\n";
  40. }
  41.  
  42. if (is_uploaded_file($plik_nazwa_tmp111))
  43. {
  44. $tresc .="--___$znacznik111==\n";
  45. $tresc .="Content-Type: image/gif\n";
  46. $tresc .="Content-Disposition: attachment;\n";
  47. $tresc .=" filename=\"$plik_nazwa_oryginalna111\"\n";
  48. $tresc .="Content-Transfer-Encoding: base64\n\n";
  49. $f = fopen($plik_nazwa_tmp111,"rb");
  50. $dane = fread($f,filesize($plik_nazwa_tmp111));
  51. fclose($f);
  52. $tresc .= chunk_split(base64_encode($dane));
  53. $tresc .="--___$znacznik111==--\n";
  54. }
!*!
Cytat(goblin306 @ 18.02.2014, 10:45:24 ) *
Kombinowałem już na wiele sposobów ale coś mi nie działa.
Podpowiecie jak dodać 2 załącznik ?

Np. przy pomocy jQuery http://jsfiddle.net/RcLGM/
nospor
Panowie.... ale co Wy mu mieszacie z dynamicznymi inputami? Autor chce dodac na stale w HTML drugiego input z plikiem, tak jak dodal pierwszego. I z tym ma problem. Ma problem z odebraniem tego drugiego inputa. Jak chcecie pomoc, to skupcie sie na tym a nie na bajerach, ktore na chwile obecną są mu zbedne.
goblin306
Dokładnie tak w html dodaje drugiego inputa i problem mam po stronie php zeby go tam dodać
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.