Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]formularz z opcją dodawanie pliku
Forum PHP.pl > Forum > Przedszkole
siomil
Witam.
Mam problem- zrobiłem formularz w programie Dreamweaver z "opcją" dodawania pliku i chciałbym aby dane z formularza były wysyłane na mojego maila, wszystko działa tylko nie wysyła mi pliku na maila, są same dane. Pomyślicie pewnie ... "o Boże takich postów było setki skorzystaj z opcji szukaj" ... i korzystałem i przeglądnąłem setki postów o tej tematyce do tego setkę tutoriali i polskich i angielskich i nic. Problemem jest to, że to moja pierwsza strona a jeśli chodzi o języki programowania to moja wiedza jest taka, że wiem że są takowe i to wszystko. Totalnie nic mi nie wychodzi jeśli chodzi o ten formularz. Mój skrypt php wygląda tak:

  1. <?php
  2. //--------------------------Set these paramaters--------------------------
  3.  
  4. // Subject of email sent to you.
  5. $subject = 'Kontakt';
  6.  
  7. // Your email address. This is where the form information will be sent.
  8. $emailadd = 'mail@asd.pl';
  9.  
  10. // Where to redirect after form is processed.
  11. $url = 'http://www.asd.pl/';
  12.  
  13. // Makes all fields required. If set to '1' no field can not be empty. If set to '0' any or all fields can be empty.
  14. $req = '1';
  15.  
  16. // --------------------------Do not edit below this line--------------------------
  17. $text = "Results from form:\n\n";
  18. $space = ' ';
  19. $line = '
  20. ';
  21. foreach ($_POST as $key => $value)
  22. {
  23. if ($req == '1')
  24. {
  25. if ($value == '')
  26. {echo "$key is empty";die;}
  27. }
  28. $j = strlen($key);
  29. if ($j >= 20)
  30. {echo "Name of form element $key cannot be longer than 20 characters";die;}
  31. $j = 20 - $j;
  32. for ($i = 1; $i <= $j; $i++)
  33. {$space .= ' ';}
  34. $value = str_replace('\n', "$line", $value);
  35. $conc = "{$key}:$space{$value}$line";
  36. $text .= $conc;
  37. $space = ' ';
  38. }
  39. mail($emailadd, $subject, $text, 'From: '.$emailadd.'');
  40. echo '<META HTTP-EQUIV=Refresh CONTENT="0; URL='.$url.'">';
  41. ?>


Bardzo proszę powiedzcie mi co mam dopisać, co zrobić, żeby wysyłało mi na maila razem z załadowanym plikiem. Prosiłbym też o pomoc w jak najprostszym słownictwie.
Z góry dziękuję i wiem, że pewnie Wam ta sprawa wyda się banalnie prosta, ale dla mnie to już jest 8-dniowa katorga.
Pozdrawiam.
nospor
setki powiadasz.... oj nie ładnie tak kłamać.... tongue.gif zebys z dziesięc przejrzał to juz by bylo dobrze...

No ale do rzeczy:
a gdzie ty w tym kodzie wysylasz wogole plik? Nigdzie nie widze.
Zeby wyslac plik trzeba go najpierw uploadnac na serwer
http://pl.php.net/manual/pl/features.file-...post-method.php
jak juz nauczysz sie uploadowac to zajmiemy sie wysyłką.
siomil
no specjalnie wyolbrzymiam bo już naprawdę wiele tego przeglądnąłem, dziesiątki spokojnie,
taa bo to kod do wysyłania formularza bez pliku i moje pytanie jest takie... gdzie i co mam wpisać żeby móc też wysyłać plik, czyli do tego pliku php ktory określiłem podczas tworzenia formularza action="moj_plik.php" mam dopisaćcoś takiego?...
(od razu przepraszam jeśli to co napisałem jest idiotyzmem...)

  1. <?php
  2. //--------------------------Set these paramaters--------------------------
  3.  
  4. // Subject of email sent to you.
  5. $subject = 'Kontakt';
  6.  
  7. // Your email address. This is where the form information will be sent.
  8. $emailadd = 'mail@asd.pl';
  9.  
  10. // Where to redirect after form is processed.
  11. $url = 'http://www.asd.pl/';
  12.  
  13. // Makes all fields required. If set to '1' no field can not be empty. If set to '0' any or all fields can be empty.
  14. $req = '1';
  15.  
  16. // --------------------------Do not edit below this line--------------------------
  17. $text = "Results from form:\n\n";
  18. $space = ' ';
  19. $line = '
  20. ';
  21. foreach ($_POST as $key => $value)
  22. {
  23. if ($req == '1')
  24. {
  25. if ($value == '')
  26. {echo "$key is empty";die;}
  27. }
  28. $j = strlen($key);
  29. if ($j >= 20)
  30. {echo "Name of form element $key cannot be longer than 20 characters";die;}
  31. $j = 20 - $j;
  32. for ($i = 1; $i <= $j; $i++)
  33. {$space .= ' ';}
  34. $value = str_replace('\n', "$line", $value);
  35. $conc = "{$key}:$space{$value}$line";
  36. $text .= $conc;
  37. $space = ' ';
  38. }
  39. mail($emailadd, $subject, $text, 'From: '.$emailadd.'');
  40. echo '<META HTTP-EQUIV=Refresh CONTENT="0; URL='.$url.'">';
  41.  
  42. $uploaddir = 'folder na moim serwerze?';
  43. $uploadfile = $uploaddir . basename($_FILES['userfile']['name']);
  44.  
  45. echo '<pre>';
  46. if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
  47. echo "File is valid, and was successfully uploaded.\n";
  48. } else {
  49. echo "Possible file upload attack!\n";
  50. }
  51.  
  52. echo 'Here is some more debugging info:';
  53. print_r($_FILES);
  54.  
  55. print "</pre>";
  56.  
  57. ?>
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.