Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][PHP] Proszę o poradę
Forum PHP.pl > Forum > Przedszkole
tuomas
Witam. Mam taki drobny problem. Utworzyłem formularz (w HTML) i sender (wysyłacz w PHP). Problem polega na tym, że w formularzu mam selektor plików i nie wiem co wstawić w kodzie PHP, żeby plik przeznaczony do wysłania mi został wysłany. Na stronie z której skopiowałem kod PHP nigdzie takiego czegoś nie ma. Proszę o pomoc.

Kod formularza:

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
  2. <meta http-equiv="content-type" content="text/html; charset=iso-8859-2">
  3. <title>Araneyi Project</title>
  4. </head>
  5. <body background=http://araneyi-project.cba.pl/page/tlo.jpg>
  6.  
  7. <form action="send.php" method="post" enctype="multipart/form-data" accept="audio/mpeg,audio/wav,audio/AMR">
  8.  
  9. <table align=center bgcolor=#FFFFFF>
  10. <tr><td align=center>
  11. <font color=#FF0000 size=5>Formularz zgłoszeniowy</font><br>
  12. <b>Pola pogrubione są obowiązkowe.</b></td></tr>
  13. <center><b>Dane osobowe</b></center><br>
  14. <table align=center rules=rows><tr><td><b>Imię</b></td><td><input type="text" name="Imię"></td></tr>
  15. <tr><td>Nazwisko</td><td><input type="text" name="Nazwisko"></td></tr>
  16. <tr><td>Wiek</td><td><select name="Wiek"><option>poniżej 16</option><option>16</option><option>17</option><option>18</option><option>19</option><option>20</option><option>21</option><option>22</option><option>23</option><option>24</option><option>25</option><option>26</option><option>27</option><option>28</option><option>29</option><option>30</option> lat</select></td></tr>
  17. <tr><td><b>Miejsce zamieszkania</b></td><td><input type="text" name="Miejsce&nbsp;zamieszkania"></td></tr>
  18. <tr><td>Numer GG</td><td><input type="text" name="Numer&nbsp;GG"></td></tr>
  19. <tr><td><b>Adres e-mail</b></td><td><input type="text" name="Adres&nbsp;e-mail"></td></tr></table></fieldset>
  20. <center><b>Branża muzyczna</b></center><br>
  21. <table align=center rules=rows><tr><td><b>Pozycja w zespole</b><br>
  22. <input type=checkbox name=Pozycja&nbsp;w&nbsp;zespole value=wokal disabled=disabled>wokal<br>
  23. <input type=checkbox name=Pozycja&nbsp;w&nbsp;zespole value=chorki>chórki<br>
  24. <input type=checkbox name=Pozycja&nbsp;w&nbsp;zespole value=git-prowadząca>gitara prowadząca<br>
  25. <input type=checkbox name=Pozycja&nbsp;w&nbsp;zespole value=git-rytmiczna>gitara rytmiczna<br>
  26. <input type=checkbox name=Pozycja&nbsp;w&nbsp;zespole value=bas>gitara basowa<br>
  27. <input type=checkbox name=Pozycja&nbsp;w&nbsp;zespole value=perkusja>perkusja</td></tr>
  28. <tr><td>Umiem grać na<br>
  29. <input type="checkbox" name="Umiem&nbsp;grać&nbsp;na" value="klawiszach" />instrumanetach klawiszowych<br>
  30. <input type="checkbox" name="Umiem&nbsp;grać&nbsp;na" value="akustyku" />gitarze akustycznej<br>
  31. <input type="checkbox" name="Umiem&nbsp;grać&nbsp;na" value="elektryku" />gitarze elektrycznej<br>
  32. <input type="checkbox" name="Umiem&nbsp;grać&nbsp;na" value="basie" />gitarze basowej<br>
  33. <input type="checkbox" name="Umiem&nbsp;grać&nbsp;na" value="perkusji" />perkusji<br>
  34. <input type="checkbox" name="Umiem&nbsp;grać&nbsp;na" value="inny" onclick="this.form.elements['Inny&nbsp;instrument'].disabled = !this.checked" />inny
  35. <input type="text" name="Inny&nbsp;instrument" disabled="disabled" /></td></tr>
  36. <tr><td><b>Ukończone szkoły muzyczne</b><br>
  37. <input type="checkbox" name="Ukończyłem/am" value="publiczną&nbsp;szkołę&nbsp;muzyczną"/>publiczna<br>
  38. <input type="checkbox" name="Ukończyłem/am" value="prywatną&nbsp;szkołę&nbsp;muzyczną"/>prywatna<br>
  39. <input type="checkbox" name="Ukończyłem/am" value="-&nbsp;samouk" onclick="this.form.elements['Nazwa&nbsp;ukończonej&nbsp;szkoły'].disabled = this.checked" id=11 />żadna (uczyłem/am się w domu)<br>
  40. Nazwa ukończonej szkoły<br><textarea name="Nazwa&nbsp;ukończonej&nbsp;szkoły" rows="3" cols="30"></textarea></td></tr>
  41. <tr><td>Jak długo grasz na instrumencie <input type="text" name="Na&nbsp;instrumencie&nbsp;gram" maxlength="2" size="1"></td></tr>
  42. <tr><td>Dokończ zdanie:<br><br>Muzyka jest dla mnie <select name="Muzyka&nbsp;jest&nbsp;dla&nbsp;mnie">
  43. <option>sposobem na nudę.</option>
  44. <option>sposobem na zarabianie.</option>
  45. <option>życiem. Robię to, co lubię przy okazji zarabiam na tym.</option>
  46. <option>hobby. Interesuję się muzyką, bo to jest teraz popularne.</option>
  47. </select></td></tr>
  48. <tr><td>
  49. Przyślij nam swoje demo* <input type="file" name="demo">
  50. <br><font size=2>* tylko pliki <a href=http://filext.com/file-extension/mp3>*.mp3</a> || <a href=http://filext.com/file-extension/amr>*.amr</a> || <a href=http://filext.com/file-extension/wav>*.wav</a></td></tr>
  51. <tr><td>Kilka słów o sobie<br>
  52. <textarea name="O&nbsp;sobie" rows="3" cols="30"></textarea></td></tr></table></fieldset></td></tr>
  53. <tr><td align=center>
  54. <input type="submit" value="Wyślij" /></td></tr></table>
  55. </form>
  56. </body>
  57. </html>


