2012-07-14 75 views
-1

編輯:我有兩個文件,一個是HTML,另一個是PHP腳本。我正在製作一個簡單的計算器。在我的HTML中,我有一個包含4個文本框的簡單表單。 第一個文本框是有一個數字。 第二個文本框是要執行的操作。 第三個文本框是第二個數字。 第四個文本框是答案。 當用戶點擊計算按鈕時,動作屬性將HTML重定向到執行所有算法的PHP腳本。我希望PHP腳本將答案返回到我的HTML表單中的第四個文本框。從PHP返回一個值到HTML

我該怎麼做?

這是我的HTML代碼。

<!DOCTYPE html> 
<html> 
<head> 
<meta name = "description" content = "This is a home page"/> 
<meta name = "author" content = "William Salazar" /> 
<meta name = "keywords" content = "exercise for home page"/> 
<title>Calculator</title> 
</head> 
<body> 
    <fieldset> 
     <legend>Calculator</legend> 
     <form action = "calculate.php" method = "post"> 
      Please type in two numbers and an operation (ex: 2 + 3)<br/> 
      <input type = "text" name = "fNum" size = "2"/> 
      <input type = "text" name = "op" size = "2"/> 
      <input type = "text" name = "sNum" size = "2"/>= 
     <input type = "text" name = "ans" size = "2" readonly = "read" value = "<?php echo htmlspecialchars($ans);?>"/> 
      <br/><br/> 
      <input type = "submit" value = "Calculate"/> 
     </form> 
    </fieldset> 
</body> 
</html> 

這是我的PHP腳本代碼。

<?php 
function addition() 
{ 

    $sum = (float)$_POST['fNum'] + (float)$_POST['sNum']; 
    $_POST['ans'] = (string)$sum; 
    "<form action ='CalculatorForm.php' method = 'post'>" 
    "</form>" 
} 


    switch($_POST['op']) 
    { 
     case '+':   
      addition();   
     break; 
     case '-': 
      subtraction(); 
     break; 
     case '*': 
      multiplication(); 
     break; 
     case '/': 
      division();  
     break; 
     case '^': 
      power(); 
     break; 
     default: 
     break; 
    } 

?> 

當然,我還沒有完成其他功能。我最初試圖測試我的附加功能,如果工作,我將複製和粘貼代碼。

+3

代替php,在這裏使用javascript是可取的。 – hjpotter92 2012-07-14 06:45:16

+1

如果您使用php並且不要正確清理腳本,它將不會很長,直到您的站點主機爲郵件訂單新娘和網站添加了免費表情圖標。 – Cleverbot 2012-07-14 06:49:43

+1

如果這是一項家庭作業,並且您需要使用PHP和簡單表單提交來進行計算,那麼請繼續,否則,請使用AJAX或JS來進行計算。 – 2012-07-14 07:43:21

回答

1

使用AJAX將數據從HTML發送到PHP並返回。
另外,你可以使用Javascript做所有計算。

+1

我知道這可以用JavaScript來完成。我想我也很容易,但我想使用HTML和PHP。其他一切都很簡單,只是將信息發回給我,而我卻遇到了麻煩。 – binMind 2012-07-21 01:38:22

0

如果這是一個家庭作業問題,那麼繼續使用您的代碼,否則使用AJAX或JAVASCRIPT解決方案。

一些小技巧,如果你想繼續使用經典的形式提交的解決方案:

  • 使用一個頁面顯示和計算,說calculator.php
  • 將您的表單操作設置爲同一頁面,即calculator.php或刪除操作以調用同一頁面。
  • 提交後,按上面所做的那樣進行計算,將結果傳遞給$ans,因爲您使用此var來呈現您的表單。
  • 如果仍有問題,請返回此處。
+0

「AJAX或JAVASCRIPT解決方案」 - 老兄,AJAX和JS都是一樣的東西.. JS是一種語言,AJAX是一種技術。 – 2012-07-14 15:43:51

+0

@PaulDenisevich Ajax是一種技術組合,JS是單一語言,我知道他們的差異,我可以給你發我的簡歷,如果你想。 – 2012-07-14 17:38:36