Php 通过表单过帐获取复选框值
我试图从表单中获取复选框值。该复选框是一个“您是否希望注册我们的新闻稿”类型框 我已成功使其工作,但只有在框中勾选以下代码时:Php 通过表单过帐获取复选框值,php,forms,checkbox,Php,Forms,Checkbox,我试图从表单中获取复选框值。该复选框是一个“您是否希望注册我们的新闻稿”类型框 我已成功使其工作,但只有在框中勾选以下代码时: $signUp = $_POST['sign-up'][0]; if ($signUp !== 'Yes'){ $signUp = 'No'; } 该复选框如下所示: <input type="checkbox" id="sign-up" name="sign-up[]" value="Yes" /> 问题是,如果该框未选中,则会出现未定义的
$signUp = $_POST['sign-up'][0];
if ($signUp !== 'Yes'){
$signUp = 'No';
}
该复选框如下所示:
<input type="checkbox" id="sign-up" name="sign-up[]" value="Yes" />
问题是,如果该框未选中,则会出现未定义的错误
判断框是否被选中的正确方法是什么?我只需要在电子邮件中发送“No”值,因此我将此文本硬编码到变量中
如何在PHP中获取复选框的值(无论是选中还是未选中)?您可以这样做-
$signUp = !empty($_POST['sign-up'][0]) ? 'Yes' : 'No'; // Will check if the checkbox is checked or posted
如果($signUp!=='Yes'){
如果选中一个复选框
,则-
<input type="checkbox" id="sign-up" name="sign-up" value="Yes" />
很好。你可以这样做-
$signUp = !empty($_POST['sign-up'][0]) ? 'Yes' : 'No'; // Will check if the checkbox is checked or posted
if(isset($_POST['sign-up'][0]) && !empty($_POST['sign-up'][0]))
{
$signUp = 'Yes';
}
else
{
$signUp = 'No';
}
如果($signUp!=='Yes'){
如果选中一个复选框
,则-
<input type="checkbox" id="sign-up" name="sign-up" value="Yes" />
将正常工作。在名称末尾添加
[]
会告诉PHP您希望在一个数组中得到结果(这意味着您希望得到多个结果)
if(isset($_POST['sign-up'][0]) && !empty($_POST['sign-up'][0]))
{
$signUp = 'Yes';
}
else
{
$signUp = 'No';
}
这意味着您需要进行两项检查:
- 是否检查了任何值
- 检查哪些值
在名称末尾添加[]
告诉PHP您希望在一个数组中得到结果(并暗示您希望得到多个结果)
这意味着您需要进行两项检查:
- 是否检查了任何值
- 检查哪些值
例如:
“选中了哪些值?”–这很难确定输入字段名是否只是注册[]
,因为我们都知道,对于未选中的复选框,根本不会提交名称=值对。因此,要想知道选中了哪些复选框,应该预先指定索引,name=“注册[0]”
,name=“注册[1]”“
等(或非零基/非数字索引,如果更适合数据结构),“检查哪些值?”–很难确定输入字段名称是否只是注册[]
,因为我们都知道,对于未选中的复选框,根本不会提交名称=值对。因此,要想知道选中了哪些复选框,应该预先指定索引,name=“sign-up[0]”“
,name=“sign-up[1]”
等(或者非零基/非数字索引,如果更适合数据结构的话)