我正在完成我最后一年级的最后一个项目。 我目前正在为与舞蹈学校的mysql链接的网站工作。 我想检查复选框是否返回值。 它会在" if($ _ POST [' dansstijl'。$ i。''])&#34中提供"未定义的索引" -error ;而且我不知道我做错了什么。
对不起,如果有荷兰语的部分!
这是代码的重要部分:
$sql1="INSERT INTO tblinschrijvingen(llnID) VALUES('".$lln_id."')";
if(!$result1=$mysqli-> query($sql1))
{trigger_error('Fout bij query: '.$mysqli->error);}
else
{
$sql2="SELECT inschrijvingsID FROM tblinschrijvingen ORDER BY inschrijvingsID DESC LIMIT 1";
if(!$result2=$mysqli-> query($sql2))
{trigger_error('Fout bij query: '.$mysqli->error);}
else
{
for($i=1;$i<=11;$i++)
{
if($_POST['dansstijl'.$i.''])
{
$row=$result2->fetch_assoc();
$inschrijvingsID=$row['inschrijvingsID'];
$sql3="SELECT DansID, vestiging, Dansstijl FROM tbldanslessen WHERE vestiging='".$vestiging."' AND Dansstijl='".$_POST['dansstijl'.$i.'']."'";
echo($sql3);
if(!$result3=$mysqli-> query($sql3))
{trigger_error('Fout bij query: '.$mysqli->error);}
else
{
$row=$result3->fetch_assoc();
$dansID=$row['DansID'];
$sql4="INSERT INTO tblinschrijvingenperdansles(inschrijvingsID, dansID) VALUES ('".$inschrijvingsID."', '".$dansID."')";
if(!$result4=$mysqli-> query($sql4))
{trigger_error('Fout bij query: '.$mysqli->error);}
else
{
}
}
}
}
}
以下是我的复选框:
<table border="0">
<tbody>
<tr>
<td width="199"><label>
<input type="checkbox" name="dansstijl1" value="Peuterballet" id="dansstijl1">
Peuterballet</label></td>
<td width="162"><label>
<input type="checkbox" name="dansstijl2" value="Preballet" id="dansstijl2">
Preballet</label></td>
</tr>
<tr>
<td><label>
<input type="checkbox" name="dansstijl3" value="Preprimary" id="dansstijl3">
Preprimary</label></td>
<td><label>
<input type="checkbox" name="dansstijl4" value="Primary" id="dansstijl4">
Primary</label></td>
</tr>
<tr>
<td><label>
<input type="checkbox" name="dansstijl5" value="Klassiek" id="dansstijl5">
Klassiek</label></td>
<td><label>
<input type="checkbox" name="dansstijl6" value="Modern Jazz" id="dansstijl6">
Modern Jazz</label></td>
</tr>
<tr>
<td><label>
<input type="checkbox" name="dansstijl7" value="Hedendaags" id="dansstijl7">
Hedendaags</label></td>
<td><label>
<input type="checkbox" name="dansstijl8" value="Musical" id="dansstijl8">
Musical</label></td>
</tr>
<tr>
<td><label>
<input type="checkbox" name="dansstijl9" value="Pointes" id="dansstijl9">
Pointes</label></td>
<td> </td>
</tr>
<tr>
<td><label>
<input type="checkbox" name="dansstijl10" value="Hiphop - Breakdance" id="dansstijl10">
Hiphop - Breakdance</label></td>
<td><label>
<input type="checkbox" name="dansstijl11" value="Hiphow - Crew" id="dansstijl11">
Hiphow - Crew</label></td>
</tr>
</tbody>
</table>
感谢正手!
朱
答案 0 :(得分:0)
更改
if($_POST['dansstijl'.$i.''])
到
if (isset($_POST['dansstijl'.$i.'']))
检查是否设置了dansstijl,而不是试图获取dansstijl的值(可能不存在,从而给你错误)。
答案 1 :(得分:0)
首先,根据我的拙见,您需要改进代码的可读性部分。如果你必须在几周内查看代码,你会后来感谢自己。
其次,您通过使用数字插入字符串来循环访问POST表单。你还需要调试自己的情况,例如,在if之后放置一个echo(),以便知道哪个索引是你无法访问的索引。
此外,代码组织应该对您更重要,并将逻辑单元划分为自己的函数,而不是if子句的嵌套树。
此外,在PHP中,您可以将字段作为<input name="hello[2]" value="y" />
和$_POST['hello'][1]
发送,然后您可以在$_POST['hello'][2]
和{{1}}中获取这些字段,请参阅http://php.net/manual/en/reserved.variables.post.php#87650。
答案 2 :(得分:0)
if(isset($_POST['dansstijl'.$i.''])) {
// query ...