bituniverse.com Foren-Übersicht bituniverse.com
Entwickler Forum
 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen   RegistrierenRegistrieren 
 ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Kontaktformular mit Attachment(s)

 
Neues Thema eröffnen   Neue Antwort erstellen    bituniverse.com Foren-Übersicht -> Code-Schnipsel
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Stifler
Moderator


Anmeldedatum: 04.11.2007
Beiträge: 68
Wohnort: Graz, Steiermark, Österreich

BeitragVerfasst am: Fr 04 Jul, 2008 12:02    Titel: Kontaktformular mit Attachment(s) Antworten mit Zitat

Hallo!

Immer wieder kommt in Foren die Frage auf wie versende ich eine E-Mail über ein Kontaktformular ikl. Dateianhang.

Ich habe daraufhin beschlossen eine umfangreiche Lösung zu erstellen.

Mein Script besteht aus folgenden bestand teilen:
* HTML Forumlar
* Email versand über PHPMailer Classse
* Multiupload Java script von Stickman

Formular index.html
Code:
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
  2. "http://www.w3.org/TR/html4/loose.dtd">
  3. <html>
  4. <head>
  5. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  6. <script src="multifile.js"></script>
  7. <title>Unbenanntes Dokument</title>
  8. </head>
  9.  
  10. <body>
  11. <table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
  12.   <tr valign="top">
  13.     <td colspan="2">&nbsp;</td>
  14.   </tr>
  15.   <form action="send.php" method="POST" enctype="multipart/form-data">
  16.     <tr valign="top">
  17.       <td width="17%"><strong>Deine E-Mail: </strong></td>
  18.       <td width="83%"><input name="to" type="text" style="width:300px" size="22" maxlength="100"></td>
  19.     </tr>
  20.     <tr valign="top">
  21.       <td><strong>Name:</strong></td>
  22.       <td width="83%"><input name="name" type="text" style="width:300px" size="22" maxlength="100"></td>
  23.     </tr>
  24.     <tr valign="top">
  25.       <td><strong>E-Mail:</strong></td>
  26.       <td><input name="email" type="text" style="width:300px" size="22" maxlength="100"></td>
  27.     </tr>
  28.     <tr valign="top">
  29.       <td><strong>Betreff:</strong></td>
  30.       <td><input name="subject" type="text" style="width:300px" size="22" maxlength="100"></td>
  31.     </tr>
  32.     <tr valign="top">
  33.       <td><strong>Inhalt:</strong></td>
  34.       <td><textarea  style="width:300px" name="text" cols="20" rows="10"></textarea></td>
  35.     </tr>
  36.     <tr>
  37.       <td><strong>Attachment:</strong></td>
  38.       <td colspan="2"><input id="my_file_element" type="file" name="file_1">        <div align="right"></div></td>
  39.     </tr>
  40.     <tr>
  41.       <td valign="top"><strong><b>Datei</b>en: </strong></td>
  42.       <td colspan="2"><div id="files_list"></div>
  43.           <script>
  44.   var multi_selector = new MultiSelector( document.getElementById( 'files_list' ), 5 );
  45.   multi_selector.addElement( document.getElementById( 'my_file_element' ) );
  46.   </script></td>
  47.     </tr>
  48.     <tr valign="top">
  49.       <td>&nbsp;</td>
  50.       <td><input type="submit" name="Submit" value="Senden"></td>
  51.     </tr>
  52.   </form>
  53. </table>
  54. </body>
  55. </html>

PHP-Script: send.php
Php:
  1. <?
  2.  
  3. include_once('class.phpmailer.php');
  4.  
  5. $to = $_POST[to];
  6.  
  7. $from = $_POST[email];
  8. $fromname = $_POST[name];
  9. $subject = $_POST[subject];
  10. $text = $_POST[text];
  11.  
  12. $mail  = new PHPMailer();
  13. $mail->IsSMTP();
  14. $mail->Host = "127.0.0.1";
  15.  
  16. $mail->From       = $from;
  17. $mail->FromName   = $fromname;
  18.  
  19. $mail->Subject    = $subject;
  20.  
  21. $mail->AddAddress($to, "");
  22.  
  23. $mail->Body = $text;
  24.  
  25. foreach($_FILES as $key => $value) {
  26.  
  27. $file = $value['name'];
  28. $temp = $value['tmp_name'];
  29. $error = $value['error'];
  30.  
  31. if(!$error) {
  32.  
  33. $mail->AddAttachment($temp,$file);
  34.  
  35. }
  36. }
  37.  
  38. if(!$mail->Send()) {
  39. die("Error");
  40. } else {
  41. die("OK");
  42. }
  43.  
  44. ?>

Eine Demo des ganzen findet man unter screamlabs.homeip.net.
Vollständiger Download mit PHPMailer Classe und Javascript: screamlabs.homeip.net


_________________

An manchen Tagen gewinnt man an anderen Tagen verlieren die anderen.

Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen MSN Messenger
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    bituniverse.com Foren-Übersicht -> Code-Schnipsel Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB2.de
Powered by WebRing.