Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Formularz z załącznikami, Lak dodać dodatkowy załącznik do formularza
Arteline
post
Post #1





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 11.03.2008

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


Witam.
Byłabym BARDZO wdzięczna jeśli ktoś mógłby mi podpowiedzieć jak dodać dodatkowe pole załącznika w skrypcie który podpinam poniżej.
Formularz
  1. <?php
  2. <form enctype="multipart/form-data" name=doit action="sendmail.php3" method=POST>
  3. <table cellpadding=0 cellspacing=0>
  4. <tr><td><b>Tob></td><td><input type="text" name="to" size=40></td></tr>
  5. <tr><td><b>Ccb></td><td><input type="text" name="cc" size=40></td></tr>
  6. <tr><td><b>Bccb></td><td><input type="text" name="bcc" size=40></td></tr>
  7. <tr><td><b>Fileb></td><td><input type=file name="attach" size=40></td></tr>
  8. <tr><td><b>Subjectb></td><td><input type="text" name="subject" size=40>
  9. </td></tr></table>
  10. <textarea name="body" rows=15 cols=50 wrap="message">
  11. </textarea>
  12. <input type="submit" name="sendmail" value="Send">
  13. ?>

sendmail
  1. <?
  2.  
  3. $mailheaders  = "Fro: $from\n";
  4. $mailheaders .= "Reply-To: $from\n";
  5. $mailheaders .= "Cc: $cc\n";
  6. $mailheaders .= "X-Mailer: PHP by www.mjs27.prv.pl\n";
  7.  
  8. $msg_body = stripslashes($body);
  9.  
  10. if ($attach != "none")
  11. {
  12.    $file = fopen($attach, "r");
  13.    $contents = fread($file, $attach_size);
  14.    $encoded_attach = chunk_split(base64_encode($contents));
  15.    fclose($file);
  16.        
  17.    $mailheaders .= "MIME-versio: 1.0\n";
  18.    $mailheaders .= "Content-typ: multipart/mixed; ";
  19.    $mailheaders .= "boundary=\"Message-Boundary\"\n";
  20.    $mailheaders .= "Content-transfer-encodin: 7BIT\n";
  21.    $mailheaders .= "X-attachment: $attach_name";
  22.  
  23.    $body_top = "--Message-Boundary\n";
  24.    $body_top .= "Content-typ: text/plain; charset=US-ASCII\n";
  25.    $body_top .= "Content-transfer-encodin: 7BIT\n";
  26.    $body_top .= "Content-descriptio: Mail message body\n\n";
  27.  
  28.    $msg_body = $body_top . $msg_body;
  29.  
  30.    $msg_body .= "\n\n--Message-Boundary\n";
  31.    $msg_body .= "Content-typ: $attach_type; name=\"$attach_name\"\n";        
  32.    $msg_body .= "Content-Transfer-Encodin: BASE64\n";
  33.    $msg_body .= "Content-dispositio: attachment; filename=\"$attach_name\"\n\n";
  34.    $msg_body .= "$encoded_attach\n";
  35.    $msg_body .= "--Message-Boundary--\n";
  36. }
  37.  
  38. mail($to, stripslashes($subject), $msg_body, $mailheaders);
  39. ?>


Marzeniem byłaby jeszcze informacja jak zablokować opcje wysyłania bez dodania choćby jednego załącznika.

Ten post edytował Arteline 16.09.2008, 12:44:38
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Cienki1980
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 1 590
Pomógł: 40
Dołączył: 11.01.2007
Skąd: Centrum

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


klik do sciagniecia tego co potrzeba


W powyższej paczce masz wszystkie potrzebne pliki, wraz z działającym wysyłaniem maila z dwoma załącznikami.

Nie jest to gotowiec, nie ma formularza no ale na aż takiego gotowca nie ma co liczyć. Miałaś dużo podpowiedzi a nie pokazałaś ani jednej poprawki swojego kodu.

