表格的选择框选择选项未通过PHP电子邮件捕获

时间:2016-12-20 12:55:07

标签: php html forms

我在我的网站中使用了一个表单,所有字段都被捕获并通过PHP作为电子邮件发送,但是没有捕获或发送选择框选项。

我的表单代码是:

<form id="contact" class="contact-form" name="contact" method="post" novalidate>
  <fieldset>

    <div class="form-input-group" id="form-container">
      <input id="name" type="text" name="name" size="30" placeholder="Name">
      <i class="fa fa-male" id="form-icon"></i>
    </div>

    <div class="form-input-group text-container test box" id="form-container">
      <i class="fa fa-envelope" id="form-icon"></i>

      <select id="selector" class="selector" name="selector">
        <option value="hide" selected>Select One</option>
        <option value="1">One</option>
        <option value="2">Two</option>
      </select>
    </div>

    <input type="submit" class="form-btn form-btn-fill" id="contact-submit" name="submit" value="Submit">
  </fieldset>
</form>

我的PHP是:

<?php

    $to = "hello@website.com";
    $from = $_REQUEST['email'];

    $subject = "Website Contact Form Submission";

    $name = $_REQUEST['name'];
    $email = $_REQUEST['email'];
    $phone = $_REQUEST['phone'];
    $selector = $_REQUEST['selector'];

    $body = "
    <html>
    <head>
    <meta charset=\"utf-8\">
    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">
    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\" />

    </head>
    <body style=\"margin: 0; padding: 0;\">

    <!-- FORM CONTENT SECTION -->
<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">
    <tr>
        <td bgcolor=\"#ffffff\" align=\"center\" style=\"padding: 15px 15px 15px 15px;\" class=\"section-padding\">
            <table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"500\" class=\"responsive-table\">
                <tr>
                    <td align=\"left\" style=\"padding: 12px 12px 5px 12px; font-size: 13px; line-height: 18px; font-family: Helvetica, Arial, sans-serif; color: #aaaaaa; border-top: 1px solid #3eb489;\">Name</td>
                </tr>
                <tr>
                    <td align=\"left\" style=\"font-family: Arial, sans-serif; color: #333333; font-size: 16px; padding: 0 12px 12px 12px;\">$name</td>
                <tr>
                    <td align=\"left\" style=\"padding: 12px 12px 5px 12px; font-size: 13px; line-height: 18px; font-family: Helvetica, Arial, sans-serif; color: #aaaaaa; border-top: 1px solid #eaeaea;\">Selector</td>
                </tr>
                <tr>
                    <td align=\"left\" style=\"font-family: Arial, sans-serif; color: #333333; font-size: 16px; padding: 0 12px 12px 12px; border-bottom: 1px solid #3eb489; line-height: 24px;\">$selector</td>
                </tr>

    </table>

    </body>
    </html>
    ";

    $headers = "MIME-Version: 1.0" . "\r\n";
    $headers .= "Content-type:text/html;charset=UTF-8" . "\r\n";

    $headers .= "Return-Path: ".$name." <".$email.">\r\n";
    $headers .= "From: ".$name." <".$email.">\r\n";

    $send = mail($to, $subject, $body, $headers);

?>

非常感谢!

2 个答案:

答案 0 :(得分:0)

我用$ _POST替换了$ _REQUEST,这似乎可以解决问题。

答案 1 :(得分:-3)

你可以改变你的html

<select id="selector" class="selector" name="selector">
    <option value="hide" >Select One</option>
    <option value="1">One</option>
    <option value="2">Two</option>
</select>