• php简易计算器


    php循环结构

    案例:php简易计算器

    步骤:

    1.先绘制这个表格

    2.根据表单提交的sub属性判断一下,是否点击计算了

    (GET方式提交的数据,通过地址栏传递的)

    3.计算,并将结果输入到第二行

      问题:当点击计算后,之前输入数字及运算符消失,因为点击计算后提交到当前页面,等于刷新

               当点击之后,运算符默认又恢复到+

      解决:通过selected属性控制下拉列表是否被选中

               单路分支,可以不写{}

    4.完善

      如果用户输入是字符串或者是空值,提示不能为空或者不能为字符串

      通过地址栏上有没有 sub=计算 这个参数来判断用户有没有点击计算

     1 <html>
     2     <head>
     3         <meta charset="utf-8"/>
     4     </head>
     5 <?php
     6     $result='';
     7     $message='';
     8     $num1=true;
     9     $num2=true;
    10     $numa=true;
    11     $numb=true;
    12 
    13     if($_GET['sub']=='计算'){
    14         //用户点击了计算按钮
    15         if($_GET['num1']==''){
    16             $num1=false;
    17             $message.='第一个不能为空<br/>';
    18             //return false;  //停止代码继续执行
    19         }
    20         if($_GET['num2']==''){
    21             $num2=false;
    22             $message.='第二个不能为空<br/>';
    23             //return false;  //停止代码继续执行
    24         }
    25         if(!is_numeric($_GET['num1'])){
    26             $numa=false;
    27             $message.='第一个数字必须为数值<br/>';
    28         }
    29         if(!is_numeric($_GET['num2'])){
    30             $numb=false;
    31             $message.='第二个数字必须为数值<br/>';
    32         }
    33         if($num1&&$num2&&$numa&&$numb){
    34             switch($_GET['ysf']){
    35                 case '+':
    36                 $result=$_GET['num1']+$_GET['num2'];
    37                 break;
    38 
    39                 case '-':
    40                 $result=$_GET['num1']-$_GET['num2'];
    41                 break;
    42 
    43                 case '*':
    44                 $result=$_GET['num1']*$_GET['num2'];
    45                 break;
    46 
    47                 case '/':
    48                 $result=$_GET['num1']/$_GET['num2'];
    49                 break;
    50 
    51                 case '%':
    52                 $result=$_GET['num1']%$_GET['num2'];
    53                 break;
    54             }
    55         }
    56 
    57         
    58         echo $result;
    59     }
    60 ?>
    61     <body>
    62         <table align="center" cellspacing='4px' cellpadding='0'>
    63         <caption><h2>php的简易计算器</h2></caption>
    64             <form action='jsq.php' method='GET' >
    65             <tr>
    66                 <td><input type="text" name='num1' value="<?php echo $_GET['num1']?>"/></td>
    67                 <td>
    68                     <select name='ysf'>
    69                         <option <?php if($_GET['ysf']=='+')echo 'selected';?>>+</option>
    70                         <option <?php if($_GET['ysf']=='-'){echo 'selected';}?>>-</option>
    71                         <option <?php if($_GET['ysf']=='*'){echo 'selected';}?>>*</option>
    72                         <option <?php if($_GET['ysf']=='/'){echo 'selected';}?>>/</option>
    73                         <option <?php if($_GET['ysf']=='%'){echo 'selected';}?>>%</option>
    74                     </select>
    75                 </td>
    76                 <td><input type="text" name='num2' value="<?php echo $_GET['num2']?>"/></td>
    77                 <td><input type="submit" name="sub" value="计算"/></td>
    78             </tr>
    79             <tr>
    80                 <td colspan='4'>
    81                 <?php 
    82                     if($num1&&$num2&&$numa&&$numb){
    83                         echo "运算结果是:".$_GET['num1'].$_GET['ysf'].$_GET['num2']."=".$result;
    84                     }else{
    85                         echo $message;
    86                     }
    87                     
    88                 ?>
    89                 </td>
    90             </tr>
    91             </form>
    92         </table>
    93     </body>    
    94 </html>
  • 相关阅读:
    PTA——List Leaves
    pta——电话聊天狂人(c二叉树实现)
    Anti-SG游戏 与 SJ定理笔记(反Nim博弈)
    Unicode代码点与代码单元
    奇偶校验位
    IPv6与IPv4的位数
    0- win10配置java环境变量问题
    小计划
    路径问题
    getResource(path)的注意事项
  • 原文地址:https://www.cnblogs.com/baixuemin/p/4819326.html
Copyright © 2020-2023  润新知