<!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——简易计算器的更多相关文章

  1. 软件测试之loadrunner学习笔记-02集合点

    loadrunner学习笔记-02集合点 集合点函数可以帮助我们生成有效可控的并发操作.虽然在Controller中多用户负载的Vuser是一起开始运行脚本的,但是由于计算机的串行处理机制,脚本的运行 ...

  2. 机器学习实战(Machine Learning in Action)学习笔记————02.k-邻近算法(KNN)

    机器学习实战(Machine Learning in Action)学习笔记————02.k-邻近算法(KNN) 关键字:邻近算法(kNN: k Nearest Neighbors).python.源 ...

  3. OpenCV 学习笔记 02 使用opencv处理图像

    1 不同色彩空间的转换 opencv 中有数百种关于不同色彩空间的转换方法,但常用的有三种色彩空间:灰度.BRG.HSV(Hue-Saturation-Value) 灰度 - 灰度色彩空间是通过去除彩 ...

  4. SaToken学习笔记-02

    SaToken学习笔记-02 如果排版有问题,请点击:传送门 常用的登录有关的方法 - StpUtil.logout() 作用为:当前会话注销登录 调用此方法,其实做了哪些操作呢,我们来一起看一下源码 ...

  5. Redis:学习笔记-02

    Redis:学习笔记-02 该部分内容,参考了 bilibili 上讲解 Redis 中,观看数最多的课程 Redis最新超详细版教程通俗易懂,来自 UP主 遇见狂神说 4. 事物 Redis 事务本 ...

  6. OGG学习笔记02

    实验环境:源端:192.168.1.30,Oracle 10.2.0.5 单实例目标端:192.168.1.31,Oracle 10.2.0.5 单实例 1.模拟源数据库业务持续运行 2.配置OGG前 ...

  7. 《Master Bitcoin》学习笔记02——比特币的交易模型

    比特币的交易模型 模型基本描述 前面一篇学习笔记01提到了一个交易模型(第三章的内容),在第五章中,除了对这个模型做个详细介绍之外,其实和我上一篇理解的交易模型差不多,一个交易包含输入与输出,比特币是 ...

  8. [Golang学习笔记] 02 命令源码文件

    源码文件的三种类型: 命令源文件:可以直接运行的程序,可以不编译而使用命令“go run”启动.执行. 库源码文件 测试源码文件 面试题:命令源码文件的用途是什么,怎样编写它? 典型回答: 命令源码文 ...

  9. [原创]java WEB学习笔记02:javaWeb开发的目录结构

    本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...

随机推荐

  1. iOS-JS交互 (WebViewJavascriptBridge)

    , , , );     messageButton.titleLabel.font = font;     messageButton.backgroundColor = [UIColor colo ...

  2. Android Handler的使用

    大家好我们这一节讲的是Android Handler的使用,在讲Handler之前,我们先提个小问题,就是如何让程序5秒钟更新一下Title. 首先我们看一下习惯了Java编程的人,在不知道Handl ...

  3. C# 和Jsonp的一个小demo 用jQuery与JSONP轻松解决跨域访问的问题

    客服端:      在A项目下面 建立一个 JsonpClient.aspx页面,代码如下: <%@ Page Language="C#" AutoEventWireup=& ...

  4. 二、Android NDK编程预备之Java jni入门Hello World

    转自:  http://www.eoeandroid.com/forum.php?mod=viewthread&tid=264543&fromuid=588695 昨天已经简要介绍了J ...

  5. 做个简单的Android列表字母索引控件

    相信大家在许多App中都见到过带字母索引的界面,比如我最近看到的这个开源控件: WaveSideBar 很酷是不是?!!!如果加在例如联系人列表界面上,大大提升了用户体验. 那么这个索引控件要怎么做呢 ...

  6. Ubuntu LAMP搭建

    为了数据库课程设计,只好自己搭一个数据库系统,采用LAMP方式. 一.安装 1.安装Apache sudo apt-get install apache2 Apache在安装期间会新建一个目录:/va ...

  7. 280. Wiggle Sort

    题目: Given an unsorted array nums, reorder it in-place such that nums[0] <= nums[1] >= nums[2] ...

  8. 使AJAX调用尽可能利用缓存特性

    优化网站设计(十四):使AJAX调用尽可能利用缓存特性 前言 网站设计的优化是一个很大的话题,有一些通用的原则,也有针对不同开发平台的一些建议.这方面的研究一直没有停止过,我在不同的场合也分享过这样的 ...

  9. Spring boot 整合jsp和tiles模板

    首先贴上我的pox.xml文件,有详细的支持注释说明 <?xml version="1.0" encoding="UTF-8"?> <proj ...

  10. php数据库操作常用相关函数

    MySQL访问函数都需要有相应的权限才能运行.常用的相关函数介绍如下: (1)integer mysql_connect(主机,用户名,口令); 此函数开始一个对指定主机上的MySQL数据库的连接.若 ...