mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Fr 29.03.2024 07:07 Benutzername: Passwort: Auto-Login

Thema: Formmailer + Uploadscript vom 24.08.2010


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> Formmailer + Uploadscript
Autor Nachricht
siriussmarty
Threadersteller

Dabei seit: 21.04.2010
Ort: Eilenburg
Alter: 33
Geschlecht: Männlich
Verfasst Di 24.08.2010 10:17
Titel

Formmailer + Uploadscript

Antworten mit Zitat Zum Seitenanfang

Hallo,
ich habe eine Onlineformular, das ist etwas komplizierter von mir zusammen gebastelt.
Ich brauche in dem Onlineformular noch ein Attachment um den Leuten eine möglichkeit zu bieten mir per Formular mehrere Datein mitzusenden.

Habe mir schon vieles Angeschaut und probiert + versucht, habe bis jetzt nur ein Uploadbutton hin bekommen der auch funktioniert, Füge ich weitere Hinzu wird nur die letzte Datei mitgesendet die Hochgeladen/eingetragen wurden ist


Mal ein beipiel, was ich versucht habe und nicht funktioniert

Code:
<html>
<head>
<title>Kontaktformular inkl. Dateianhang mit PHP</title>
</head>
<body>
<?php

$Empfaenger = "nun@admin.de";

if($_REQUEST['Send'])
{
   if(empty($_REQUEST['Name']) || empty($_REQUEST['Email']) || empty($_REQUEST['Nachricht']))
   {
      echo"Bitte gehen Sie <a href=\"javascript:history.back();\">zurück</a> und füllen Sie alle Felder aus!";
   }
   else
   {
      $Mailbetreff = "Kontakt: ";
      $Mailbetreff .= $_REQUEST['Betreff'];

      $Trenner = md5(uniqid(time()));

      $Header = "From: ".$_REQUEST['Email'];
      $Header .= "\n";
      $Header .= "MIME-Version: 1.0";
      $Header .= "\n";
      $Header .= "Content-Type: multipart/mixed; boundary=$Trenner";
      $Header .= "\n\n";
      $Header .= "This is a multi-part message in MIME format";
      $Header .= "\n";
      $Header .= "--$Trenner";
      $Header .= "\n";
      $Header .= "Content-Type: text/plain";
      $Header .= "\n";
      $Header .= "Content-Transfer-Encoding: 8bit";
      $Header .= "\n\n";
      $Header .= "Sie haben folgende Nachricht erhalten: \n\n";
      while(list($Formularfeld, $Wert)=each($_REQUEST))
      {
         if($Formularfeld!="Send" && $Formularfeld!="Anhang, Anhang1, Anhang2, Anhang3 ")
         {
            $Header .= $Formularfeld.": ".$Wert."\n";
         }
      }
      $Header .= "\nDatum/Zeit: ";
      $Header .= date("d.m.Y H:i:s");
      $Header .= "\n";
      $Header .= "--$Trenner";
      $Header .= "\n";
      $Header .= "Content-Type: ";
      $Header .= $_FILES['Anhang']['type']['Anhang1']['type']['Anhang2']['type']['Anhang3']['type'];
      $Header .= "; name=";
      $Header .= $_FILES['Anhang']['name']['Anhang1']['name']['Anhang2']['name']['Anhang3']['name'];
      $Header .= "\n";
      $Header .= "Content-Transfer-Encoding: base64";
      $Header .= "\n";
      $Header .= "Content-Disposition: attachment; filename=";
      $Header .= $_FILES['Anhang']['name']['Anhang1']['name']['Anhang2']['name']['Anhang3']['name'];
      $Header .= "\n\n";
      $Dateiinhalt = fread(fopen($_FILES['Anhang']['tmp_name']['Anhang1']['tmp_name']['Anhang2']['tmp_name']['Anhang3']['tmp_name'], "r"), $_FILES['Anhang']['size']['Anhang1']['size']['Anhang2']['size']['Anhang3']['size']);
      $Header .= chunk_split(base64_encode($Dateiinhalt));
      $Header .= "\n";
      $Header .= "--$Trenner--";

      mail($Empfaenger, $Mailbetreff, "", $Header);
      echo"Vielen Dank für Ihre eMail!";
   }
}
else
{
?>
<table border="0" cellpadding="1" cellspacing="2">
<form action="<?php echo$_SERVER['PHP_SELF']; ?>" enctype="multipart/form-data" method="post">
 <tr>
  <td>Name:</td>
  <td><input name="Name" size="20" type="text"></td>
 </tr>
 <tr>
  <td>eMail:</td>
  <td><input name="Email" size="20" type="text"></td>
 </tr>
 <tr>
  <td>Betreff:</td>
  <td><select name="Betreff" size="1"><option>Hilfe</option><option>Kritik</option><option>Werbung</option></select></td>
 </tr>
 <tr>
  <td>Nachricht:</td>
  <td><textarea cols="25" name="Nachricht" rows="5"></textarea></td>
 </tr>
 <tr>
  <td>Anhang:</td>
  <td><input name="Anhang" size="20" type="file"></td>
 </tr>
  <tr>
  <td>Anhang:</td>
  <td><input name="Anhang1" size="20" type="file"></td>
 </tr>
  <tr>
  <td>Anhang:</td>
  <td><input name="Anhang2" size="20" type="file"></td>
 </tr>
  <tr>
  <td>Anhang:</td>
  <td><input name="Anhang3" size="20" type="file"></td>
 </tr>
 <tr>
  <td align="center" colspan="2"><input name="Send" type="submit" value="Abschicken">    <input name="Reset" type="reset" value="Löschen"></td>
 </tr>
</form>
</table>
<?php
}

