我正在使用复选框插入索引并使用select选项进行预测。我想将索引及其相应的预测插入到数据库中。我的问题是,如果我检查一个站的索引并预测另一个站,它也插入到数据库中。请帮我 !! 我的用户端PHP代码是这个
<?php
$stn=array(lucknow,delhi,sitapur);
$index=array(226020,110001,261203);
$fct=array(a,b,c);
for ($i=0; $i<sizeof($index); $i++)
{
?>
<input type= "checkbox" name="stn1[]" value="<? echo $index[$i];?>"><strong>
<? echo $stn[$i];?></strong></br>
<select name="forecast[]">
<?php
echo "<option disabled selected> -- Select an option -- </option>";
foreach($fct as $forecast)
{
echo"<option>$forecast</option>";
}
?>
</select>
<?php
}
?
<input type="Submit" value= "Submit" class="style3" name="Submit">
服务器端php代码就是这个
$station1=$_POST['stn1'];
$forecast1=$_POST['forecast'];
if (sizeof($station1)=="0" or sizeof($forecast1)=="0" or sizeof($station1)! =sizeof($forecast1)) {
die('<h1 align= center><font color=red>Either You have not selected station or forecast. </p> !!! Please select station and its corresponding forecast carefully</font><h1>');
} else {
if ($_POST['Submit']=="Submit"){
for ($i=0; $i<sizeof($station1); $i++)
{
// some my sql command to insert data into database
}
}
echo "<h1 align= center><font color=green> Record is inserted successfully</font></h1>";
}
答案 0 :(得分:0)
因为所有三个复选框和选择都具有相同的名称。
而不是name="forecast[]"
使用name=<? echo $stn[$i];?>
,然后在服务器端检查select标签的名称值是否与复选框名称值匹配。