对老师帮忙看一下这种写法对不对?有啥问题为啥出不来结果?

来源:1-17 编程练习

慕婉清9404838

2019-12-30 13:36:23

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>计算器</title>

</head>

<body>

<h1>计算器</h1>

<form action="#" method="post">

数值1:<input type="text" name="num1">

<select name="op">

<option value="+">+</option>

<option value="-">-</option>

<option value="*">*</option>

<option value="/">/</option>

<option value="%">%</option>

</select>

数值2:<input type="text" name="num2">

<input type="submit" value="提交" name="act">

</form>

<?php

$act=$_POST['act'];

if ($act) {

$num1=$_POST['num1'];

$num2=$_POST['num2'];

$op=$_POST['op'];

if (is_numeric($num1)&&is_numeric($num2)) {

switch ($op) {

case '+':

$result=$num1+$num2;

break;

case '-':

$result=$num1-$num2;

break;

case '*':

$result=$num1*$num2;

break;

case '/':

switch ($num2) {

case '0':

die("<h1>警告:除数不能为0!</h1>");

break;

}

case '%':

$result=$num1%$num2;

break;

}

}else{

exit('请输入合法数!');

}



echo '运算结果为:<br/>',$num1,$op,$num2,'=',$result;

}

?>

</body>

</html>


写回答

1回答

好帮手慕小尤

2019-12-30

同学你好,1. 运行代码时报没有找到变量的错误。如下图所示:

http://img.mukewang.com/climg/5e0995c609b2eae206070112.jpg

错误原因:由于程序第一次运行,并未接收到post值则开始定义变量造成的。

解决方法:使用isset()或者empty()检测是否有post数据。如果存在则进行运算。修改后代码如下:

http://img.mukewang.com/climg/5e09963109b999e906900198.jpg

2. 测试代码未发现,出不来结果的情况,如果同学测试代码时,还存在此情况请同学反馈。

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

0

0 学习 · 4928 问题

查看课程