提交数组中未显示正确结果的数据

时间:2017-11-19 13:21:39

标签: php arrays

在SO中阅读了几个教程和类似页面后,我编写了几行代码来捕获数组中的数据。结果有时显示正确的输入,但是当省略其中一个级别时,显示不正确的结果。 已经写了一些JS代码,这样只有当选中Level复选框时,其他2个输入框才可用(我在这里没有包含)。 你们中的任何人都可以帮助我找出这个问题吗?

table, th, td {
    border: 1px solid black;
    border-collapse: collapse;
}
th {
    height: 40px;
}
td {
    width: 100px;
	height: 30px;
	text-align:center
}
input[type=number] {
	width:40%;
}
td input[type=number] {
vertical-align: middle;
}
<body>


<div class="checkbox">
<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
	<table>
		<tr>
			<th>Level</td>
			<th>No. of Awards</td>
			<th>Prize</td>			
		</tr>
		<tr>
			<td><lable>Level 3</lable><input type="checkbox" name="lev[]" id="box3" value="3"/></td>
			<td><input type="number" name="qty[]" id="box3a" value="1" min="0" /></td>
			<td>
				<select name="prz[]" id="box3b">
				  <option value="Book Voucher">Book Voucher</option>
				  <option value="Certificate">Certificate</option>
				  <option value="Pennant">Pennant</option>
				  <option value="Medal">Medal</option>			  
				</select>		
			</td>
		</tr>
		<tr>
			<td><lable>Level 4</lable><input type="checkbox" name="lev[]" id="box4" value="4"/></td>
			<td><input type="number" name="qty[]" id="box4a" value="1" min="0"/></td>		
			<td>
				<select name="prz[]" id="box4b">
				  <option value="Book Voucher">Book Voucher</option>
				  <option value="Certificate">Certificate</option>
				  <option value="Pennant">Pennant</option>
				  <option value="Medal">Medal</option>	
				</select>
			</td>
		</tr>
		<tr>
			<td><lable>Level 5</lable><input type="checkbox" name="lev[]" id="box5" value="5"/></td>
			<td><input type="number" name="qty[]" id="box5a" value="1" min="0"/></td>		
			<td>
				<select name="prz[]" id="box5b">
				  <option value="Book Voucher">Book Voucher</option>
				  <option value="Certificate">Certificate</option>
				  <option value="Pennant">Pennant</option>
				  <option value="Medal">Medal</option>	
				</select>		
			</td>
		</tr>	
	</table>

	<input id="save_button" type="submit" name="submit" value="Save"> 
</form>

	

</div>

<?php

if(isset($_POST['submit'])) {
	$level = $_POST['lev'];
	$qty = $_POST['qty'];
	$prz = $_POST['prz'];	


    for($i = 0; $i < count($level); $i++ )
    {
        echo "Level : "		.$level[$i];
        echo " Award Qty.: " .$qty[$i];
        echo  " Prize : "	. $prz[$i];
        echo "<br/>";
    }	
}

?>
</body>

0 个答案:

没有答案