Rumah pembangunan bahagian belakang tutorial php 基于php基础语言编写的小程序之计算器

基于php基础语言编写的小程序之计算器

Dec 02, 2016 pm 04:35 PM
php

基于php基础语言编写的小程序之计算器

需求:在输入框中输入数字进行加、减、乘、除运算(html+php)

思路:

1首先要创建输入数字和运算符的输入框,数字用input的text属性,运算符用selelct的option属性

2 点击输入框中的=号要进行对应的运算,

3 =号这个输入框可以用input的submit来做,只要点击submit表单里的内容就传给php了

4 判断从html中得到的运算符进行对应的运算

5 运算完成后还得把结果返回到表单中(就是给表单的value赋值)

 

代码

Html代码

1

2

3

4

5

6

7

8

9

10

11

12

<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>

Salin selepas log masuk

22.png

PHP代码

当用户点击提交按钮值就会通过post传递过来,现在要接受表单里的值。

在点击之前要做几个判断

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

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) {//加个判断,除数不能为0

                                  echo "<script>alert('输入的除数为0请重新输入')</script>";

                           }else{

                                  $result = $num1/$num2;

                                  break;

                           }    

             }

             }else{

                    //echo 当用户输入的不是数,可能是字符串则给用户提示

                    echo "<script>alert('输入的不是数')</script>";

                    $num1 = $num2 = $result = "";//把表单里的内容清空

             }

}

Salin selepas log masuk

运行结果截图

当输入正确的数字截图

22.png

点击=号后

22.png

说明值没有传给html中的表单,

现在要去设置表单的value

<input type = "text" name="num1" value="<?php echo $num1?>" >//把value的值设置为php中运算后的num值

<select name = "select">

<option value="+" >+</option>

<option value="-" >-</option>

<option value="*" >*</option>

<option value="/" >/</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>

运行结果

22.png

在用户没有点击提交按钮时输入框现在有内容,所以在用户没有点击提交按钮时应该把输入框中的值置为空

改进带码,在php的代码最后加一个else{

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

}

截图

22.png

在点击其他运算时,中间的运算符始终为+,截图

22.png

代码改进

在html中

<select name = "select">

<option value="+" <?php if($select == '+')echo 'selected'?>>+</option>

//select有一个属性selected当设置了就默认选中了它所以得结合php传过来的值比较,true就代表选中false就代表未选

<option value="-" <?php if($select == '-')echo 'selected'?>>-</option>

<option value="*" <?php if($select == '*')echo 'selected'?>>*</option>

<option value="/" <?php if($select == '/')echo 'selected'?>>/</option>

</select>

截图看结果

22.png

当用户第一次进来

截图

22.png

说明要设置selecte中的默认值

代码

$select=”+”

基本功能已经完成

总的代码

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

&lt;!DOCTYPE html&gt;

&lt;html&gt;

&lt;head&gt;

       &lt;meta charset=&quot;UTF-8&quot;&gt;

       &lt;title&gt;Document&lt;/title&gt;

&lt;/head&gt;

&lt;body&gt;

       &lt;?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) &amp;&amp; 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 &quot;&lt;script&gt;alert(&#39;输入的除数为0请重新输入&#39;)&lt;/script&gt;&quot;;

                           }else{

                                  $result = $num1/$num2;

                                  break;

                           }    

             }

             }else{

                    //echo 当用户输入的不是数,可能是字符串则给用户提示

                    echo &quot;&lt;script&gt;alert(&#39;输入的不是数&#39;)&lt;/script&gt;&quot;;

                    $num1 = $num2 = $result = &quot;&quot;;//把表单里的内容清空

             }

}else{

       $num1 = $num2 = $result = &quot;&quot;;

       $select = &quot;+&quot;;

}

        ?&gt;

&lt;form method=&quot;post&quot; action=&quot;&quot;&gt;&lt;!-- //method代表的表单的提交方式,本案例选的是post提交 action是接受的页面,为空表示提交到当前页 --&gt;

            &lt;input type = &quot;text&quot; name=&quot;num1&quot; value=&quot;&lt;?php echo $num1?&gt;&quot;  &gt;

              &lt;select name = &quot;select&quot;&gt;

                     &lt;option value=&quot;+&quot; &lt;?php if($select == &#39;+&#39;)echo &#39;selected&#39;?&gt;&gt;+&lt;/option&gt;

                     &lt;option value=&quot;-&quot; &lt;?php if($select == &#39;-&#39;)echo &#39;selected&#39;?&gt;&gt;-&lt;/option&gt;

                     &lt;option value=&quot;*&quot; &lt;?php if($select == &#39;*&#39;)echo &#39;selected&#39;?&gt;&gt;*&lt;/option&gt;

                     &lt;option value=&quot;/&quot; &lt;?php if($select == &#39;/&#39;)echo &#39;selected&#39;?&gt;&gt;/&lt;/option&gt;

              &lt;/select&gt;

              &lt;input type = &quot;text&quot; name=&quot;num2&quot; value=&quot;&lt;?php echo $num2?&gt;&quot; &gt;

              &lt;input type = &quot;submit&quot; name = &quot;submit&quot; value=&quot;=&quot;&gt;

              &lt;input type = &quot;text&quot; name=&quot;result&quot; value=&quot;&lt;?php echo $result?&gt;&quot;&gt;

       &lt;/form&gt;

&lt;/body&gt;

&lt;/html&gt;

Salin selepas log masuk


Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Tag artikel panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Panduan Pemasangan dan Naik Taraf PHP 8.4 untuk Ubuntu dan Debian Panduan Pemasangan dan Naik Taraf PHP 8.4 untuk Ubuntu dan Debian Dec 24, 2024 pm 04:42 PM

Panduan Pemasangan dan Naik Taraf PHP 8.4 untuk Ubuntu dan Debian

Tarikh dan Masa CakePHP Tarikh dan Masa CakePHP Sep 10, 2024 pm 05:27 PM

Tarikh dan Masa CakePHP

Konfigurasi Projek CakePHP Konfigurasi Projek CakePHP Sep 10, 2024 pm 05:25 PM

Konfigurasi Projek CakePHP

Muat naik Fail CakePHP Muat naik Fail CakePHP Sep 10, 2024 pm 05:27 PM

Muat naik Fail CakePHP

Penghalaan CakePHP Penghalaan CakePHP Sep 10, 2024 pm 05:25 PM

Penghalaan CakePHP

Bincangkan CakePHP Bincangkan CakePHP Sep 10, 2024 pm 05:28 PM

Bincangkan CakePHP

Panduan Ringkas CakePHP Panduan Ringkas CakePHP Sep 10, 2024 pm 05:27 PM

Panduan Ringkas CakePHP

Cara Menyediakan Kod Visual Studio (Kod VS) untuk Pembangunan PHP Cara Menyediakan Kod Visual Studio (Kod VS) untuk Pembangunan PHP Dec 20, 2024 am 11:31 AM

Cara Menyediakan Kod Visual Studio (Kod VS) untuk Pembangunan PHP

See all articles