2015-08-16 29 views
0

你好,請幫助我理解這一點,因爲我運行的代碼,我把代碼放在底部,它有錯誤在這裏它是ü可以看到它有錯誤,這裏是THE ERROR!php它是不同的,如果我把我的<?php?>代碼在身體的頂部或底部

<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> 
+0

在'echo $ result'的時候,你還沒有定義'$ result' - 函數可能會被掛起,但是定義'$ result'的處理代碼肯定不是。 –

回答

0

在第一個示例中,在聲明它之前您正在打印$result,而在第二個示例中,您聲明它後正在打印$result。由於在第一個例子$result沒有聲明,你想打印在這一行:

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

這就是爲什麼你得到錯誤Undefined Variable

0

的頂部。在第一個代碼示例你想例如,你可以告訴某人「我是20歲」年歲「,如果你不知道你幾歲。

雖然在第二個例子中你已經聲明瞭變量(你知道你幾歲),你可以輸出它。

相關問題