1-17练习题问题
<!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没有值的错误呢
15
收起
正在回答
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'];
如果解决了您的问题,请采纳,祝学习愉快~
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星