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)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...
随机推荐
- 将HTMLCollection/NodeList/伪数组转换成数组
这里把符合以下条件的对象称为伪数组(ArrayLike) 1,具有length属性 2,按索引方式存储数据 3,不具有数组的push,pop等方法 如 1,function内的arguments . ...
- POJ 2004 Mix and Build (预处理+dfs)
题意: 给N个字符串,要求出一个序列,在该序列中,后一个串,是由前一个串加一个字母后得来的(顺序可以改动). 问最多能组成多长的序列.思路:将给的字符串排序,再对所有的字符串按长度从小到大排序,若长度 ...
- 【leetcode】Contains Duplicate & Rectangle Area(easy)
Contains Duplicate Given an array of integers, find if the array contains any duplicates. Your funct ...
- iOS工程预编译文件的创建
在搜索 添加工程名/自己的pch文件名记住加后缀
- EF框架批量更新
var customers = db.Customers.Where(c => c.name=='小明'); foreach (var customer in customers) { cust ...
- TCP/IP协议 三次握手与四次挥手【转】
一.TCP报文格式 TCP/IP协议的详细信息参看<TCP/IP协议详解>三卷本.下面是TCP报文格式图: 图1 TCP报文格式 上图中有几个字段需要重点介绍下: (1)序号 ...
- lintcode:买卖股票的最佳时机 IV
买卖股票的最佳时机 IV 假设你有一个数组,它的第i个元素是一支给定的股票在第i天的价格. 设计一个算法来找到最大的利润.你最多可以完成 k 笔交易. 注意事项 你不可以同时参与多笔交易(你必须在再次 ...
- Path Sum的变体
早上看到一个面经题跟Path Sum很像, 给一个TreeNode root和一个target,找到一条从根节点到leaf的路径,其中每个节点和等于target. 与Path Sum不同是, Path ...
- Java SpringMVC实现国际化整合案例分析(i18n)
所谓国际化就是支持多种语言,web应用在不同的浏览环境中可以显示出不同的语言,比如说汉语.英语等.下面我将以具体的实例来举例说明: (1)新建动态Javaweb项目,并导入几个SpringMVC必需的 ...
- Java 类加载器(转)
java虚拟机中可以安装多个类加载,系统默认三个主要类加载器,每个类负责加载特定位置的类:BootStrap(内嵌在java虚拟机中由C++编写),ExtClassLoader,AppClassLoa ...