标签:
起先,分析需求;
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