?>
</body>
</html>


Zuletzt bearbeitet von siriussmarty am Di 24.08.2010 10:23, insgesamt 2-mal bearbeitet
  View user's profile Private Nachricht senden
siriussmarty
Threadersteller

Dabei seit: 21.04.2010
Ort: Eilenburg
Alter: 33
Geschlecht: Männlich
Verfasst Di 24.08.2010 13:13
Titel

Antworten mit Zitat Zum Seitenanfang

Habe das Problem gelöst. Habe eine veränderung im Konzept vorgenommen. So das die User dann nur 1 Bild hochladen dürfen bzw ein .rar Archiv.

Jedoch habe ich eine weitere Frage.

Ich habe:
Bild #1
Bild #2
Bild #3
Bild #4

Nun ist ein RadioButton davor, so das ein Bild ausgewählt werden kann. Habe nun versucht Checkboxen daraus zumachen, funktioniert, jedoch wird in der Mail nur das letzte Ausgewähle Bild angegeben. Wo liegt diesmal mein Problem?

Code:
<div class="radios">
<div class="items">
<div><input type="checkbox" name="foto" value="0001" id="motiv0001" /><label for="motiv0001"> <a class="single_image" href="images/bildmotive/001.jpg"><img src="images/bildmotive/001k.jpg" /></a></label></div>
<div><input type="checkbox" name="foto" value="1002" id="motiv1002" /><label for="motiv1002"> <a class="single_image" href="images/bildmotive/055.jpg"><img src="images/bildmotive/055k.jpg" /></a></label></div>
<div><input type="checkbox" name="foto" value="1005" id="motiv1005" /><label for="motiv1005"> <a class="single_image" href="images/bildmotive/054.jpg"><img src="images/bildmotive/054k.jpg" /></a></label></div>
<div><input type="checkbox" name="foto" value="0018" id="motiv0018" /><label for="motiv0018"> <a class="single_image" href="images/bildmotive/018.jpg"><img src="images/bildmotive/018k.jpg" /></a></label></div>
</div></div>[/
code]

Das sind meine Bilder mit RadioButton, habe darauß Checkboxen gemacht

Code:
<div class="radios">
<div class="items">
<div><input type="radio" name="foto" value="0001" id="motiv0001" /><label for="motiv0001"> <a class="single_image" href="images/bildmotive/001.jpg"><img src="images/bildmotive/001k.jpg" /></a></label></div>
<div><input type="radio" name="foto" value="1002" id="motiv1002" /><label for="motiv1002"> <a class="single_image" href="images/bildmotive/055.jpg"><img src="images/bildmotive/055k.jpg" /></a></label></div>
<div><input type="radio" name="foto" value="1005" id="motiv1005" /><label for="motiv1005"> <a class="single_image" href="images/bildmotive/054.jpg"><img src="images/bildmotive/054k.jpg" /></a></label></div>
<div><input type="radio" name="foto" value="0018" id="motiv0018" /><label for="motiv0018"> <a class="single_image" href="images/bildmotive/018.jpg"><img src="images/bildmotive/018k.jpg" /></a></label></div>
</div></div>


Das gibt er dann in der Mail aus

Code:
$arr_bestell = array(
'Motiv' => $_POST['foto'],
);


Dies ist auch eingefügt
Code:
      if (isset($_REQUEST['cbutton'])) {
  reset($_REQUEST['cbutton']);
  foreach ($_REQUEST['cbutton'] as $k => $v) {
    print "$k $v\n";
  }
} else {
  print "alle cbutton schlafen schon.\n";
}


Wo liegt mein problem?


Zuletzt bearbeitet von siriussmarty am Di 24.08.2010 13:20, insgesamt 2-mal bearbeitet
  View user's profile Private Nachricht senden
Anzeige
Anzeige
 
Ähnliche Themen ftp-uploadscript
Suche Uploadscript in PHP
personalisiertes uploadscript
Verzweifle langsam (Uploadscript)
brauche gutes Uploadscript
Uploadscript - Ausgabe | Division by zero
Neues Thema eröffnen   Neue Antwort erstellen
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.