未定义索引html
我是html新手,所以我不确定哪里出了问题,但我有以下代码(我正在创建一个表单,并在用户按submit时向数据库添加值) 嵌套在表单中的复选框-未定义索引html,html,css,checkbox,Html,Css,Checkbox,我是html新手,所以我不确定哪里出了问题,但我有以下代码(我正在创建一个表单,并在用户按submit时向数据库添加值) 嵌套在表单中的复选框- <label for="choice1">Windows 7</label> <input type="checkbox" name="choice1"/> windows7 当用户按下“添加按钮”时,我试图获取值并将其存储在变量中,但它找不到“choice1” $choice1=$_POST['choice1'
<label for="choice1">Windows 7</label>
<input type="checkbox" name="choice1"/>
windows7
当用户按下“添加按钮”时,我试图获取值并将其存储在变量中,但它找不到“choice1”
$choice1=$_POST['choice1']
但我得到了“未定义索引:choice1”。为什么会这样 这里有两件事可能出错:
method
设置为post
,则数据将在URL中传递(您可以检查是否存在这种情况)。在这种情况下,值的单位是$\u GET而不是$\u POST(或者,如果覆盖它,则传递另一个值),但如果不选中,则无法获取该值,因此无法在PHP中读取该值。您可以使用array\u key\u exists('choice1',$\u POST)
检查该值是否存在。如果没有,您知道复选框没有被选中
如果选中该复选框,则浏览器会将其值与其他变量一起发送 如果没有检查,就不会发送 这样做:
$choice1 = isset($_POST['choice1']) ? $_POST['choice1'] : 0;
$\u POST
将为空。例如:
打印($\u POST)
以查看$\u POST
中是否有任何内容
能够实际发送表单如果您这样做应该会奏效:
<FORM action="your next page" method="post">
.....
<label for="choice1">Windows 7</label>
<input type="checkbox" name="choice1"/>
.....
<input type="submit"/>
</FORM>
.....
视窗7
.....
检查您的代码是否相同。。。
或者我们发布更多代码来查看…表单的
方法
属性是否设置为post
?“添加按钮”是否为
?显示更多代码。请显示整个表单html,包括添加按钮。在PHP中,尝试echo”“;变量转储($\u POST);变量转储(美元获取);回声“
分析数组$\u POST和$\u GET的内容。@jakub:头('Content-Type:text/plain');var_dump(全球美元)代码>;)