PHP 基本言語で書かれた小さなプログラムに基づく計算機

高洛峰
リリース: 2023-03-02 21:48:01
オリジナル
1285 人が閲覧しました

PHP 基本言語で書かれた小さなプログラムに基づく電卓

要件: 入力ボックスに数値を入力して、加算、減算、乗算、除算の演算を実行します (html+php)

アイデア:

1 まず、入力を作成します数値と演算 シンボルの入力ボックスでは、数値は input の text 属性を使用し、演算子は sellct の option 属性を使用します

2 入力ボックス内の = 記号をクリックして、対応する演算を実行します。 = 記号を使用した入力は、 input の submit を使用して実行できます。 submit をクリックするだけで、フォーム内のコンテンツが php に渡されます

4 HTML から取得した演算子を決定し、対応する操作を実行します

5 操作が完了したら、結果はフォームに返される必要があります (つまり、フォームの値に値を割り当てます)

コード

Html コード

<form method="post" action=””>//method代表的表单的提交方式,本案例选的是post提交 action是接受的页面,为空表示提交到当前页
              <input type = "text" name="num1" >
              <select name = "select">
                     <option value="+" >+</option>
                     <option value="-" >-</option>
                     <option value="*" >*</option>
                     <option value="/" >/</option>
              </select>
              <input type = "text" name="num2" >
              <input type = "submit" name = "submit" value="=">
              <input type = "text" name="result" >
       </form>
ログイン後にコピー

PHP 基本言語で書かれた小さなプログラムに基づく計算機PHP コード

ユーザーが送信ボタンをクリックすると、値はポストを通じて渡されます。次に、フォームで値を受け入れる必要があります。

クリックする前にいくつかの判断をしてください

if (isset($_POST[&#39;submit&#39;])) {
//isset检测变量是否设置,存在,或非NULL, 返回值为布尔, 如果变量存在返回true, 否则为false;,结合$_POST[“submit”], $_POST   //接收通过表单的method=’post’ 方法的传值
$num1 = $_POST[&#39;num1&#39;];//获取第一个输入框中的值,通过input中的name属性获得
             $select = $_POST[&#39;select&#39;];//同上
             $num2 = $_POST[&#39;num2&#39;];//同上
       if (is_numeric($num1) && is_numeric($num2)) {
       //is_numeric() //检测变量是否为数字或数字字符串  返回值 ,true, false  如 100, ‘100’
 
             switch ($select) {//$select是前面传来的运算符
                    case &#39;+&#39;://根据switch的语法,case中的值和switch括号里的值相等那么就执行case后面的那句话,不等则继续往下找
                           $result = $num1+$num2;
                           break;
                    case &#39;-&#39;:
                           $result = $num1-$num2;
                           break;
                    case &#39;*&#39;:
                           $result = $num1*$num2;
                           break;
                    default:
                           if ($num2==0) {//加个判断,除数不能为0
                                  echo "<script>alert(&#39;输入的除数为0请重新输入&#39;)</script>";
                           }else{
                                  $result = $num1/$num2;
                                  break;
                           }     
             }
             }else{
                    //echo 当用户输入的不是数,可能是字符串则给用户提示
                    echo "<script>alert(&#39;输入的不是数&#39;)</script>";
                    $num1 = $num2 = $result = "";//把表单里的内容清空
             }
}
ログイン後にコピー

実行結果のスクリーンショット

正しい数値を入力した時のスクリーンショット

PHP 基本言語で書かれた小さなプログラムに基づく計算機=記号をクリックした後

PHP 基本言語で書かれた小さなプログラムに基づく計算機値が渡されないことを意味しますHTML のフォーム

次に、フォームの値を設定する必要があります

input type = "text" name="num2" value="

&lt; input type =" submit "name =" submit "value =" = "&gt;送信ボタンを押すと、入力ボックスの値を空に設定する必要があります

コードを改善し、PHP コードの最後に else{

$num1 =$ を追加します。 num2 = $result = "";

}

スクリーンショット

他の操作をクリックすると、中央の演算子は常に+、スクリーンショット

HTML内のコード改善

< select name = "select">PHP 基本言語で書かれた小さなプログラムに基づく計算機

<オプションvalue="+" >+

/ /select が設定されている場合、属性が選択されます。デフォルトで選択されているため、php から渡された値と比較する必要があります。true は選択されていることを意味し、false は選択されていないことを意味します。

截图看结果

PHP 基本言語で書かれた小さなプログラムに基づく計算機

当用户第一次进来

截图

PHP 基本言語で書かれた小さなプログラムに基づく計算機

说明要设置selecte中的默认值

代码

$select=”+”

基本功能已经完成

总的代码

<!DOCTYPE html>
<html>
<head>
       <meta charset="UTF-8">
       <title>Document</title>
</head>
<body>
       <?php
              if (isset($_POST[&#39;submit&#39;])) {
//isset检测变量是否设置,存在,或非NULL, 返回值为布尔, 如果变量存在返回true, 否则为false;,结合$_POST[“submit”], $_POST   //接收通过表单的method=’post’ 方法的传值
              $num1 = $_POST[&#39;num1&#39;];//获取第一个输入框中的值,通过input中的name属性获得
             $select = $_POST[&#39;select&#39;];//同上
             $num2 = $_POST[&#39;num2&#39;];//同上
       if (is_numeric($num1) && is_numeric($num2)) {
       //is_numeric() //检测变量是否为数字或数字字符串  返回值 ,true, false  如 100, ‘100’
 
             switch ($select) {//$select是前面传来的运算符
                    case &#39;+&#39;://根据switch的语法,case中的值和switch括号里的值相等那么就执行case后面的那句话,不等则继续往下找
                           $result = $num1+$num2;
                           break;
                    case &#39;-&#39;:
                           $result = $num1-$num2;
                           break;
                    case &#39;*&#39;:
                           $result = $num1*$num2;
                           break;
                    default:
                           if ($num2==0) {//加个判断,除数不能为0
                                  echo "<script>alert(&#39;输入的除数为0请重新输入&#39;)</script>";
                           }else{
                                  $result = $num1/$num2;
                                  break;
                           }     
             }
             }else{
                    //echo 当用户输入的不是数,可能是字符串则给用户提示
                    echo "<script>alert(&#39;输入的不是数&#39;)</script>";
                    $num1 = $num2 = $result = "";//把表单里的内容清空
             }
}else{
       $num1 = $num2 = $result = "";
       $select = "+";
}
        ?>
<form method="post" action=""><!-- //method代表的表单的提交方式,本案例选的是post提交 action是接受的页面,为空表示提交到当前页 -->
            <input type = "text" name="num1" value="<?php echo $num1?>"  >
              <select name = "select">
                     <option value="+" <?php if($select == &#39;+&#39;)echo &#39;selected&#39;?>>+</option>
                     <option value="-" <?php if($select == &#39;-&#39;)echo &#39;selected&#39;?>>-</option>
                     <option value="*" <?php if($select == &#39;*&#39;)echo &#39;selected&#39;?>>*</option>
                     <option value="/" <?php if($select == &#39;/&#39;)echo &#39;selected&#39;?>>/</option>
              </select>
              <input type = "text" name="num2" value="<?php echo $num2?>" >
              <input type = "submit" name = "submit" value="=">
              <input type = "text" name="result" value="<?php echo $result?>">
       </form>
</body>
</html>
ログイン後にコピー


関連ラベル:
php
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート