老师请检查

老师请检查

<html>
<head>
   <title>慕课网</title>
   <meta charset="utf8"/>
</head>
<body>
<form action="#" method="post">
数值1<input type="text" name="num1" id="" value=""/>
<select name="op">
                       <option value="+" selected="selected">+</option>
                       <option value="-">-</option>
                       <option value="*">*</option>
                       <option value="/">/</option>
                       <option value="%">%</option>
</select>
数值2<input type="text" name="num2" id="" value="" />
<input type="submit" name="ret" id="" value="计算"/>
</form>
</body>
</html>
<?php
   $ret=$_POST['ret'];
   $num1=$_POST['num1'];
   $op=$_POST['op'];
   $num2=$_POST['num2'];
   if($ret){
   if(is_numeric($num1)&&is_numeric($num2)) {
       if ($op == '+') {
           $res = $num1 + $num2;
       } elseif ($op == '-') {
           $res = $num1 - $num2;
       } elseif ($op == '*') {
           $res = $num1 * $num2;
       } elseif ($op == '/') {
           if($num2!=0){
               $res = $num1 / $num2;
           }else{
              echo exit('除数不能为0');
           }
       } else {
           $res = $num1 % $num2;
       }
   }else{
       echo exit('非法字符数');
   }
   echo "{$num1}{$op}{$num2}={$res}";
}

?>

正在回答

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

2回答

同学你好,运行时会报Notice错误。如图所示:

http://img1.sycdn.imooc.com//climg/5d6b206d0001c37206140113.jpg

同学可以先判断是否是post传值然后再使用post接收数据。代码可参考‘不爱吃胡萝卜的小兔子’老师提供的。祝学习愉快!

好帮手慕查理 2019-08-31 09:47:07

您好,运行时会报Notice错误。

http://img1.sycdn.imooc.com//climg/5d69d15d000178a505720220.jpg

先判断是否有post数据,存在post数据再赋值给变量。

<?php
if($_POST){
    $ret=$_POST['ret'];
    $num1=$_POST['num1'];
    $op=$_POST['op'];
    $num2=$_POST['num2'];
    if($ret){
        if(is_numeric($num1)&&is_numeric($num2)) {
            if ($op == '+') {
                $res = $num1 + $num2;
            } elseif ($op == '-') {
                $res = $num1 - $num2;
            } elseif ($op == '*') {
                $res = $num1 * $num2;
            } elseif ($op == '/') {
                if($num2!=0){
                    $res = $num1 / $num2;
                }else{
                    echo exit('除数不能为0');
                }
            } else {
                $res = $num1 % $num2;
            }
        }else{
            echo exit('非法字符数');
        }
        echo "{$num1}{$op}{$num2}={$res}";
    }
}
?>

祝学习愉快!

  • 提问者 慕运维4633179 #1
    <html> <head> <title>慕课网</title> <meta charset="utf8"/> </head> <body> <form action="#" method="post"> 数值1<input type="text" name="num1" id="" value=""/> <select name="op"> <option value="+" selected="selected">+</option> <option value="-">-</option> <option value="*">*</option> <option value="/">/</option> <option value="%">%</option> </select> 数值2<input type="text" name="num2" id="" value="" /> <input type="submit" name="ret" id="" value="计算"/> </form> </body> </html> <?php $ret=$_POST['ret']; if($ret){ $num1=$_POST['num1']; $op=$_POST['op']; $num2=$_POST['num2']; if(is_numeric($num1)&&is_numeric($num2)) { if ($op == '+') { $res = $num1 + $num2; } elseif ($op == '-') { $res = $num1 - $num2; } elseif ($op == '*') { $res = $num1 * $num2; } elseif ($op == '/') { if($num2!=0){ $res = $num1 / $num2; }else{ echo exit('除数不能为0'); } } else { $res = $num1 % $num2; } }else{ echo exit('非法字符数'); } echo "{$num1}{$op}{$num2}={$res}"; } ?>
    2019-08-31 22:57:42
  • 提问者 慕运维4633179 #2
    <html> <head> <title>慕课网</title> <meta charset="utf8"/> </head> <body> <form action="#" method="post"> 数值1<input type="text" name="num1" id="" value=""/> <select name="op"> <option value="+" selected="selected">+</option> <option value="-">-</option> <option value="*">*</option> <option value="/">/</option> <option value="%">%</option> </select> 数值2<input type="text" name="num2" id="" value="" /> <input type="submit" name="ret" id="" value="计算"/> </form> </body> </html> <?php $ret=$_POST['ret']; if($ret){ $num1=$_POST['num1']; $op=$_POST['op']; $num2=$_POST['num2']; if(is_numeric($num1)&&is_numeric($num2)) { if ($op == '+') { $res = $num1 + $num2; } elseif ($op == '-') { $res = $num1 - $num2; } elseif ($op == '*') { $res = $num1 * $num2; } elseif ($op == '/') { if($num2!=0){ $res = $num1 / $num2; }else{ echo exit('除数不能为0'); } } else { $res = $num1 % $num2; } }else{ echo exit('非法字符数'); } echo "{$num1}{$op}{$num2}={$res}"; } ?>
    2019-08-31 22:58:22
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
PHP小白零基础入门
  • 参与学习           人
  • 提交作业       626    份
  • 解答问题       4928    个

想要学好Web后端开发的中流砥柱语言,本阶段为你轻松铺就扎实的基础,从前端网页布局的搭建到后台PHP开发,助你从零基础到掌握主流开发语言。

了解课程
请稍等 ...
微信客服

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

帮助反馈 APP下载

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

公众号

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

在线咨询

领取优惠

免费试听

领取大纲

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