PHP: 通过 $_POST 提交表单数据适用于除单选按钮之外的所有字段
PHP: Submitting form data via $_POST works for all fields except radio buttons
我是 PHP 的新手,希望有人能帮助我。
我有一个 HTML 表单,其中包含许多输入和文本区域。在提交时,我将表单传递到另一个 PHP 页面,该页面生成一封包含其值的电子邮件。
对于文本输入和文本区域,一切都按预期工作,但对于单选按钮,我无法让它显示目标页面上的值。
单选按钮如下所示,其中使用的 类 仅用于应用一些 CSS。
提交页面只有一个表单,所有radio都具有相同的名称(“requestType
”)并且没有其他元素使用此名称。
此外,我添加了一个快速的 JavaScript 代码片段用于测试以提醒他们对更改的价值并且这也有效,所以问题似乎只与 $_POST
有关。
谁能告诉我这里做错了什么或者我可以尝试哪些替代方案?
我的HTML(在提交页面):
<input type="radio" class="customRadio radioDefault" id="requestType1" name="requestType" value="Value1" />
<label for="requestType1">Value1</label>
<input type="radio" class="customRadio triggerDiv" id="requestType2" name="requestType" value="Value2" />
<label for="requestType2">Value2</label>
我的PHP(在目标页面上):
$_POST["requestType"]
更新:
根据 RiggsFolly,我尝试检查它是否识别出一个单选按钮已被选中,它似乎确实如此,它只是 return 没有任何东西,如下所示 returns "xx":
if(isset($_POST['requestType'])){
$theSelectedOne = $_POST['requestType'];
echo "radio value: x" . $theSelectedOne . "x";
}else{
echo "boohoo";
}
单选按钮(和复选框)只有在实际选中时才会传回 $_POST 或 $_GET 数组中的表单。我注意到您在创建 HTML 时不会自动检查其中之一,因此如果用户没有选择,则不会返回任何内容。
所以测试它们是否被选中的最好方法是测试它们的名字是否存在于 $_POST 数组中
if ( isset( $_POST['requestType'] ) ) {
// a selection was made
// so now test the value to see which one was checked
$theSelectedOne = $_POST['requestType'];
}
我是 PHP 的新手,希望有人能帮助我。
我有一个 HTML 表单,其中包含许多输入和文本区域。在提交时,我将表单传递到另一个 PHP 页面,该页面生成一封包含其值的电子邮件。
对于文本输入和文本区域,一切都按预期工作,但对于单选按钮,我无法让它显示目标页面上的值。
单选按钮如下所示,其中使用的 类 仅用于应用一些 CSS。
提交页面只有一个表单,所有radio都具有相同的名称(“requestType
”)并且没有其他元素使用此名称。
此外,我添加了一个快速的 JavaScript 代码片段用于测试以提醒他们对更改的价值并且这也有效,所以问题似乎只与 $_POST
有关。
谁能告诉我这里做错了什么或者我可以尝试哪些替代方案?
我的HTML(在提交页面):
<input type="radio" class="customRadio radioDefault" id="requestType1" name="requestType" value="Value1" />
<label for="requestType1">Value1</label>
<input type="radio" class="customRadio triggerDiv" id="requestType2" name="requestType" value="Value2" />
<label for="requestType2">Value2</label>
我的PHP(在目标页面上):
$_POST["requestType"]
更新:
根据 RiggsFolly,我尝试检查它是否识别出一个单选按钮已被选中,它似乎确实如此,它只是 return 没有任何东西,如下所示 returns "xx":
if(isset($_POST['requestType'])){
$theSelectedOne = $_POST['requestType'];
echo "radio value: x" . $theSelectedOne . "x";
}else{
echo "boohoo";
}
单选按钮(和复选框)只有在实际选中时才会传回 $_POST 或 $_GET 数组中的表单。我注意到您在创建 HTML 时不会自动检查其中之一,因此如果用户没有选择,则不会返回任何内容。
所以测试它们是否被选中的最好方法是测试它们的名字是否存在于 $_POST 数组中
if ( isset( $_POST['requestType'] ) ) {
// a selection was made
// so now test the value to see which one was checked
$theSelectedOne = $_POST['requestType'];
}