Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: skrypt formularza wysyłkowego - jak podpiąć załącznik? [PHP]
Forum PHP.pl > Inne > Giełda ofert > Poszukuję
mdkdesign
Witam serdecznie!
Zwracam się do was z prośbą o pomoc w modyfikacji mojego skryptu (częściowo mojego) formularza wysyłającego zlecenia reklamowe, tak aby móc załączać
pliki spakowane w rar czy zip.
Mam 2 pliki - jeden to formularz.php - nie jest istotna jego budowa, ma kilka pól tekstowych (imie nazwisko, nazwa firmy, itp), tresc wiadomosci, oraz 2x radio buttons,
i 2 listy rozwijane a także pole dołącz plik -
  1. <input name="plik" type="file" />

Po poprawnym wypełnieniu, formularz przesyła dane do pliku o nazwie odczyt.php, którego kod znajduje się poniżej.
Dodam, że wszystko działa jak należy, odbieram maila, za wyjątkiem dodawania pliku. Nie chciałbym pisać od nowa skryptu, chciałbym tylko zmodyfikować
ten dodając odpowiedni skrypt załączający spakowany plik i wysyłający na maila jako załącznik.
niestety brak mi wystarczającej wiedzy, a metodą prób i błędów już brakuje mi cierpliwości i czasu.
Z góry serdecznie dziękuję za pomoc. Oto skrypt:
  1. <?php
  2. if(isset($_POST['email'])) {
  3.  
  4. // adres email
  5. $email_to = "info@mojadres.pl";
  6. $email_subject = "Zlecenie";
  7.  
  8.  
  9. function died($error) {
  10. // wiadomosc o bledach
  11. echo "Przepraszamy, wszystkie pola muszą być wypełnine prawidłowo. ";
  12. echo "popraw następujące pola:<br /><br />";
  13. echo $error."<br /><br />";
  14. echo "Proszę nacisnąć wstecz w przeglądarce i poprawić błędy.<br /><br />";
  15. die();
  16. }
  17.  
  18. // validation expected data exists
  19. if(!isset($_POST['nazwisko']) ||
  20. !isset($_POST['nazwa_firmy']) ||
  21. !isset($_POST['adres']) ||
  22. !isset($_POST['nr']) ||
  23. !isset($_POST['kod']) ||
  24. !isset($_POST['kod2']) ||
  25. !isset($_POST['adres2']) ||
  26. !isset($_POST['email']) ||
  27. !isset($_POST['telefon']) ||
  28. !isset($_POST['nip'])) {
  29.  
  30. died('przepraszamy, wszystkie pola muszą być uzupełnione.');
  31. }
  32.  
  33. $nazwisko = $_POST['nazwisko'];
  34. $nazwa_firmy = $_POST['nazwa_firmy'];
  35. $adres = $_POST['adres'];
  36. $nr = $_POST['nr'];
  37. $kod = $_POST['kod'];
  38. $kod2 = $_POST['kod2'];
  39. $adres2 = $_POST['adres2'];
  40. $email_from = $_POST['email'];
  41. $telephone = $_POST['telefon'];
  42. $nip = $_POST['nip'];
  43. $spot = $_POST['projekt_reklamy'];
  44. $opis = $_POST['opis'];
  45. $plik = $_POST['plik'];
  46.  
  47. $error_message = "";
  48. $email_exp = "^[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$";
  49. if(!eregi($email_exp,$email_from)) {
  50. $error_message .= 'nieprawidłowy adres email,<br />';
  51. }
  52.  
  53. $string_exp = "^[0-9 .-]+$";
  54. if(!eregi($string_exp,$telephone)) {
  55. $error_message .= 'nieprawidłowy numer telefonu,<br />';
  56. }
  57.  
  58. $string_exp = "^[0-9 .-]+$";
  59. if(!eregi($string_exp,$nip)) {
  60. $error_message .= 'nieprawidłowy numer NIP,<br />';
  61. }
  62.  
  63. $string_exp = "^[0-9 .-]+$";
  64. if(!eregi($string_exp,$kod)) {
  65. $error_message .= 'nieprawidłowy kod pocztowy,<br />';
  66. }
  67.  
  68. $string_exp = "^[0-9 .-]+$";
  69. if(!eregi($string_exp,$kod2)) {
  70. $error_message .= 'nieprawidłowy kod pocztowy,<br />';
  71. }
  72.  
  73. if(strlen($error_message) > 0) {
  74. died($error_message);
  75. }
  76. $email_message = "ZLECENIE:\n\n";
  77.  
  78. function clean_string($string) {
  79. $bad = array("content-type","bcc:","to:","cc:","href");
  80. return str_replace($bad,"",$string);
  81. }
  82.  
  83.  
  84. $email_message .= "imię i nazwisko: ".clean_string($nazwisko)."\n";
  85. $email_message .= "nazwa firmy: ".clean_string($nazwa_firmy)."\n";
  86. $email_message .= "adres: ".clean_string($adres)." ".clean_string($nr)."\n";
  87. $email_message .= "".clean_string($kod)."-".clean_string($kod2).",".clean_string($adres2)."\n";
  88. $email_message .= "email: ".clean_string($email_from)."\n";
  89. $email_message .= "telefon: ".clean_string($telephone)."\n";
  90. $email_message .= "NIP: ".clean_string($nip)."\n";
  91. $email_message .= "---------------------------------------------------------\n";
  92. $email_message .= "\n";
  93. $email_message .= "OPIS/UWAGI: \n".clean_string($opis)."\n";
  94.  
  95. // create email headers
  96. $headers = 'Od: '.$email_from."\r\n".
  97. 'Reply-To: '.$email_from."\r\n" .
  98. 'X-Mailer: PHP/' . phpversion();
  99. @mail($email_to, $email_subject, $email_message, $headers);
  100. ?>
  101.  
  102. <h3>Dziękujemy za zgłoszenie.</h3>
  103. <a href="/index.php" title="index">powrót do strony głównej</a>
  104.  
  105. <?
  106. }
  107. ?>
nospor
Cytat
niestety brak mi wystarczającej wiedzy, a metodą prób i błędów już brakuje mi cierpliwości i czasu.
No to nie baw sie w metody prob i bledow, a zacznij od dokumentacji.
Najpierw naucz się uploadowac plik, bo pokodzie widze ze chyba nie umiesz.
http://pl.php.net/manual/pl/features.file-...post-method.php

Jak juz opanujesz upload, to przejdziemy do wysyłki.
mdkdesign
Cytat(nospor @ 25.01.2010, 12:01:40 ) *
No to nie baw sie w metody prob i bledow, a zacznij od dokumentacji.
Najpierw naucz się uploadowac plik, bo pokodzie widze ze chyba nie umiesz.
http://pl.php.net/manual/pl/features.file-...post-method.php

Jak juz opanujesz upload, to przejdziemy do wysyłki.


dzięki kolego za radę, ale jestem zielony z php, dlatego proszę o pomoc co dodać do tego skryptu żeby załączał i wysyłał plik,
jakbym miał czas na naukę php to nie pisałbym postów z prośbą o pomoc, ale niestety nie zajmuję się programowaniem,
a dla większości tutaj jest to zapewne banalne dlatego pytam co muszę dodać do tego skryptu żeby można było załączyć plik
z dysku przez formularz na www, który wyśle mi go na maila.
Dzięki.
nospor
w takim razie trzeba było tak od razu. Przenoszę na giełdę ofert.
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.