带有 select 选项字段的联系表不起作用

Contact form with select option field not working

我是 PHP 的新手,我正在尝试让我的联系表与 <select><option> 下拉列表一起使用。

联系表格将所有信息发送到电子邮件,<select><option> 字段除外

这是我的代码:

PHP代码:

<?php
    if (isset($_POST["submit"])) {
        $name = $_POST['name'];
        $email = $_POST['email'];
        $message = $_POST['message'];
        $number = $_POST['number'];
        $from = 'Ny melding sendt fra kontaktskjema'; 
        $to = 'test@mail.com'; 
        $subject = 'CompanyName | Dere har motatt en ny melding';
        $headers   = array();
        $headers[] = "MIME-Version: 1.0";
        $headers[] = "Content-type: text/plain; charset=UTF-8";
        $headers[] = "From: Ny melding sendt fra kontaktskjema på FantasyLab.no";
        $headers[] = "X-Mailer: PHP/".phpversion();
        $headers[] = "Reply-To: $name <$email>";

        $body       = "Fra: $name\n E-post: $email\n Telefonnummer: $number\n Melding: $message\n";

        // Check if name has been entered
        if (!$_POST['name']) {
            $errName = 'Vennligst skriv inn ditt navn';
        }

        // Check if email has been entered and is valid
        if (!$_POST['email'] || !filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) {
            $errEmail = 'Vennligst skriv inn din e-post';
        }

        //Check if message has been entered
        if (!$_POST['number']) {
            $errNumber = 'Vennligst skriv inn ditt telefonnummer';
        }

        //Check if message has been entered
        if (!$_POST['budget']) {
            $errBudget = 'Vennligst skriv en melding';
        }

        //Check if message has been entered
        if (!$_POST['message']) {
            $errMessage = 'Vennligst skriv en melding';
        }

         (isset($_POST["budget"])) ? $budget = $_POST["budget"] : $budget=1;

// If there are no errors, send the email
if (!$errName && !$errEmail && !$errNumber && !$errMessage && !$errBudget) {
    if (mail ($to, $subject, $body,implode("\r\n", $headers))) {
        $result='Thank you for your enquiry. We will get in touch within 24 hours.';
        header('Location:index.php?success='.$result);
    } else {
        $result='We apologize, something went wrong. Let us talk over phone; +47 45 46 46 07';
        header('Location:index.php?fail='.$result);
    }
}
    }
?>

HTML代码:

    <div class="form-group col-md-6 col-sm-12 col-xs-12">
            <div class="col-xs-12">
            <div class="option-styling">
            <label>Budget*</label>                                  
            <select id="budget"class="col-xs-12">
              <option <?php if ($budget == 1 ) echo 'selected' ; ?> value="1">10.000 kr - 25.000 kr</option>
              <option <?php if ($budget == 2 ) echo 'selected' ; ?> value="2">25.000 kr - 50.000 kr</option>
              <option <?php if ($budget == 3 ) echo 'selected' ; ?> value="3">50.000 kr +</option>
              <option <?php if ($budget == 4 ) echo 'selected' ; ?> value="4">Not sure</option>
            </select>
            <?php echo "<p class='text-danger'>$errBudget</p>";?>

        </div>     
            </div>
    </div>

谁能看出我做错了什么?感谢任何帮助,谢谢!

请将名称添加到下拉列表中,然后您将获得值。

您想要服务器端脚本的所有元素都必须具有 name 属性。

在您的代码中。

<div class="form-group col-md-6 col-sm-12 col-xs-12">
            <div class="col-xs-12">
            <div class="option-styling">
            <label>Budget*</label>                                  
            <select name="budget" id="budget"class="col-xs-12">
              <option <?php if ($budget == 1 ) echo 'selected' ; ?> value="1">10.000 kr - 25.000 kr</option>
              <option <?php if ($budget == 2 ) echo 'selected' ; ?> value="2">25.000 kr - 50.000 kr</option>
              <option <?php if ($budget == 3 ) echo 'selected' ; ?> value="3">50.000 kr +</option>
              <option <?php if ($budget == 4 ) echo 'selected' ; ?> value="4">Not sure</option>
            </select>
            <?php echo "<p class='text-danger'>$errBudget</p>";?>

        </div>     
            </div>
    </div>

谢谢 阿米特

您的 select 没有名称属性