• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

reCAPTCHA einbinden

Werbung:
Also das hat sich zwischenzeitlich erledigt.

Aber beim Absenden des Formulars erscheint eine Fehlermeldung...
 
Werbung:
Also auf der angegebenen Zeile steht einfach "else"....

Es gab bisher nie Problembe beim Absenden des Formulars...
 
Das ist natürlich ein sehr ausführlicher Code, den man sich anschauen kann...
 
Werbung:
Vielleicht hilft dir das weiter, ist der Abschnitt, der bei Zeile 72 anfängt.


Code:
 else {


                      /*
      Lese aus dem Array $contenttypes mit den MIME-Typen die Daten aus und
      generiere eine Drop-Down-Liste
    */
    reset($contenttypes);
    $key=key($contenttypes);
    while($key != "" || $key=="0") {
        echo "<OPTION VALUE=\"$key\">".$contenttypes[$key][info];
        next($contenttypes);
        $key=key($contenttypes);



                      }
 
Ein Fehler muss nicht umbedingt in diesem Abschnitt liegen.
Was ist so schwer daran, hier einfach den ganzen Code reinzukopieren?
Es sei denn, du willst natürlich keine Hilfe, dann ist es schon verständlich...

Hast du den Code auch so eingefügt wie angegeben?
Hast du irgendwas an dem Code verändert?
 
Den reCAPTCHA Code habe ich nicht verändert, habe alles nach Anleitung gemacht, es funktioniert ja auch.

Also hier mal der ganze Code:

Code:
<?php


// Datei-Anhang \\



/*
      Das Array $contenttypes dient zur identifizierung des MIME-Typs des Anhanges.
      Es beinhaltet den MIME-Typ, die Codierung und eine Beschreibung dazu. Die
      Codierung ist hierbei sehr wichtig, da binaere Daten im base64-Format versendet
      werden muessen (siehe http://www.php3-forum.de/mime_mail.htm)
    */
    $contenttypes = array(
        "text/plain"            => array("encoding"=>"8bit"  ,"info"=>"purer Text"),
        "text/html"            => array("encoding"=>"8bit"  ,"info"=>"HTML-Dokument"),
        "image/gif"            => array("encoding"=>"base64","info"=>"Bild: GIF"),
        "image/jpeg"            => array("encoding"=>"base64","info"=>"Bild: JPEG"),
        "image/png"            => array("encoding"=>"base64","info"=>"Bild: PNG"),
        "application/x-zip-compressed"    => array("encoding"=>"base64","info"=>"Komprimiert: ZIP"),
        "application/x-gzip"        => array("encoding"=>"base64","info"=>"Komprimiert: GZ"),
        "application/x-tar"        => array("encoding"=>"base64","info"=>"Komprimiert: TAR")
    );



        /* Wenn eine Datei als Anhang ausgewaelt wurde... */
        if($anhang=="yes" && $dateiname && $datei && $datei != "none") {

            /* Lese die temporaere Datei, die der Benutzer hochgeladen hat aus */
            $datei_content = fread(fopen($datei,"r"),filesize($datei));

            /* Codiere Datei ins BASE64-Format, falls noetig */
            if($contenttypes[$anhang_content_type][encoding]=="base64") $datei_content = chunk_split(base64_encode($datei_content));
            else $datei_content = $datei_content;

            /* Generiere einen Boundary */
            $boundary = strtoupper(md5(uniqid(time())));

            /* Beginne den Mail-Header mit MIMe-mail-Header */
            /* (siehe http://www.php3-forum.de/mime_mail.htm) */
            $mail_header .= "\nMIME-Version: 1.0";
            $mail_header .= "\nContent-Type: multipart/mixed; boundary=$boundary";
            $mail_header .= "\n\nThis is a multi-part message in MIME format  --  Dies ist eine mehrteilige Nachricht im MIME-Format";

            /* Hier faengt der normale Mail-Text an */
            $mail_header .= "\n--$boundary";
            $mail_header .= "\nContent-Type: $content_type";
            $mail_header .= "\nContent-Transfer-Encoding: 8bit";
            $mail_header .= "\n\n$mail_content";

            /* Hier faengt der Datei-Anhang an */
            $mail_header .= "\n--$boundary";
            $mail_header .= "\nContent-Type: $anhang_content_type; name=\"$dateiname\"";
            /* Lese aus dem Array $contenttypes die Codierung fuer den MIME-Typ des Anhangs aus */
            $mail_header .= "\nContent-Transfer-Encoding: ".$contenttypes[$anhang_content_type][encoding];
            $mail_header .= "\nContent-Disposition: attachment; filename=\"$dateiname\"";
            $mail_header .= "\n\n$datei_content";

            /* Gibt das Ende der eMail aus */
            $mail_header .= "\n--$boundary--";
        } else {
            $mail_header .= "\nContent-Type: $content_type";
            $mail_header .= "\nContent-Transfer-Encoding: 8bit";
            $mail_header .= "\n\n".$mail_content;
        }


                


                 else {


                      /*
      Lese aus dem Array $contenttypes mit den MIME-Typen die Daten aus und
      generiere eine Drop-Down-Liste
    */
    reset($contenttypes);
    $key=key($contenttypes);
    while($key != "" || $key=="0") {
        echo "<OPTION VALUE=\"$key\">".$contenttypes[$key][info];
        next($contenttypes);
        $key=key($contenttypes);



                      }
                      
                      
                      
// wenn das Formular übermittelt wurde
if(isset($_POST['abschicken'])){
    while(list($feld,$wert)=each($HTTP_POST_VARS)){
        // übermittelte Inhalte "entschärfen"
        $wert=preg_replace("/(content-type:|bcc:|cc:|to:|from:)/im", "",$wert);
           $$feld=$wert;
        // die übermittelten Variablen werden zum "Text der Email" zusammengefasst
        if($feld!="abschicken"){
            $mailnachricht.=ucfirst($feld).": $wert\n";
        }
    }

                      

            

// sind keine Fehler vorhanden, wird die Email versendet
      else {
        $mailbetreff="Feedback ".$_SERVER['HTTP_HOST'];
        }
        
        
// E-mail Layout \\        
        
        // HIER DIE EMPFÄNGER EMAIL-ADRESSE ANPASSEN!!!        
       
 


       if(mail("mailto:[email protected]", $mailbetreff, $mailnachricht, "From: $email")){
            echo "<p>Vielen Dank für Ihre e-mail!</p>";
        } else {
            echo "<p>Ein Fehler ist aufgetreten!</p>";
        }
        



// Datei-Anhang \\


/*
      Das Array $contenttypes dient zur identifizierung des MIME-Typs des Anhanges.
      Es beinhaltet den MIME-Typ, die Codierung und eine Beschreibung dazu. Die
      Codierung ist hierbei sehr wichtig, da binaere Daten im base64-Format versendet
      werden muessen (siehe http://www.php3-forum.de/mime_mail.htm)
    */
    $contenttypes = array(
        "text/plain"            => array("encoding"=>"8bit"  ,"info"=>"purer Text"),
        "text/html"            => array("encoding"=>"8bit"  ,"info"=>"HTML-Dokument"),
        "image/gif"            => array("encoding"=>"base64","info"=>"Bild: GIF"),
        "image/jpeg"            => array("encoding"=>"base64","info"=>"Bild: JPEG"),
        "image/png"            => array("encoding"=>"base64","info"=>"Bild: PNG"),
        "application/x-zip-compressed"    => array("encoding"=>"base64","info"=>"Komprimiert: ZIP"),
        "application/x-gzip"        => array("encoding"=>"base64","info"=>"Komprimiert: GZ"),
        "application/x-tar"        => array("encoding"=>"base64","info"=>"Komprimiert: TAR")
    );



        /* Wenn eine Datei als Anhang ausgewaelt wurde... */
        if($anhang=="yes" && $dateiname && $datei && $datei != "none") {

            /* Lese die temporaere Datei, die der Benutzer hochgeladen hat aus */
            $datei_content = fread(fopen($datei,"r"),filesize($datei));

            /* Codiere Datei ins BASE64-Format, falls noetig */
            if($contenttypes[$anhang_content_type][encoding]=="base64") $datei_content = chunk_split(base64_encode($datei_content));
            else $datei_content = $datei_content;

            /* Generiere einen Boundary */
            $boundary = strtoupper(md5(uniqid(time())));

            /* Beginne den Mail-Header mit MIMe-mail-Header */
            /* (siehe http://www.php3-forum.de/mime_mail.htm) */
            $mail_header .= "\nMIME-Version: 1.0";
            $mail_header .= "\nContent-Type: multipart/mixed; boundary=$boundary";
            $mail_header .= "\n\nThis is a multi-part message in MIME format  --  Dies ist eine mehrteilige Nachricht im MIME-Format";

            /* Hier faengt der normale Mail-Text an */
            $mail_header .= "\n--$boundary";
            $mail_header .= "\nContent-Type: $content_type";
            $mail_header .= "\nContent-Transfer-Encoding: 8bit";
            $mail_header .= "\n\n$mail_content";

            /* Hier faengt der Datei-Anhang an */
            $mail_header .= "\n--$boundary";
            $mail_header .= "\nContent-Type: $anhang_content_type; name=\"$dateiname\"";
            /* Lese aus dem Array $contenttypes die Codierung fuer den MIME-Typ des Anhangs aus */
            $mail_header .= "\nContent-Transfer-Encoding: ".$contenttypes[$anhang_content_type][encoding];
            $mail_header .= "\nContent-Disposition: attachment; filename=\"$dateiname\"";
            $mail_header .= "\n\n$datei_content";

            /* Gibt das Ende der eMail aus */
            $mail_header .= "\n--$boundary--";
        } else {
            $mail_header .= "\nContent-Type: $content_type";
            $mail_header .= "\nContent-Transfer-Encoding: 8bit";
            $mail_header .= "\n\n".$mail_content;
        }


                


                 else {


                      /*
      Lese aus dem Array $contenttypes mit den MIME-Typen die Daten aus und
      generiere eine Drop-Down-Liste
    */
    reset($contenttypes);
    $key=key($contenttypes);
    while($key != "" || $key=="0") {
        echo "<OPTION VALUE=\"$key\">".$contenttypes[$key][info];
        next($contenttypes);
        $key=key($contenttypes);



                      }
                     }
                      
                      
                     


// Pflichtfelder festlegen 

(if ($_REQUEST['anrede,vorname,nachname,betreff,kommentar']))


 // Überprüfen ob alle Pflichtfelder gefüllt sind
    empty($anrede) ? $err[] = "<p>- Bitte die Anrede angeben.</p>" : false;
    empty($vorname) ? $err[] = "<p>- Bitte den Vornamen angeben.</p>" : false; 
    empty($nachname) ? $err[] = "<p>- Bitte den Nachnamen angeben.</p>" : false; 
    empty($e-mail) ? $err[] = "<p>- Bitte die e-mail Adresse angeben.</p>" : false;
    empty($betreff) ? $err[] = "<p>- Bitte den Betreff angeben.</p>" : false; 
    empty($kommentar) ? $err[] = "<p>- Bitte einen Kommentar schreiben.</p>" : false;
    empty($captcha) ? $err[] = "<p>- Bitte die Wörter eintippen.</p>" : false;
    

// wenn nicht, werden die Fehlermeldungen ausgegeben und das "halbgefüllte" Formular angezeigt
    if(!empty($err)) {
        echo "<p>Bitte korrigieren Sie folgende Fehler:</p>";
        foreach($err as $fehler){
            echo $fehler;
            
?>
 
Werbung:
Zurück
Oben