还有要改进的地方吗

来源:1-15 简易计算器的实现

栽了清秋

2019-12-28 18:26:22

<!DOCTYPE html>
<html lang="en">
   <head>
       <meta charset="utf-8">
       <title>计算器</title>
   </head>
   <body>
       <h1>计算器</h1>
       <form action="#" method="post">
           <input type="text" name="name1" id="">
           <select class="" name="op">
               <option value="+">+</option>
               <option value="-">-</option>
               <option value="*">*</option>
               <option value="/">/</option>
               <option value="%">%</option>
           </select>
           <input type="text" name="name2" id="">
           <input type="submit" value="计算" name="kick">
       </form>
       <?php
       error_reporting(E_ALL&~E_NOTICE);
       header('content-type:text/html;charset=utf-8');
       $act=$_POST[kick];
       $name1=$_POST[name1];
       $name2=$_POST[name2];
       $op=$_POST[op];
       if($act) {
           if (is_numeric($name1) && is_numeric($name2)) {
               switch ($op) {
                   case '+':
                       $namber = $name1 + $name2;
                       break;
                   case '-':
                       $namber = $name1 - $name2;
                       break;
                   case '*':
                       $namber = $name1 * $name2;
                       break;
                   case '%':
                       $namber = $name1 % $name2;
                       break;
                   case '/':
                       if ($name2!=0){
                           $namber=$name1/$name2;
                       }else{
                           exit(不能除数0);
                       }
               }
               echo "运行结果:" . "{$name1}{$op}{$name2}={$namber}";
           }else{
               exit(请输入合法数值);
           }
       }
       ?>
   </body>
</html>

写回答

1回答

好帮手慕小尤

2019-12-29

同学你好,1. 字符串需要使用引号镶嵌着。建议同学在$_POST与exit函数中添加引号。修改后代码如下:

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

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

2. 在平常测试时,是不会抑制错误的,当关闭抑制函数时报错,如图所示:

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

建议同学使用empty()检测是否有post数据,然后接收数据。修改后代码如下:

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


<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>计算器</title>
    </head>
    <body>
        <h1>计算器</h1>
        <form action="#" method="post">
            <input type="text" name="name1" id="">
            <select class="" name="op">
                <option value="+">+</option>
                <option value="-">-</option>
                <option value="*">*</option>
                <option value="/">/</option>
                <option value="%">%</option>
            </select>
            <input type="text" name="name2" id="">
            <input type="submit" value="计算" name="kick">
        </form>
        <?php
        // error_reporting(E_ALL&~E_NOTICE);
        header('content-type:text/html;charset=utf-8');

        if(!empty($_POST)) {
         $act=$_POST['kick'];
        $name1=$_POST['name1'];
        $name2=$_POST['name2'];
        $op=$_POST['op'];
            if (is_numeric($name1) && is_numeric($name2)) {
                switch ($op) {
                    case '+':
                        $namber = $name1 + $name2;
                        break;
                    case '-':
                        $namber = $name1 - $name2;
                        break;
                    case '*':
                        $namber = $name1 * $name2;
                        break;
                    case '%':
                        $namber = $name1 % $name2;
                        break;
                    case '/':
                        if ($name2!=0){
                            $namber=$name1/$name2;
                        }else{
                            exit('不能除数0');
                        }
                }
                echo "运行结果:" . "{$name1}{$op}{$name2}={$namber}";
            }else{
                exit("请输入合法数值");
            }
        }
        ?>

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

0

0 学习 · 4928 问题

查看课程