为什么我的echo
不会打印值1
?
<dl>
<input type='checkbox' class='tinyField' name="informTktUpdate['hd']" value="1" /> Inform user by email
</dl>
<dl>
<input type='checkbox' class='tinyField' name="informTktUpdate['prog']" value="1" /> Inform programmer by email
</dl>
echo ($_POST['informTktUpdate']['prog']);
echo ($_POST['informTktUpdate'][prog]);
我试图删除引号:
name="informTktUpdate[prog]"
但仍然没有...
答案 0 :(得分:1)
从您的问题来看,这似乎并不完全清楚,因为:
答案 1 :(得分:1)
您的HTML字段包含以下名称:
informTktUpdate['hd']
informTktUpdate['prog']
因此,您需要将这些引号添加到键名:
$_POST["informTktUpdate"]["'hd'"]
$_POST["informTktUpdate"]["'prog'"]
由于name
属性中的引号只会增加不必要的冗长,我建议你先简单地删除它们。记住HTML不是PHP。
另外,请注意您可以使用任何常规转储功能来检查您的变量,无需猜测:
var_dump($_POST);
array(1) {
["informTktUpdate"]=>
array(2) {
["'hd'"]=>
string(1) "1"
["'prog'"]=>
string(1) "1"
}
}
最后但并非最不重要的是,此代码:
echo ($_POST['informTktUpdate'][prog]);
......应该触发通知。您没有看到它表明您尚未配置PHP开发框以显示错误消息。如果你解决这个问题,进一步的编码应该更加集中。
答案 2 :(得分:0)
在HTML中,无需在输入名称(')
[]
参数内单引attribute
更改强>
<input type='checkbox' class='tinyField' name="informTktUpdate['hd']" value="1" />
以强>
<input type='checkbox' class='tinyField' name="informTktUpdate[hd]" value="1" />
尝试服务器端
echo $_POST['informTktUpdate']['prog'];
答案 3 :(得分:0)
尝试更改
<input type='checkbox' class='tinyField' name="informTktUpdate['prog']" value="1" />
以
<input type='checkbox' class='tinyField' name="informTktUpdate[prog]" checked="checked" value="1" />
默认情况下检查,然后echo $_POST['informTktUpdate']['prog'];