请老师检查代码 ,我感觉我的代码有问题

来源:1-17 编程练习

心脏_是有多脏

2019-09-01 13:28:00

<!DOcTYPE html>

<html>

    <head>

        <title></title>

        <meta charset="UTF-8">

    </head>

    <body>

        <h1>计算器</h1>

        <form action="#" method='post'>

            数值1:<input type="text" name="number1" id="">

            op:<select calss="" name="op">

                <option value="+">+</option>

                 <option value="-">-</option>

                  <option value="*">*</option>

                 <option value="/">/</option>

                <option value="%">%</option>

            </select>

             数值2:<input type="text" name="number2" id="">

            <hr /> 

            <input type="submit"name="car" value="计算">

        </form>

        <?php  

  $enmu1=$_POST['number1'];

  $enmu2=$_POST['number2'];

  $num=$_POST['op'];

   $car=$_POST['car'];

  if($car){

      if(is_numeric($number1)&&$is_numeric($number2)){

      

     if($num=='+'){

       $res=$enmu1+$enmu2;

   }else if($num=='-'){

       $res=$enmu1-$enmu2;

   }else if($num=='*'){

       $res=$enmu1*$enmu2;

   }else if($num=='/'){

       if($nmu2!=0){

             $res=$enmu1/$enmu2;

       }else{

             exit ('0不能作为除数');

       }

     

   }else if($num=='%'){

      $res=$enmu1%$enmu2; 

   }else {

       exit( '非法操作字符');

   }

     

   echo'运算结果:<br />{$enmu1}{num}{$enmu2}={$res}';

      }else{

          exit('非法操作');

      }

  }

 

?>

    </body>

</html>


写回答

1回答

好帮手慕小尤

2019-09-01

同学你好,1. 在运行代码时会报未找到变量的错误。如图所示:

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

同学可以先判断是否是post传值再进行赋值。

2. 同学使用未定义的变量进行判断导致报错,并is_numeric函数错误,如图所示:

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

3. 同学使用单引号未输出变量。修改代码如下:

<?php  
// 先判断是否是post传值
if($_POST){
	$enmu1=$_POST['number1'];
	$enmu2=$_POST['number2'];
	$num=$_POST['op'];
	// 使用定义的变量进行判断$enmu1
	// is_numeric函数使用前不用加$符
    if(is_numeric($enmu1)&&is_numeric($enmu2)){
	    if($num=='+'){
	       $res=$enmu1+$enmu2;
	    }else if($num=='-'){
	       $res=$enmu1-$enmu2;
	    }else if($num=='*'){
	       $res=$enmu1*$enmu2;
	    }else if($num=='/'){
	    	// 使用定义的$enmu2进行判断,
	        if($enmu2 != 0){
	            $res=$enmu1/$enmu2;
	        }else{
	            exit ('0不能作为除数');
	        }
	    }else if($num=='%'){
	    	$res=$enmu1%$enmu2; 
	    }else {
	        exit( '非法操作字符');
	    }
	// 打印变量是需要$符的($num) 
	// 单引号是不解析变量的,需要修改为双引号
    echo"运算结果:<br />{$enmu1}{$num}{$enmu2}={$res}";
  	}else{
    	exit('非法操作');
  	}
  }
?>

祝学习愉快!

0

0 学习 · 4928 问题

查看课程