码迷,mamicode.com
首页 > 其他好文 > 详细

表单提交的的简易计算器

时间:2016-04-14 13:46:12      阅读:114      评论:0      收藏:0      [点我收藏+]

标签:

 

起先,分析需求;

1.可以输入两个数值,选择操作符号,返回计算结果;
2.在当前页面显示结果,同时当前页面保存用户的操作(计算样式存在,不因提交而置空)

完毕,先布好html代码:

<body>
<form method="post" action="">
    <input type="text" name="first" >
    <select name="sel">
        <option value="+" >+</option>    <!--要设置value的值是php代码的switch里的case里的值需要的事value-->
        <option value="-" >-</option>
        <option value="*">*</option>
        <option value="/">/</option>
        <option value="%">%</option>
    </select>
    <input type="text" name="second"/>
    <span>=</span>
    <input type="text" readonly disabled />
    <input type="submit"  name="submit" />
</form>
</body>

此时即开始编写php代码,
1: 先判断用户是直接访问还是通过提交

if (!isset($_POST[‘submit‘])) { //isset----->如果存在某某某,判断
#如果是直接访问的
}else{}

2判断是提交,则在else区域编写代码:

2.1:接受用户提交过来的值, /*php不相信任何外来数据,此下应该验证input里的值是否符合要求,但此时暂时不去验证*/

$first = $_POST[‘first‘];
$second = $_POST[‘second‘];
$sel = $_POST[‘sel‘];

2.2 设置一个变量保存结果

$result = 0;

 

2.3 根据操作符来计算结果

switch ($sel) { 
case ‘+‘: /*此case里单引号的值-->是html里select里的value值*/
$result = $first+$second;
break;
case ‘-‘:
$result = $first-$second;
break;
case ‘*‘:
$result = $first*$second;
break;
case ‘/‘:
$result = $first/$second;
break;
case ‘%‘:
$result = $first%$second;
break; 
}

3.此时已经完成计算,但是页面提交后却未显示计算经过以及结果,这时需要进行数据回显:

3.1    三个文本框需要进行"检测",此刻暂时使用html嵌入php代码:代码如下:

<input type="text" name="first" value="<?php echo isset($first)?$first : ‘‘;?> "/> /*one*/
<input type="text" name="second" value="<?php echo isset($second)?$second : ‘‘;?> " /> /*two*/
<input type="text" readonly disabled value="<?php echo isset($result)?$result : ‘‘;?> " /> /*lost,此处无需设置name*/

3.2    此时已经完成数据回显,但是无论哪种计算,select里的option一直显示第一个,也就是‘+‘,此刻又需要对option进行"检测",还是以嵌入式代码:

<option value="+" <?php echo isset($opr) ? (($opr == ‘+‘) ? ‘selected="selected"‘ : ‘‘) : ‘‘?>>+</option>
<option value="-" <?php echo isset($opr) ? (($opr == ‘-‘) ? ‘selected="selected"‘ : ‘‘) : ‘‘?>>-</option>
<option value="*" <?php echo isset($opr) ? (($opr == ‘*‘) ? ‘selected="selected"‘ : ‘‘) : ‘‘?>>*</option>
<option value="/" <?php echo isset($opr) ? (($opr == ‘/‘) ? ‘selected="selected"‘ : ‘‘) : ‘‘?>>/</option>
<option value="%" <?php echo isset($opr) ? (($opr == ‘%‘) ? ‘selected="selected"‘ : ‘‘) : ‘‘?>>%</option>

4.   表单提交简易计算器已经基本完成。(待以后优化)

表单提交的的简易计算器

标签:

原文地址:http://www.cnblogs.com/cyfm/p/5390503.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!