當我們把表格資料填好,按出【答案】,就要把表格裡面的數值傳到test.php做處理

處理好之後,就要把答案印出來

如何承接表格裡面的數值呢?

就是用之前所說過的變數,而表格的變數是有固定格式的,就是$_POST[表格的名稱]

前篇在制定表格,設定輸入類型的時候,都一定要給它一個名稱(name),以做判別

在這裡就需要用到這個名稱,之前有用到T1、T2、D1

所以,承接這些數值的變數就是$_POST['T1']、$_POST['T2']、$_POST['D1']

表格填了什麼樣的數值,在這些變數就是怎樣的數值

當表格填了1+2

在test.php就直接$_POST['T1']+$_POST['T2']就是答案了

還剩下兩個問題

一個是如何處理加減乘除

就是動用到之前學過的if就能輕鬆處理

$_POST['D1']輸入類型是下拉式選單,當選擇加減乘除其中一個運算的時候<option>數值</option>

+ - * /就是$_POST['D1']的數值,所以if的寫法如下

if($_POST['D1']=='+') $sum = $_POST['T1'] + $_POST['T2'];

 elseif($_POST['D1']=='-') $sum = $_POST['T1'] - $_POST['T2'];

 elseif($_POST['D1']=='*') $sum = $_POST['T1'] * $_POST['T2'];

 elseif($_POST['D1']=='/') $sum = $_POST['T1'] / $_POST['T2'];

我們用另一個變數$sum來承接運算過後的答案,以便於往後處理第二個問題

$sum就是最後處理所得出來的結果,就要把結果印出來了

就直接echo '答案=' . $sum;

當字元跟變數串起來印出來,就要用到 . 就可以了

變數是不需要單引號了,只要遇到固定字元就要單引號'  '、或者雙引號"  "

這樣從輸入到把結果印出來,都是透過網路界面來完成,這樣就是一個簡單的雲端運算

程式是個很嚴謹的工具,一不小心就會出錯

像剛剛處理加減乘除,看似沒有問題,卻隱藏了一個問題

就是除法的除數是不能為零,當$_POST['T2']為零或者沒有輸入,程式就會出現錯誤訊息

那如何解決呢?當說出來的時候,程式就能解決

當$_POST['T2']一定要有數值才能執行除法的指令

elseif($_POST['D1']=='/') {

        if($_POST['T2'])  $sum = $_POST['T1'] / $_POST['T2'];

        else $sum = '無法執行';

}

因為elseif已經要執行一條以上的指令,所以要用{  }來涵蓋

對於PHP而言,0和無數值在廣義的解釋來講都是同樣的效果,都代表false、錯誤的、0

所以只要下if($_POST['T2'])這樣就可以代表$_POST['T2']一定要有數值,就可以執行除法

那else就代表0或者是無數值,那結果就要顯示'無法執行' 

往後,當程式越來越複雜,想要輕易發現程式的Bug則是越來越困難

唯有,不斷假想所有情況,不斷的輸入、測試,才能盡量彌補程式的完整性

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 痞子貓 的頭像
    痞子貓

    微型/私有雲端運算(使用PHP)

    痞子貓 發表在 痞客邦 留言(0) 人氣()