PHP学习笔记02——简易计算器
<!DOCTYPE html>
<html>
<head>
<title>PHP简易计算器</title>
</head>
<body>
<?php
$mess = "";
if (isset($_POST["sub"])){
if ($_POST["num1"] == "") $mess .= "第一个数不能为空<br/>";
else if (!is_numeric($_POST["num1"])) $mess .= "第一个数必须是数字<br/>"; if ($_POST["num2"] == "") $mess .= "第二个数不能为空<br/>";
else if (!is_numeric($_POST["num2"])) $mess .= "第二个数必须是数字<br/>";
else if ($_POST["opt"]=="/" && $_POST["num2"] == 0) $mess .= "除数必须为0<br/>";
} ?>
<?php
//第一次访问时设置初始值
if (!isset($_POST["num1"]))$_POST["num1"] = "0";
if (!isset($_POST["num2"]))$_POST["num2"] = "0";
if (!isset($_POST["opt"]))$_POST["opt"] = "+";
// echo $_POST["num1"];
?>
<table align ="center" width="400">
<form action="" method="post">
<caption><h1>计算器</h1></caption>
<tr>
<td><input type="text" size="4" name="num1" value="<?php echo $_POST["num1"]?>"/></td>
<td>
<select name="opt">
<option value ="+" <?php echo $_POST["opt"]=="+"?"selected":"" ?>>+</option>
<option value ="-" <?php echo $_POST["opt"]=="-"?"selected":"" ?>>-</option>
<option value ="*" <?php echo $_POST["opt"]=="*"?"selected":"" ?>>*</option>
<option value ="/" <?php echo $_POST["opt"]=="/"?"selected":"" ?>>/</option>
</select>
</td>
<td><input type="text" size="4" name="num2" value="<?php echo $_POST["num2"]?>"/></td>
<td><input type="submit" name="sub" value="计算"/></td>
</tr> </form>
<?php
if(isset($_POST["sub"])) {
echo '<tr><td colspan="4">'; if(!$mess){
$sum = 0;
switch ($_POST["opt"]) {
case "+":$sum=$_POST["num1"]+$_POST["num2"];break;
case "-":$sum=$_POST["num1"]-$_POST["num2"];break;
case "*":$sum=$_POST["num1"]*$_POST["num2"];break;
case "/":$sum=$_POST["num1"]/$_POST["num2"];break;
}
echo "结果: {$_POST['num1']} {$_POST['opt']} {$_POST["num2"]} = {$sum}";
} else echo $mess; echo '</td></tr>';
}
?>
</table>
</body>
</html>
执行结果

PHP学习笔记02——简易计算器的更多相关文章
- 软件测试之loadrunner学习笔记-02集合点
loadrunner学习笔记-02集合点 集合点函数可以帮助我们生成有效可控的并发操作.虽然在Controller中多用户负载的Vuser是一起开始运行脚本的,但是由于计算机的串行处理机制,脚本的运行 ...
- 机器学习实战(Machine Learning in Action)学习笔记————02.k-邻近算法(KNN)
机器学习实战(Machine Learning in Action)学习笔记————02.k-邻近算法(KNN) 关键字:邻近算法(kNN: k Nearest Neighbors).python.源 ...
- OpenCV 学习笔记 02 使用opencv处理图像
1 不同色彩空间的转换 opencv 中有数百种关于不同色彩空间的转换方法,但常用的有三种色彩空间:灰度.BRG.HSV(Hue-Saturation-Value) 灰度 - 灰度色彩空间是通过去除彩 ...
- SaToken学习笔记-02
SaToken学习笔记-02 如果排版有问题,请点击:传送门 常用的登录有关的方法 - StpUtil.logout() 作用为:当前会话注销登录 调用此方法,其实做了哪些操作呢,我们来一起看一下源码 ...
- Redis:学习笔记-02
Redis:学习笔记-02 该部分内容,参考了 bilibili 上讲解 Redis 中,观看数最多的课程 Redis最新超详细版教程通俗易懂,来自 UP主 遇见狂神说 4. 事物 Redis 事务本 ...
- OGG学习笔记02
实验环境:源端:192.168.1.30,Oracle 10.2.0.5 单实例目标端:192.168.1.31,Oracle 10.2.0.5 单实例 1.模拟源数据库业务持续运行 2.配置OGG前 ...
- 《Master Bitcoin》学习笔记02——比特币的交易模型
比特币的交易模型 模型基本描述 前面一篇学习笔记01提到了一个交易模型(第三章的内容),在第五章中,除了对这个模型做个详细介绍之外,其实和我上一篇理解的交易模型差不多,一个交易包含输入与输出,比特币是 ...
- [Golang学习笔记] 02 命令源码文件
源码文件的三种类型: 命令源文件:可以直接运行的程序,可以不编译而使用命令“go run”启动.执行. 库源码文件 测试源码文件 面试题:命令源码文件的用途是什么,怎样编写它? 典型回答: 命令源码文 ...
- [原创]java WEB学习笔记02:javaWeb开发的目录结构
本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...
随机推荐
- vi/vim使用指北 ---- Learning the vi and Vim Editors 读书 笔记
vi/vim作为liux系统下最强大,最流行的文本编辑器之一.边看<Learning the vi and vim Editor>边学习vim,顺便做写简单的笔记,供以后查询. 没看这本书 ...
- 各大公司广泛使用的在线学习算法FTRL详解 - EE_NovRain
转载请注明本文链接:http://www.cnblogs.com/EE-NovRain/p/3810737.html 现在做在线学习和CTR常常会用到逻辑回归( Logistic Regression ...
- POJ 1507
#include<iostream> #include<stdio.h> using namespace std; #include<iomanip> double ...
- WPF、Windows Forms和Silverlight间的联系和区别(转)
WPF.Windows Forms和Silverlight间的联系和区别http://blog.csdn.net/bitfan/article/details/6128391 .NET Windows ...
- DMS平台从.NET 1.1升级到.NET 4.0的升级步骤
1)复制新增的项目到4.0平台解决方案对应目录,添加到到解决方案中:2)合并公共文件(比如修改了FormMain主界面.基础类库.售后界面的修改)3)控件的修订(Dev少数属性可能需要手工调整为新的方 ...
- volatile小记
1.要使volatile变量提供理想的线程安全,必须同时满足以下两个条件: 1).对变量的写操作不依赖于当前值: 2).该变量没有包含在具有其他变量的不变式中. 第一个条件的限制使volatile变量 ...
- No ResultSet was produced
遇到的详细问题: 出现了No ResultSet was produced的异常,但数据是成功插入, 大致判断异常发生在执行插入操作后,检查代码. 解决方案: 通常在executeQuery(sql) ...
- Android基础之Activity launchMode详解
本文来自http://blog.csdn.net/liuxian13183/ ,引用必须注明出处! Activity的lauchmode,是基础的属性,但也是App优化必须掌握的知识,它约束了Acti ...
- Help Jimmy--poj1661(dp)
题目链接:http://poj.org/problem?id=1661 下图是左边的,右边的同理: #include<stdio.h> #include<string.h> # ...
- 管理IPv4网络连接
1. 使用 nmcli 检查所有连接 [root@desktop1 ~]# nmcli connection NAME UUID TYPE DEVICE eno33554960 5be7dba9-6b ...