多项选择题

1、设计一个网页,询问用户“下列哪些属于恋爱鼻祖?”并列出若干人名(王宝钏,王银钏,周芷若…….)以供选择。用户单击“提交”按钮时,提示答案是否正确。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
<!doctype html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html";charset="utf-8">
<title>综合实例-多项选择题</title>
</head>
<body>
<p>下列哪些属于恋爱鼻祖?</p>
<form name="form1" id="form1" method="post" action="">
<input type="checkbox" name="answer[]" value="A"/>王宝钏<br/>
<input type="checkbox" name="answer[]" value="B"/>王银钏<br/>
<input type="checkbox" name="answer[]" value="C"/>白素贞<br/>
<input type="checkbox" name="answer[]" value="D"/>周芷若<br/>
<input type="checkbox" name="answer[]" value="E"/>赵敏<br/>
<input type="checkbox" name="answer[]" value="F"/>七仙女<br/>
<input type="checkbox" name="answer[]" value="G"/>殷素素<br/>
<input type="checkbox" name="answer[]" value="H"/>黄蓉<br/>
<input type="checkbox" name="answer[]" value="I"/>岳灵珊<br/>
<input type="submit" name="submit" id="submit" value="提交"/>
</form>

<?php
if(isset($_POST['submit'])){
//得到一个数组$answer,仅包含用户选中的项
$answer = $_POST['answer'];
$ehoice = "";
for($i = 0; $i<count($answer); $i++)
$ehoice .= $answer[$i];
if($ehoice == 'ACFG')
show('恭喜你,答对了!');
else
show('不对,重新答!');
}
//自定义函数用于弹出框提示
function show($message){
echo("<script>alert('$message')</script>");
}
?>
</body>
</html>

网页中,表单里的复选框中的name全部都为“answer[]”这样在php代码中$_POST[‘answer’]取到的是一个数组,数组中的所有元素仅由用户选中的那些复选框组成,而元素的值则是该复选框的value的值。通过把所有被用户选中的复选框的value的值连接起来,形成一个字符串,从而用于与if语句里的答案比较,可方便的判断答案是否正确

计算器程序

设计一个网页,让用户输入一个四则运算式,采用下拉列表提供加、减、乘、除四种运算符选择。当用户点击“求值”按钮时,自动计算结果并显示出提示信息。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
<!doctype html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html"; charset="utf-8">
<title>计算器程序</title>
</head>
<?php
if(isset($_POST['submit'])){
$a = $_POST['a'];
$b = $_POST['b'];
$opr = $_POST['opr'];
$c = "";
calc($a,$opr,$b,$c); //计算
show("$a $opr $b=$c"); //显示
}
//用于计算一个四则运算式,结果存储于$c
function calc($a,$opr,$b,&$c){
switch($opr){
case '+':
$c = $a+$b;break;
case '-':
$c = $a-$b;break;
case '*':
$c = $a*$b;break;
case '/':
$c = @($a/$b);break;
default:
$c = "";
}
}
//自定义函数,用于弹出框显示
function show($message){
echo("<script>alert('$message')</script>");

}
?>
<body>
<p>四则运算计算器</p>
<form name="form1" method="post" action="">
<input name="a" type="text" id="a" size="6"/>
<select name="opr" id="opr">
<option>+</option>
<option>-</option>
<option>*</option>
<option>/</option>
</select>
<input name="b" id="b" type="text" size="6"/>
<input name="submit" type="submit" id="submit" value="求值" />
</form>
</body>
</html>

首先用户输入的两个运算数$a,$b以及一个运算符$opr,调用自定义函数calc计算结果$c,然后调用show自定义函数显示结果。函数采用switch-case结构进行判断,效果比if好。calc中有一个地方采用@命令,防止除法发生错误时再浏览器上显示错误信息,造成界面被破坏。