如果我将<! - ?php? - >代码放在正文顶部或底部,这是不同的

时间:2015-08-16 08:32:52

标签: php post position

您好,请帮助我理解这一点,因为我运行了一个代码,我将该代码放在底部,它在这里有错误,因为你可以看到它在这里有错误THE ERROR!

<html>
    <body>

    <form action="#" method="post">
    Num1:<input name="num1"><br>
    <input type='radio'  name='express' value='add'>+
    <input type='radio'  name='express' value='subtract'>-
    <input type='radio'  name='express' value='multiply'>*
    <input type='radio'  name='express' value='divide'>/
    <br>
    Num2:<input name="num2"> 
    Result:<input value='<?php echo  $result;?>'>
    <input type="submit" name="submit">
    </form>
   <?php
      function add($x,$y){

           $add=$x + $y;
           return $add;

       }
       function subtract($x,$y){

           $subtract=$x - $y;
           return $subtract;

       }
       function multiply($x,$y){

           $multiply=$x * $y;
           return $multiply;

       }
       function divide($x,$y){

           $divide=$x / $y;
           return $divide;

       }

       if(isset($_POST['submit'])){
           $x=$_POST['num1'];
           $y=$_POST['num2'];
           if(isset($_POST['express'])){
               $z=$_POST['express'];
            if($x == '' or $y == '' ){
                echo 'input a number';
               }
           else if($z == 'add'){
               $result= add($x,$y);  
           }
           else if($z=='subtract'){
               $result= subtract($x,$y);

           }
           else if($z=='multiply'){
               $result= multiply($x,$y);

           }
           else{
               $result= divide($x,$y);

           }

           }



       }


    ?>
    </body>
    </html>

虽然这是工作版本,但我将所有代码放在正文顶部

<html>
    <body>
     <?php
      function add($x,$y){

           $add=$x + $y;
           return $add;

       }
       function subtract($x,$y){

           $subtract=$x - $y;
           return $subtract;

       }
       function multiply($x,$y){

           $multiply=$x * $y;
           return $multiply;

       }
       function divide($x,$y){

           $divide=$x / $y;
           return $divide;

       }

       if(isset($_POST['submit'])){
           $x=$_POST['num1'];
           $y=$_POST['num2'];
           if(isset($_POST['express'])){
               $z=$_POST['express'];
            if($x == '' or $y == '' ){
                echo 'input a number';
               }
           else if($z == 'add'){
               $result= add($x,$y);  
           }
           else if($z=='subtract'){
               $result= subtract($x,$y);

           }
           else if($z=='multiply'){
               $result= multiply($x,$y);

           }
           else{
               $result= divide($x,$y);

           }

           }



       }


    ?>
    <form action="#" method="post">
    Num1:<input name="num1"><br>
    <input type='radio'  name='express' value='add'>+
    <input type='radio'  name='express' value='subtract'>-
    <input type='radio'  name='express' value='multiply'>*
    <input type='radio'  name='express' value='divide'>/
    <br>
    Num2:<input name="num2"> 
    Result:<input value='<?php echo  $result;?>'>
    <input type="submit" name="submit">
    </form>

    </body>
    </html>

1 个答案:

答案 0 :(得分:0)

在第一个示例中,您在声明之前打印$result,在第二个示例中,您在声明之后打印$result。由于在第一个示例中未声明$result,并且您尝试在此行中打印它:

Result:<input value='<?php echo  $result;?>'>

这就是您收到错误Undefined Variable的原因。