基於php基礎語言編寫的小程式之計算器
需求:在輸入框中輸入數字進行加、減、乘、除運算(html+php)
思路:
1首先要建立輸入數字和運算子的輸入框,數字用input的text屬性,運算子用selelct的option屬性
2 點選輸入框中的=號要進行對應的運算,
3 =號這個輸入框可以用input的submit來做,只要點選submit表單裡的內容就傳給php了
4 判斷從html得到的運算子進行對應的運算
5 運算完成後還得把結果回傳到表單中(就是給表單的value賦值)
代碼
Html代碼
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=”+”
基本功能已經完成
總的代碼
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 = "+";
}
?>