1-17练习题问题

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没有值的错误呢

正在回答

登陆购买课程后可参与讨论,去登陆

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 星

相似问题

登录后可查看更多问答,登录/注册

请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师