单选按钮值未通过电子邮件发送



编辑:问题已回答。只需要删除表单中的表单标签。谢谢大家的提醒。

让我尽力解释一下。我正在写一个有多个单选按钮组的表单(是的,它们都是独立的)。我试图传递它们的值,以便通过电子邮件发送,但当收到电子邮件时,这些值不会显示。第一个组(form id="gateMats")值会被传递,但其余组不会被发送。

这是html代码:

<form id="validGate" method="POST" enctype="multipart/form-data" onsubmit="return validating(this)" action="quotationForm.php">
          <table width="730" style="margin: auto";>
            <tbody>
              <tr>
                <td align="right"><b>*</b>Gate Material: </td>
                <td><form id="gateMats" action="" onclick="return validateGateMats()">
                      <input name="material" type="radio" value="Aluminum" id="aluminum"> Aluminum &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</input>
                      <input name="material" type="radio" value="Stainless Steel" id="stainlessSteel"> Stainless Steel</input>
                    </form>
                </td>
              </tr>
              <tr>
                <td align="right">Hoist Requirements: </td>
                <td><form id="gateHoistReq" action="">
                      <input name="hoiReq" type="radio" value="Manual"  id="manual" onclick="hoist(this)"> Manual &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</input>
                      <input name="hoiReq" type="radio" value="Electric" id="electric" onclick="hoist(this)"> Electric</input>
                    </form>
                </td>
              </tr>
              <tr id="hoistType" style="display: none;">
                <td align="right">Hoist Type: </td>
                <td><form id="gateHostTy" action="">
                      <input type="radio" name="hoiTyp" id="handwheel" value="Handwheel"> Handwheel &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</input>
                      <input type="radio" name="hoiTyp" id="gearbox" value="90 Degree Gearbox"> 90&deg; Gearbox</input>
                    </form>
                </td>
              </tr>
              <tr>
                <td align="right"><p>
                  </p></td>
                <td><p>
                  </p></td>
              </tr>
              <tr>
                <td align="right">Stem Cover: </td>
                <td><form id="gateStemCo" action="">
                      <input type="radio" value="Clear Plastic" name="stCov" id="clearPlastic"> Clear Plastic &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</input>
                      <input type="radio" value="Metal" name="stCov" id="metal"> Metal</input>
                    </form>
                </td>
              </tr>
              <tr>
                <td align="right">Type of Stem: </td>
                <td><form id="gateStemTy" action="">
                      <input type="radio" value="Rising Stem" name="stType" id="RisingStem">Rising Stem &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</input>
                      <input type="radio" value="Non-Rising Stem" name="stType" id="nonRisingStem">Non-Rising Stem &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</input>
                      <input type="radio" value="Downard Opening(Weir)" name="stType" id="downwardOpening">Downward Opening (Weir)</input>
                    </form>
                </td>
              </tr>
</tbody>
        </table>
      </form>

这是php代码:

<?php
  if ($_SERVER['REQUEST_METHOD']=="POST"){
//Variables.
$user_gateMat = $_REQUEST['material'];
$hoiReq = $_REQUEST['hoiReq'];
$hoiTy = $_REQUEST['hoiTyp'];
$stCov = $_REQUEST['stCov'];
$stTy = $_REQUEST['stType'];
//Body of the email to be sent.
$body_mail = "Gate Details:
Gate material type: $user_gateMat
Hoist required: $hoiReq
Hoist type: $hoiTy
Stem cover: $stCov
Stem type: $stTy
//Everything okay? send the e-mail.
mail("alavarrandomity@gmail.com",'Gate Style',"$body_mail","from:SynTum");
    echo "Your email was sent! Thank you.";
}
?>

我对php有一个基本的了解,在连续看了大约2-3个小时这段代码之后,很难判断问题出在哪里。

一些想法:

(1) 正如mulder所指出的,<form> 中不能有<form>

(2) 将内部形式交换为div。

(3) 在quotationForm.php中,与其直接发送电子邮件,不如先将接收到的数据打印到屏幕上(即构建一个q&d页面,在该页面中,接收到的信息以DIV或输入元素或其他形式显示)。

(4) 您忘记关闭$body变量。

最新更新