1-17练习题问题
来源:1-15 简易计算器的实现
V丶K
2017-11-24 18:28:39
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> </head> <body> <form action="#" method="post"> 数值1:<input type="text" name="num1"> <select class="" name="op"> <option value="+">+</option> <option value="-">-</option> <option value="*">*</option> <option value="/">/</option> <option value="%">%</option> 数值2:<input type="text" name="num2"> <input type="submit" name="submit" value="提交"> </form> <?php $num1=$_POST['num1']; $num2=$_POST['num2']; $op=$_POST['op']; $submit=$_POST['submit']; if($submit){ if($op=='+'){ $result=$num1+$num2; }elseif($op=='-'){ $result=$num1-$num2; }elseif($op=='*'){ $result=$num1*$num2; }elseif($op=='/'){ $result=$num1/$num2; }elseif($op=='%'){ $result=$num1%$num2; }else{ echo '非法操作'; } echo "运算结果为:<br/>{$num1}{$op}{$num2}={$result}"; } ?> </body> </html>
为什么当我这样写了之后仍然会报$num1 $num2 $num3没有值的错误呢
1回答
您好,您的页面有如下代码,当第一次进入该页面时,我们还没有在input框输入数据并提交,此时代码执行到这里自然找不到相应的post数据,会提示未定义:
$num1=$_POST['num1'];
$num2=$_POST['num2'];
$op=$_POST['op'];
$submit=$_POST['submit'];
解决办法;
在使用前,先用isset()函数判断变量是否存在,如果不存在就不执行相应的php代码就可以了。
例如:
if(isset($_POST['submit'])){
$num1=$_POST['num1'];
}
如果存在,就执行$num1=$_POST['num1'];
如果解决了您的问题,请采纳,祝学习愉快~
相似问题