如何将php变量表单数据传递给邮件处理程序?

如何将php变量表单数据传递给邮件处理程序?,php,forms,email,variables,Php,Forms,Email,Variables,我目前有一个用HTML/PHP构建的表单,其中包含一些无法传递给邮件处理程序的变量数据。发送邮件时,带有变量数据的输入为空 HTML表单: <form action="mail-handler.php" method="POST"> <label>First Name:</label> <input name="T1" type="text" value="<?php print($_GET['firstname']); ?>

我目前有一个用HTML/PHP构建的表单,其中包含一些无法传递给邮件处理程序的变量数据。发送邮件时,带有变量数据的输入为空

HTML表单:

<form action="mail-handler.php" method="POST">
    <label>First Name:</label>
    <input name="T1" type="text" value="<?php print($_GET['firstname']); ?>" disabled="" />

    /*Non variable data still needs to pass*/
    <label>Phone*:</label>
    <input name="phone" type="tel" required="" />

    <input type="submit" value="Submit">
</form>
。。。等等

该表单适用于除带有变量数据的输入外的所有输入
$firstname


如何获取“first name”的变量形式值以传递给电子邮件处理程序?

因此,尽管@Martin和@Adder使用错误分配的var值是正确的,但即使更改了邮件处理程序,数据仍然不会通过电子邮件传递

我发现罪魁祸首实际上是一点HTML用来阻止某人编辑存储的信息。我已将带有变量数据的表单字段设置为
disabled=“”
。显然,这是阻止数据传输的最后一个块

这些是我使用注释建议和更改输入的禁用状态对代码所做的更改

<form action="mail-handler.php" method="POST">
    <label>First Name:</label>
    <input name="nameFirst" type="text" value="<?php print($_GET['firstname']); ?>" readonly="" />

    /*Non variable data still needs to pass*/
    <label>Phone*:</label>
    <input name="phone" type="tel" required="" />

    <input type="submit" value="Submit">
</form>

这很有效。不要在希望传递变量数据的表单上使用
disabled=“
,否则它将不起作用。改用
readonly=“

您有一个名为
T1
的表单字段和一个名为
firstname
$\u POST
键。机器是怎么理解你的意思的?您需要
==>$\u POST['T1
]`您的firstname元素的名称是“T1”而不是“firstname”。因此它在$_POST中作为T1so,在邮件处理程序中应该是
$T1=$_POST['T1']?你们都是对的,但这不是主要问题。即使在切换到您推荐的代码之后,仍然是一片空白。显然,当输入在HTML中设置为“禁用”时,它不会传递信息。我将输入改为“只读”,它就像一个符咒。有人想回答这个问题并获得学分吗?
<form action="mail-handler.php" method="POST">
    <label>First Name:</label>
    <input name="nameFirst" type="text" value="<?php print($_GET['firstname']); ?>" readonly="" />

    /*Non variable data still needs to pass*/
    <label>Phone*:</label>
    <input name="phone" type="tel" required="" />

    <input type="submit" value="Submit">
</form>
$nameFirst = $_POST['nameFirst'];
$phone = $_POST['phone'];


$msgBody="First Name: $nameFirst\n
          Phone: $phone\n";