Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]formularz z opcją dodawanie pliku
siomil
post
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 20.03.2010

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


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.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




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ą.


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
siomil
post
Post #3





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 20.03.2010

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


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. ?>
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 13:11