PHP datei-upload

Dieses Thema PHP datei-upload im Forum "Webentwicklung, Hosting & Programmierung" wurde erstellt von Programmieren, 24. Aug. 2011.

Thema: PHP datei-upload Hallo, ich bin neu hier und hätte gleich mal eine Frage :)b(Coole smileys. Ein Winke smiley wäre auch cool oh und...

  1. Hallo,
    ich bin neu hier und hätte gleich mal eine Frage :)b(Coole smileys. Ein Winke smiley wäre auch cool oh und ein Welcome-smiley)
    OK, jetzt die wirkliche Frage ;)
    Ich möchte gerne in HTML ein Kontaktformular erstellen indem man Name, Nachname, E-mail, PLZ, Straße und Ort angeben kann. AGB sollte man auch anklicken können.Wenn ich die AGB's anklicke soll er mir eine Seite öffnen kommt aber noch. Wenn die AGB's nicht bestätig sind dann soll er meckern, kommt auch noch. Desweiteren sollte ich ein Bild hochladen können und es mit dem Formular an meine E-mail verschicken. Das wars von HTML. Den PHP Code habe ich schon geschrieben. Aber wenn ich das Formular absende kommen zwar die Daten wie z.B.: Name, Nachname.... an aber das Bild ist bei der e-mail nicht als Anhang dabei. Ich finde leider den Fehler nicht :D . Könnt ihr mir mal bitte helfen?

    PHP-CODE:

    Code:
    <?php
    /* Betreffen und Email Variable */
      $emailBetreff =->Bestellung';
    	$webmaster =->storestore@web.de';
    	
    	
    /* Emailforen Daten*/
    
     $name = $_POST['name'];
     $nachname = $_POST['nachname'];
     $email = $_POST['email'];
     $ort = $_POST['ort'];
     $plz = $_POST['plz'];
     $strasse = $_POST['strasse'];	
     $hausnummer = $_POST['hausnummer'];
     $produkt = $_POST['produkt'];
     $produkt2 .= $_POST['produkt2'];
     $produkt3 .= $_POST['produkt3'];
     $notiz = $_POST['notiz'];
     $agb = $_POST['agb'];
     $datein = $_POST['datein'];
     
     /* Was in der E-mail stehen soll */
     
     $body = <<<EOD
    <br><hr><br>
    Name: $name <br>
    Nachname: $nachname <br>
    Email: $email <br>
    Ort: $ort<br>
    PLZ: $plz <br>
    Strasse: $strasse <br>
    Hausnummer: $hausnummer <br>
    Produkt1: $produkt <br>
    Produkt2: $produkt2 <br>
    Produkt3: $produkt3 <br>
    Notzi: $notiz <br>
    AGB: $agb <br>
    Datein: $datein <br>
    EOD;
    
       if(isset($_POST['submit']))
       {
    $dateityp = GetImageSize($_FILES['datei']['tmp_name']);
    if($dateityp[2] != 0)
      {
    $text=$_FILES['datei']['name'];
    // Umlaute entfernen
    $umlaute = Array(/ä/,/ö/,/ü/,/Ä/,/Ö/,/Ü/,/ß/);
    $replace = Array(ae,oe,ue,Ae,Oe,Ue,ss);
    $text_neu = preg_replace($umlaute, $replace, $text);
    
    // Dateiname wird erstellt
    $text = $text_neu; 
    $datname=time();
    $datname.=$text;
    
    
      if($_FILES['datei']['size'] < 4096000)
       {
       $empfaenger = $webmaster; // Empfänger E-Mail Adresse
    $betreff = Bestellung von $nachname ;// Betreff
    
    $dateiname = bild.gif; // Dateiname
    $dateiname_mail = anhang.gif;
    
    $id = md5(uniqid(time()));
    $dateiinhalt = fread(fopen($dateiname, r), filesize($dateiname));
    
     // Absender Name und E-Mail Adresse
    $kopf = From: $name, $nachname <$email>\n;
    $kopf .= MIME-Version: 1.0\n;
    $kopf .= Content-Type: multipart/mixed; boundary=$id\n\n;
    $kopf .= This is a multi-part message in MIME format\n;
    $kopf .= --$id\n;
    $kopf .= Content-Type: text/plain\n;
    $kopf .= Content-Transfer-Encoding: 8bit\n\n;
    $kopf .= Bestellung von $name; // Inhalt der E-Mail (Body)
    $kopf .= \n--$id;
    // Content-Type: image/gif, image/jpeg, image/png » MIME-Typen - selfHtml.org
    $kopf .= \nContent-Type: image/gif; name=$dateiname_mail\n;
    $kopf .= Content-Transfer-Encoding: base64\n;
    $kopf .= Content-Disposition: attachment; filename=$dateiname_mail\n\n;
    $kopf .= chunk_split(base64_encode($dateiinhalt));
    $kopf .= \n--$id--;
    
    
       }
    
      else
       {
         echo Das Bild darf nicht größer als 4 MB sein ;
       }
    
      }
    
    else
      {
      echo Bitte nur Bilder im Gif bzw. jpg Format hochladen;
      }
    
    
      }
    
    	$headers = From: $email\r\n;
    	$headers .= Content-type: text/html\r\n;
    	$headers = mail($webmaster, $emailBetreff, $body, $headers, $kopf);
    	
    /* Antwort*/
    echo Deine Bestellung wurde erfolgreich versendet. Vielen Dank!;	
     
    
    
    ?>
    Danke im voraus. Ich weiß das ist viel und die erste Frage von neuen sollte nicht so krass seien aber naja :danke1:
    PS: Boah, ihr habt sogar eine Rechtschreib prüfung. Alter seit ihr cool :1 :D 8)

    mfg Programmieren
     
  2. Ok, habe mal ein bisschen geforscht. Hmm, ich habe alles so wie in einer Anleitung (siehe Seite http://www.php-einfach.de/codeschnipsel_1114.php Abschnitt datei_upload.
    Ich habe noch die function mail_att ergänzt aber trotzdem kommt keine mail an :tickedoff:
    Ich hoffe jemand antwortet mal :knuppel2:
    Also :danke1: im voraus.

    mfg Programmierer
     
Die Seite wird geladen...

PHP datei-upload - Ähnliche Themen

Forum Datum
Re: PHP datei-upload Windows XP Forum 27. Aug. 2011