我有一个带有2个checboxes的表单的html文件,我想计算球的面积和周长,但表单不会返回任何值......
HTML文件:
<!DOCTYPE html>
<html>
<head>
<title>Ball</title>
<meta charset="UTF-8">
</head>
<body>
<form action="test.php" method="post">
Enter radius: <br><br>
<input type="text" name="radius"> <br><br>
Area:
<input type="checkbox" name="check_list[]" value="value 1"><br>
Circumference:
<input type="checkbox" name="check_list[]" value="value 2"><br>
<button type="submit">Calculate</button>
</form>
</body>
</html>
PHP文件(我使用了foreach循环):
<?php
$radius = $_POST['radius'];
if(!empty($_POST['check_list'])) {
foreach($_POST['check_list'] as $check) {
if ($check == "0")
{
$result1 = 4*3.14*($radius*$radius);
echo "Area: " . $result1."<br>";
}
if ($check == "1")
{
$result2 = 4/3*3.14*($radius*$radius*$radius);
echo "Circumference: " . $result2 . "<br>";
}
}
?>
为什么它不起作用?我做错了什么?
答案 0 :(得分:2)
您当前的面积和周长复选框值是&#34;值1和#34;和&#34;值2&#34;。这些是你在PHP代码中获得的值。
因此在if条件中检查这些值。即if($ check ==&#34; value 1&#34;)或if($ check ==&#34; value 2&#34;)。
但更好的做法是将值复选框更改为&#34; 0&#34;和&#34; 1&#34;。 它会更容易。
答案 1 :(得分:1)
为区域更改复选框项目的值为value =“0”,为圆周更改值=“1”
然后更改循环上的条件:
foreach($ _ POST ['check_list'] as $ option =&gt; $ check)