Pokaż, jak próbujesz a poszukamy razem błędów i nakierujemy na poprawne rozwiązanie.
Go to the top of the page
+Quote Post
Arteline
post
Post #3





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 11.03.2008

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


Cytat(Cienki1980 @ 16.09.2008, 11:50:43 ) *
Pokaż, jak próbujesz a poszukamy razem błędów i nakierujemy na poprawne rozwiązanie.


Oczywiście masz rację. Dołączam moje wypociny.
FORMULARZ
  1. <?php
  2. <form enctype="multipart/form-data" name=doit action="sendmail.php3" method=POST>
  3. <table cellpadding=0 cellspacing=0>
  4. <tr><td><b>Tob></td><td><input type="text" name="to" size=40></td></tr>
  5. <tr><td><b>Ccb></td><td><input type="text" name="cc" size=40></td></tr>
  6. <tr><td><b>Bccb></td><td><input type="text" name="bcc" size=40></td></tr>
  7. <tr><td><b>Fileb></td>
  8.  <td><input type=file name="attach" size=40 /><br /><input type=file name="attach1" size=40 /></td>
  9. </tr>
  10. <tr><td><b>Subjectb></td><td><input type="text" name="subject" size=40>
  11. </td></tr></table>
  12. <textarea name="body" rows=15 cols=50 wrap="message">
  13. </textarea>
  14. <input type="submit" name="sendmail" value="Send">
  15. ?>


SENDMAIL
  1. <?
  2.  
  3. $mailheaders  = "Fro: $from\n";
  4. $mailheaders .= "Reply-To: $from\n";
  5. $mailheaders .= "Cc: $cc\n";
  6. $mailheaders .= "X-Mailer: PHP by www.mjs27.prv.pl\n";
  7.  
  8. $msg_body = stripslashes($body);
  9.  
  10. if ($attach != "none")
  11. if ($attach1 != "none")
  12. {
  13. $file = fopen($attach, $attach1 "r");
  14. $contents = fread($file, $attach_size, $attach1_size);
  15. $encoded_attach = chunk_split(base64_encode($contents));
  16. fclose($file);
  17.  
  18. $mailheaders .= "MIME-versio: 1.0\n";
  19. $mailheaders .= "Content-typ: multipart/mixed; ";
  20. $mailheaders .= "boundary=\"Message-Boundary\"\n";
  21. $mailheaders .= "Content-transfer-encodin: 7BIT\n";
  22. $mailheaders .= "X-attachment: $attach_name";
  23. $mailheaders .= "X-attachment: $attach1_name";
  24.  
  25. $body_top = "--Message-Boundary\n";
  26. $body_top .= "Content-typ: text/plain; charset=US-ASCII\n";
  27. $body_top .= "Content-transfer-encodin: 7BIT\n";
  28. $body_top .= "Content-descriptio: Mail message body\n\n";
  29.  
  30. $msg_body = $body_top . $msg_body;
  31.  
  32. $msg_body .= "\n\n--Message-Boundary\n";
  33. $msg_body .= "Content-typ: $attach_type; name=\"$attach_name\"\n";
  34. $msg_body .= "Content-typ: $attach_type; name=\"$attach1_name\"\n";
  35. $msg_body .= "Content-Transfer-Encodin: BASE64\n";
  36. $msg_body .= "Content-dispositio: attachment; filename=\"$attach_name\"\n\n";
  37. $msg_body .= "Content-dispositio: attachment; filename=\"$attach1_name\"\n\n";
  38. $msg_body .= "$encoded_attach\n";
  39. $msg_body .= "$encoded_attach1\n";
  40. $msg_body .= "--Message-Boundary--\n";
  41. }
  42.  
  43. mail($to, stripslashes($subject), $msg_body, $mailheaders);
  44. ?>


Ten post edytował Arteline 16.09.2008, 12:43:37
Go to the top of the page
+Quote Post

Posty w temacie


Closed TopicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 7.10.2025 - 00:53