Kontaktformular - Array (SELECT) wird nicht per Mail geschickt

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Kontaktformular - Array (SELECT) wird nicht per Mail geschickt

    Hallo zusammen,

    ich bin dabei ein Bewerbungsformular zu programmieren - es funktioniert auch alles, bis auf die Übermittlung des SELECT Feldes. Ich habe irgendwo einen Denkfehler - ich hoffe ihr könnt mir helfen?

    PHP Code:
    <body>
    <?php
    # Adresse, an die die Formulardaten gesendet werden sollen:
    $mailto "mm@creeashion.de";

    # Maximale Größe des Datei-Anhangs in Bytes:
    $max_attach_size 500000;
    ?>
    <html>
    <head>
    <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
    <style type="text/css">
    <!--
    body { font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 13px; color: #000000; background: #ffff3; margin: 20px; padding: 0px; border: 0px; }
    .caution { color: red; font-weight: bold; }
    -->
    </style>
    </head>
    <body>

    <?php
    if (isset($_POST["form_submitted"]))
    {
    // übergebene Variablen ermitteln:
    $name $_POST['name'];
    $vorname $_POST['vorname'];
    $strasse $_POST['strasse'];
    $ort $_POST['ort'];
    $festnetz $_POST['festnetz'];
    $handy $_POST['handy'];
    $alter $_POST['alter'];
    $email $_POST['email'];
    $erfahrung $_POST['erfahrung'];
    $bewerbungfuer $_POST['bewerbungfuer'];

    // Überprüfungen der Daten:
    unset($errors);
    if (
    $email != "" and !preg_match("/^[^@]+@.+\.\D{2,5}$/"$email)) $errors[] = "die E-Mail-Adresse sieht nicht richtig aus";
    if (
    $name == ""$errors[] = "es wurde kein Name eingegeben";
    if (empty(
    $errors))
    {
    $text stripslashes($text);
    $subject stripslashes($subject);
    if (
    $name != ""$mail_name=$name; else $mail_name="unbekannt";
    if (
    $subject != ""$mail_subject $subject; else $mail_subject "Bewerbung Website";
    if (
    $email != ""$mail_email $email; else $mail_email "email@unknown.xyz";
    $ip $_SERVER["REMOTE_ADDR"];

    // Wenn Attachment, dann MIME-Mail erstellen:
    if (isset($_FILES['probe']['name']) && trim($_FILES['probe']['name']) != "")
    {
    // Datei einlesen und codieren:
    $datei_content fread(fopen($_FILES['probe']['tmp_name'],"r"),filesize($_FILES['probe']['tmp_name']));
    $datei_content chunk_split(base64_encode($datei_content),76,"\n");

    // Boundary festlegen:
    $boundary md5(uniqid(rand()));

    // Mail-Header:
    $mail_header "From: ".$mail_name." <".$mail_email.">\n";
    $mail_header .= "X-Sender-IP: ".$ip."\n";
    $mail_header .= "MIME-Version: 1.0\n";
    $mail_header .= "Content-Type: multipart/mixed; boundary=\"".$boundary."\"\n";
    $mail_header .= "This is a multi-part message in MIME format.\n";
    // Mail-Text:
    $mail_header .= "--".$boundary;
    $mail_header .= "\nContent-Type: text/plain";
    $mail_header .= "\nContent-Transfer-Encoding: 8bit";
    $mail_header .= "\n\nName: " .$name;
    $mail_header .= "\n\nVorname: " .$vorname;
    $mail_header .= "\n\nStraße: " .$strasse;
    $mail_header .= "\n\nOrt: " .$ort;
    $mail_header .= "\n\nFestnetz: " .$festnetz;
    $mail_header .= "\n\nHandy: " .$handy;
    $mail_header .= "\n\nE-Mail: " .$email;
    $mail_header .= "\n\nAlter: " .$alter;
    $mail_header .= "\n\nBewerbung für: " .$bewerbungfuer;
    $mail_header .= "\n\nErfahrung falls vorhanden: ".$erfahrung;
    // Attachment:
    $mail_header .= "\n--".$boundary;
    $mail_header .= "\nContent-Type: ".$_FILES['probe']['type']."; name=\"".$_FILES['probe']['name']."\"";
    $mail_header .= "\nContent-Transfer-Encoding: base64";
    $mail_header .= "\nContent-Disposition: attachment; filename=\"".$_FILES['probe']['name']."\"";
    $mail_header .= "\n\n".$datei_content;

    // Ende:
    $mail_header .= "\n--".$boundary."--";
    // Sende E-Mail und gebe Fehler bzw. Bestaetigung aus
    if (@mail($mailto,$mail_subject,"",$mail_header)) $sent true; else $errors[] = "keine Verbindung zum Mailserver - bitte nochmal versuchen";
    }
    // kein Attachment, normale E-Mail:
    else
    {
    $mail_header "From: ".$mail_name." <".$mail_email.">\n";
    $mail_header .= "X-Sender-IP: ".$ip."\n";
    $mail_header .= "MIME-Version: 1.0\n";
    $mail_header .= "Content-Type: multipart/mixed; boundary=\"".$boundary."\"\n";
    $mail_header .= "This is a multi-part message in MIME format.\n";
    $mail_header .= "--".$boundary;
    $mail_header .= "\nContent-Type: text/plain";
    $mail_header .= "\nContent-Transfer-Encoding: 8bit";
    $mail_header .= "\n\nName: " .$name;
    $mail_header .= "\n\nVorname: " .$vorname;
    $mail_header .= "\n\nStraße: " .$strasse;
    $mail_header .= "\n\nOrt: " .$ort;
    $mail_header .= "\n\nFestnetz: " .$festnetz;
    $mail_header .= "\n\nHandy: " .$handy;
    $mail_header .= "\n\nE-Mail: " .$email;
    $mail_header .= "\n\nAlter: " .$alter;
    $mail_header .= "\n\nBewerbung für: " .$bewerbungfuer;
    $mail_header .= "\n\nErfahrung falls vorhanden: ".$erfahrung;
    if (@
    mail($mailto,$mail_subject,$text,$mail_header)) $sent true; else $errors[] = "keine Verbindung zum Mailserver - bitte nochmal versuchen";
    }

    // Kopie an Absender:
    if (isset($sent) && isset($email) && $email != "" && isset($_POST['copy']))
    {
    if (isset(
    $_FILES['probe']['name']) && trim($_FILES['probe']['name']) != ""$copy_mail_text "Kopie der versendeten E-Mail:\n\n".$text."\n\nAttachment: ".$_FILES['probe']['name']; else $copy_mail_text "Kopie der versendeten E-Mail:\n\n".$text;
    $header"From: ".$mailto."\n";
    $header .= "X-Sender-IP: ".$ip."\n";
    $header .= "Content-Type: text/plain";
    @
    mail($email$mail_subject$copy_mail_text$header);
    }
    }
    }

    if (empty(
    $sent))
    {
    if(isset(
    $errors))
    {
    ?><p class="caution">Fehler:</p><ul><?php foreach($errors as $f) { ?><li><?php echo $f?></li><?php ?></ul><br /><?php
    }

    ?><form method="post" action="<?php echo basename($_SERVER["PHP_SELF"]); ?>" enctype="multipart/form-data">
    <table width="672" border="0" cellpadding="1" cellspacing="2" style="font-family: Arial, Verdana, Tahoma, 'Times New Roman'; font-size: 12px;">
      <tr>
        <td width="144">Name:</td>
        <td width="184"><input type="text" name="name" value="<?php if (isset($name)) echo htmlentities(stripslashes($name)); else echo ""?>" size="35" /></td>
        <td width="75">Vorname:</td>
        <td width="251"><input type="text" name="vorname" value="<?php if (isset($vorname)) echo htmlentities(stripslashes($vorname)); else echo ""?>" size="35" /></td>
      </tr>
      <tr>
        <td>Straße:</td>
        <td><input type="text" name="strasse" value="<?php if (isset($strasse)) echo htmlentities(stripslashes($strasse)); else echo ""?>" size="35" /></td>
        <td>Wohnort:</td>
        <td><input type="text" name="ort" value="<?php if (isset($ort)) echo htmlentities(stripslashes($ort)); else echo ""?>" size="35" /></td>
      </tr>
      <tr>
        <td>Festnetz:</td>
        <td><input type="text" name="festnetz" value="<?php if (isset($festnetz)) echo htmlentities(stripslashes($festnetz)); else echo ""?>" size="35" /></td>
        <td>Handy:</td>
        <td><input type="text" name="handy" value="<?php if (isset($handy)) echo htmlentities(stripslashes($handy)); else echo ""?>" size="35" /></td>
      </tr>
      <tr>
        <td>Alter:</td>
        <td><input type="text" name="alter" value="<?php if (isset($alter)) echo htmlentities(stripslashes($alter)); else echo ""?>" size="35" /></td>
        <td>E-Mail:</td>
        <td><input type="text" name="email" value="<?php if (isset($email)) echo htmlentities(stripslashes($email)); else echo ""?>" size="35" /></td>
      </tr>
      <tr>
        <td>Bewerbung für:</td>
        <td colspan="3"><select name="bewerbungfuer[]" id="select" va>
            <option value="Service" selected="selected">Service</option>
            <option value="Küche">Küche</option>
            <option value="Spül- / Reinigungskraft">Spül- / Reinigungskraft</option>
            </select></td>
        </tr>
      <tr>
        <td>Erfahrung falls vorhanden:</td>
        <td colspan="3"><textarea name="erfahrung" cols="26" rows="5"><?php if (isset($erfahrung)) echo htmlentities(stripslashes($erfahrung)); else echo ""?>
        </textarea></td>
      </tr>
      <tr>
        <td>Datei-Anhang:</td>
        <td colspan="3"><input type="file" name="probe" value="<?php if (isset($_POST['probe'])) echo htmlentities(stripslashes($_POST['probe'])); else echo ""?>" size="20"/></td>
      </tr>
      <tr>
        <td><input type="submit" name="form_submitted" value="Versenden" /></td>
        <td colspan="3"><input type="checkbox" name="copy" value="true" style="width: 14px;" />
    Kopie an Absender</td>
      </tr>
    </table></form><?php
    }
    else
    {
    if (empty(
    $email)) { ?><p><b>Danke!</b><br />
    Bewerbung erfolgreich versendet. Allerdings wurde keine E-Mail-Adresse angegeben! <br /><a href="bewerbung.php">zurück</a></p><?php }
    else { 
    ?><p><b>Danke!</b><br />Bewerbung erfolgreich versendet.<br /><a href="bewerbung.php">zurück</a></p><?php }
    }

    ?>
    </body>
    </html>

  • #2
    Bitte Code umbrechen!

    $bewerbungfuer ist ein Array - dementsprechend musst du darauf zugreifen!
    Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
    Schön - etwas Geschichte kann ja nicht schaden.
    Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

    Comment


    • #3
      HTML Code:
      <select name="bewerbungfuer[]" id="select" va>
      Was tut das va da?
      Hast du dein eigenes HTML erfunden?
      Wir werden alle sterben

      Comment


      • #4
        das "va" wäre so irgendein nicht angesprochenes attribut und hat sonst keinerlei auswirkung..


        ersetze mal folgende zeile:

        $bewerbungfuer = $_POST['bewerbungfuer'];

        durch:


        $bewerbungfuer = print_r($_POST['bewerbungfuer'],1);

        oder

        $bewerbungfuer = implode(',', $_POST['bewerbungfuer']);
        :: BackTix - Textlink Marktplatz
        :: Online PHP Formular Manager & Generator
        :: PHP Gästebuch Script | PHP HTAccess Passwortschutz Generator

        Comment


        • #5
          @tukz
          brich bitte deinen Code um. Niemand scrollt gerne kilometerweit nach rechts.

          Danke
          Peter
          Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
          Meine Seite

          Comment

          Working...
          X