首頁  >  文章  >  php教程  >  基於php基礎語言所寫的小程式計算器

基於php基礎語言所寫的小程式計算器

WBOY
WBOY原創
2016-12-05 13:26:271444瀏覽

基於php基礎語言編寫的小程式之計算器

需求:在輸入框中輸入數字進行加、減、乘、除運算(html+php)

思路:

1首先要建立輸入數字和運算子的輸入框,數字用input的text屬性,運算子用selelct的option屬性

2 點選輸入框中的=號要進行對應的運算,

3 =號這個輸入框可以用input的submit來做,只要點選submit表單裡的內容就傳給php了

4 判斷從html得到的運算子進行對應的運算

5 運算完成後還得把結果回傳到表單中(就是給表單的value賦值)

 

代碼

Html代碼

//method代表的表單的提交方式,本案例選的是post提交 action是接受的頁面,為空表示提交到當前頁

             

             

                    

                    

                    

                    

             

             

             

             

      

 

PHP代碼

當使用者點擊提交按鈕值就會透過post傳遞過來,現在要接受表單裡的值。

在點擊前要做幾個判斷

if (isset($_POST['submit'])) {

//isset偵測變數是否設定,存在,或非NULL, 回傳值為布林, 若變數存在回傳true, 否則為false;,結合$_POST[“submit”], $_POST   //接收經由表單的method= 'post' 方法的傳值

$num1 = $_POST['num1'];//取得第一個輸入框中的值,透過input中的name屬性獲得

             $select = $_POST['select'];//同上

             $num2 = $_POST['num2'];//同上

       if (is_numeric($num1) && is_numeric($num2)) {

       //is_numeric() //偵測變數是否為數字或數位字串  回傳值 ,true, false  如 100, ‘100’

 

             switch ($select) {//$select是前面傳來的運算子

                    case '+'://根據switch的語法,case中的值與switch括號裡的值相等那麼就執行case後面的那句話,不等則繼續往下找

                           $result = $num1+$num2;

                           break;

                    case '-':

                           $result = $num1-$num2;

                           break;

                    case '*':

                           $result = $num1*$num2;

                           break;

                    default:

                           if ($num2==0) {//定

                                

                           }else{

                                  $result

                               地

                           }     

             }

             }else{

                    //echo 當使用者所輸入的不是數字,而使用者則為使用者提示

                    echo "<script>alert('輸入的不是數')</script>";

                    $num1 = $num2 = $result = "";//清除表單裡的內容物

             }

}

運行結果截圖

 

 

當輸入正確的數字截圖

 

點選=號後

 

說明值沒有傳給html中的表單,

現在要去設定表單的value

//把value的值設為php中運算後的num值

             

                    

                    

                    

                    

             

             

             

             

      

運行結果

 

在使用者沒有點擊提交按鈕時輸入框現在有內容,所以在使用者沒有點擊提交按鈕時應該把輸入框中的值置為空

改進帶碼,在php的程式碼最後加上一個else{

 

$num1 =$num2 = $result = "";

}

截圖

 

點擊其他運算時,中間的運算子總是+,截圖

 

程式碼改進

在html中

                    Sharp

//select有一個屬性selected當設定了就預設選取了它所以得結合php傳過來的值比較,true代表選取false代表未選取

                    

              地

                       ="/" >/

             

截圖看結果

 

當使用者第一次進來

截圖

 

說明要設定selecte中的預設值

代碼

$select=”+”

基本功能已經完成

總的代碼

      

      

Document

      

              if (isset($_POST['submit'])) {

//isset偵測變數是否設定,存在,或非NULL, 回傳值為布林, 若變數存在回傳true, 否則為false;,結合$_POST[“submit”], $_POST   //接收經由表單的method= 'post' 方法的傳值

              $num1 = $_POST['num1'];//取得第一個輸入方塊中的數值,透過input中的name屬性取得

             $select = $_POST['select'];//同上

             $num2 = $_POST['num2'];//同上

       if (is_numeric($num1) && is_numeric($num2)) {

       //is_numeric() //偵測變數是否為數字或數字字串  傳回值 ,true, false  如 100, ‘100’

 

             switch ($select) {//$select是前面傳來的運算子

                    case '+'://根據switch的語法,case中的值與switch括號裡的值相等那麼就執行case後面的那句話,不等則繼續往下找

                           $result = $num1+$num2;

                           break;

                    case '-':

                           $result = $num1-$num2;

                           break;

                    case '*':

                           $result = $num1*$num2;

                           break;

                    default:

                           if ($num2==0) {//定

                                

                           }else{

                                  $result

                               地

                           }     

             }

             }else{

                    //echo 當使用者所輸入的不是數字,而使用者則為使用者提示

                    echo "<script>alert('輸入的不是數')</script>";

                    $num1 = $num2 = $result = "";//清除表單裡的內容物

             }

}else{

       $num1 = $num2 = $result = "";

       $select = "+";

}

        ?>

           

             

                    Sharp

                       ="-" >-

              地

                       ="/" >/

             

             

             

             

       表格>

身體>

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn