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)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...
随机推荐
- javascript实现KMP算法(没啥实用价值,只供学习)
简单粗暴上代码 KMP的原理我就不讲了,想转过弯儿来不容易,建议大家先学会了怎么推导出next数组规律,然后准备两张纸,大纸上写上一行你要匹配的目标字符串,并分别写出位置编号,小纸上写上一行,也写上位 ...
- HDU4945 2048(dp)
先是看错题意..然后知道题意之后写了发dp..无限TLE..实在是不知道怎么优化了,跑了遍数据是对的,就当作理论AC掉好了.. #pragma warning(disable:4996) #inclu ...
- AwSnap:让全版本(Windows、iOS、Android)Chrome浏览器崩溃的有趣漏洞
彩蛋爆料直击现场 几周前,我们曾报道了13个字符导致Chrome崩溃的漏洞.然而,这个漏洞有个小小的遗憾,那就是它只在MAC OS X下生效,其他系统并不受影响. 现在,我们又有了一个更有趣的漏洞.黑 ...
- 一个Form中2个按钮,PHP后台如何判断提交的是哪一个按钮
方法一: <div class="container theme-showcase" role="main"> <form class=&qu ...
- node中的模块
模块 编写稍大一点的程序时一般都会将代码模块化.在NodeJS中,一般将代码合理拆分到不同的JS文件中,每一个文件就是一个模块,而文件路径就是模块名. 在编写每个模块时,都有require.expor ...
- 批处理命令 - if
0.功能 Performs conditional processing in batch programs. 执行批处理程序中的条件处理. 1.简介 IF [NOT] ERRORLEVEL numb ...
- VS2010/MFC编程入门之二(利用MFC向导生成单文档应用程序框架)
VS2010/MFC编程入门之二(利用MFC向导生成单文档应用程序框架)-软件开发-鸡啄米 http://www.jizhuomi.com/software/141.html 上一讲中讲了VS20 ...
- Java:IO流与IO设备
打印流:PrintWriter和PrintStream 特点:可以直接操作输入流和文件 //例子1:使用PrintStream将格式化的日期打印到文件中 import java.io.*; impor ...
- Linux功能-环境变量
linux系统中有很多重要的环境变量,我们可以用env命令查看它们. 变量是由固定的“变量名”与用户或系统设置的“变量值”两部分组成,也可以自行修改. [root@localhost ~]# env ...
- linux c 生成uuid
/********方法一**********/#include <stdio.h> #include <stdlib.h> #include <string.h> ...