我如何从选择中获取值

时间:2014-07-14 10:03:12

标签: php html

如何从选择中获取我的邮件中的值?


php code

if (isset($_POST['voorletters']) && isset($_POST['achternaam']) && isset($_POST['geboortedatum'])
        && isset($_POST['email'])){
        $voorletters = $_POST['voorletters'];
        $achternaam = $_POST['achternaam'];
        $geboortedatum = $_POST['geboortedatum'];
        $email = $_POST['email'];
        $selectedOption = $_POST['pakketkeuze'];

        if (!empty($voorletters) && !empty($achternaam) && !empty($geboortedatum) && !empty($email)){

            $selectedPakketkeuze  = 'None';
            if(isset($_POST['pakketkeuze']) && is_array($_POST['pakketkeuze']) && count($_POST['pakketkeuze']) > 0){
                $selectedPakketkeuze = implode(', ', $_POST['pakketkeuze']);
            }

            $to = 'contact@pkschoonmaakdiensten.nl'; // Waar moet het naartoe?
            $sebject = 'Inschrijfing'; // Het onderwerp van het bericht

            $body = 'this is a test'."\n\n".'Voorletters: '.$voorletters."\n".'Achternaam: '.$achternaam."\n".'Pakketkeuze: '.$Pakketkeuze;

            $headers = 'From: '.$email;

            if (@mail($to, $sebject, $body, $headers)){
                echo 'the email send';
            }else{
                echo 'error sending email';
            }

        }else{
            echo 'er is iets niet ingevuld'; 
        }       
    }           

html代码

我需要此选项中的此值,因此在选中时,它会在发送时显示在邮件中。

<tr>
<td class="form-label"><h2>Abonnement keuze *</h2></td> 
<td>
    <span>
        <select name="pakketkeuze" class="selection-menu-inschrijfform">
            <option> --- </option>
            <option value="basic"> Basic</option>
            <option value="normaal"> Normaal</option>
            <option value="plus"> Plus</option>
        </select>
    </span>
</td>

欢迎任何帮助

3 个答案:

答案 0 :(得分:0)

你可以这样做:

$pakketKeuze = $_POST['pakketkeuze'];

如果在提交表单后选择了basic,则$pakketKeuze将包含字符串'basic'

答案 1 :(得分:0)

您使用了未定义的变量:$ Pakketkeuze在电子邮件正文变量中。相反,您可能需要尝试以下代码来获取下拉框的选定值。

$body = 'this is a test'."\n\n".'Voorletters: '.$voorletters."\n".'Achternaam: '.$achternaam."\n".'Pakketkeuze: '.$_POST['pakketkeuze'];

答案 2 :(得分:0)

更改此行:

$body = 'this is a test'."\n\n".'Voorletters: '.$voorletters."\n".'Achternaam: '.$achternaam."\n".'Pakketkeuze: '.$Pakketkeuze;

到此:

$body = 'this is a test'."\n\n".'Voorletters: '.$voorletters."\n".'Achternaam: '.$achternaam."\n".'Pakketkeuze: '.$selectedOption;

此外,您可以删除以下内容:

$selectedPakketkeuze  = 'None';
if(isset($_POST['pakketkeuze']) && is_array($_POST['pakketkeuze']) && count($_POST['pakketkeuze']) > 0){
    $selectedPakketkeuze = implode(', ', $_POST['pakketkeuze']);
}

由于$_POST['pakketkeuze']不会是一个数组,除非您有多个名为pakketkeuze的下拉菜单,在这种情况下,您需要在if中添加此内容以进行之前所做的更改:

if(isset($_POST['pakketkeuze']) && is_array($_POST['pakketkeuze']) && count($_POST['pakketkeuze']) > 0){
    $selectedPakketkeuze = implode(', ', $_POST['pakketkeuze']);
    $selectedOption = $selectedPakketkeuze;
}