Kod "sendera":
  1. <?php
  2. if (count($_POST))
  3. {
  4. ////////// USTAWIENIA //////////
  5. $email = 'marko_hietala@o2.pl'; // Adres e-mail adresata
  6. $subject = 'Formularz zgłoszeniowy'; // Temat listu
  7. $message = '<center><font color=#65FD05 size=5>Dziękujemy za wysłanie formularza</center></font>'; // Komunikat
  8. $error = '<center><font color=#FD3F3F size=5>Wystąpił błąd podczas wysyłania formularza. Proszę spróbować ponownie.</center></font>'; // Komunikat błędu
  9. $charset = 'iso-8859-2'; // Strona kodowa
  10. //////////////////////////////
  11.  
  12. $head =
  13. "MIME-Version: 1.0\r\n" .
  14. "Content-Type: text/plain; charset=$charset\r\n" .
  15. "Content-Transfer-Encoding: 8bit";
  16. $body = '';
  17. foreach ($_POST as $name => $value)
  18. {
  19. if (is_array($value))
  20. {
  21. for ($i = 0; $i < count($value); $i++)
  22. {
  23. $body .= "$name: " . (get_magic_quotes_gpc() ? stripslashes($value[$i]) : $value[$i]) . "\r\n";
  24. }
  25. }
  26. else $body .= "$name: " . (get_magic_quotes_gpc() ? stripslashes($value) : $value) . "\r\n";
  27. }
  28. $plik_tmp = $_FILES['demo']['tmp_name'];
  29. $plik_nazwa = $_FILES['demo']['name'];
  30. $plik_rozmiar = $_FILES['demo']['size'];
  31. echo mail($email, "=?$charset?B?" . base64_encode($subject) . "?=", $body, $head) ? $message : $error;
  32. }
  33. ?>


Z góry dzięki:)
tuomas
Sorry za pisanie post pod postem, ale nie zauważyłem błędu. W PHP w oryginale nie ma
  1. $plik_tmp = $_FILES['demo']['tmp_name'];
  2. $plik_nazwa = $_FILES['demo']['name'];
  3. $plik_rozmiar = $_FILES['demo']['size'];
więc oryginał wygląda tak:
  1. <?php
  2. if (count($_POST))
  3. {
  4. ////////// USTAWIENIA //////////
  5. $email = 'marko_hietala@o2.pl'; // Adres e-mail adresata
  6. $subject = 'Formularz zgłoszeniowy'; // Temat listu
  7. $message = '<center><font color=#65FD05 size=5>Dziękujemy za wysłanie formularza</center></font>'; // Komunikat
  8. $error = '<center><font color=#FD3F3F size=5>Wystąpił błąd podczas wysyłania formularza. Proszę spróbować ponownie.</center></font>'; // Komunikat błędu
  9. $charset = 'iso-8859-2'; // Strona kodowa
  10. //////////////////////////////
  11.  
  12. $head =
  13. "MIME-Version: 1.0\r\n" .
  14. "Content-Type: text/plain; charset=$charset\r\n" .
  15. "Content-Transfer-Encoding: 8bit";
  16. $body = '';
  17. foreach ($_POST as $name => $value)
  18. {
  19. if (is_array($value))
  20. {
  21. for ($i = 0; $i < count($value); $i++)
  22. {
  23. $body .= "$name: " . (get_magic_quotes_gpc() ? stripslashes($value[$i]) : $value[$i]) . "\r\n";
  24. }
  25. }
  26. else $body .= "$name: " . (get_magic_quotes_gpc() ? stripslashes($value) : $value) . "\r\n";
  27. }
  28. echo mail($email, "=?$charset?B?" . base64_encode($subject) . "?=", $body, $head) ? $message : $error;
  29. }
  30. ?>


PS. Dane te są ze strony www.kurshtml.edu.pl
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.