php简易计算器
php循环结构
案例:php简易计算器

步骤:
1.先绘制这个表格
2.根据表单提交的sub属性判断一下,是否点击计算了
(GET方式提交的数据,通过地址栏传递的)
3.计算,并将结果输入到第二行
问题:当点击计算后,之前输入数字及运算符消失,因为点击计算后提交到当前页面,等于刷新
当点击之后,运算符默认又恢复到+
解决:通过selected属性控制下拉列表是否被选中
单路分支,可以不写{}
4.完善
如果用户输入是字符串或者是空值,提示不能为空或者不能为字符串
通过地址栏上有没有 sub=计算 这个参数来判断用户有没有点击计算
<html>
<head>
<meta charset="utf-8"/>
</head>
<?php
$result='';
$message='';
$num1=true;
$num2=true;
$numa=true;
$numb=true; if($_GET['sub']=='计算'){
//用户点击了计算按钮
if($_GET['num1']==''){
$num1=false;
$message.='第一个不能为空<br/>';
//return false; //停止代码继续执行
}
if($_GET['num2']==''){
$num2=false;
$message.='第二个不能为空<br/>';
//return false; //停止代码继续执行
}
if(!is_numeric($_GET['num1'])){
$numa=false;
$message.='第一个数字必须为数值<br/>';
}
if(!is_numeric($_GET['num2'])){
$numb=false;
$message.='第二个数字必须为数值<br/>';
}
if($num1&&$num2&&$numa&&$numb){
switch($_GET['ysf']){
case '+':
$result=$_GET['num1']+$_GET['num2'];
break; case '-':
$result=$_GET['num1']-$_GET['num2'];
break; case '*':
$result=$_GET['num1']*$_GET['num2'];
break; case '/':
$result=$_GET['num1']/$_GET['num2'];
break; case '%':
$result=$_GET['num1']%$_GET['num2'];
break;
}
} echo $result;
}
?>
<body>
<table align="center" cellspacing='4px' cellpadding='0'>
<caption><h2>php的简易计算器</h2></caption>
<form action='jsq.php' method='GET' >
<tr>
<td><input type="text" name='num1' value="<?php echo $_GET['num1']?>"/></td>
<td>
<select name='ysf'>
<option <?php if($_GET['ysf']=='+')echo 'selected';?>>+</option>
<option <?php if($_GET['ysf']=='-'){echo 'selected';}?>>-</option>
<option <?php if($_GET['ysf']=='*'){echo 'selected';}?>>*</option>
<option <?php if($_GET['ysf']=='/'){echo 'selected';}?>>/</option>
<option <?php if($_GET['ysf']=='%'){echo 'selected';}?>>%</option>
</select>
</td>
<td><input type="text" name='num2' value="<?php echo $_GET['num2']?>"/></td>
<td><input type="submit" name="sub" value="计算"/></td>
</tr>
<tr>
<td colspan='4'>
<?php
if($num1&&$num2&&$numa&&$numb){
echo "运算结果是:".$_GET['num1'].$_GET['ysf'].$_GET['num2']."=".$result;
}else{
echo $message;
} ?>
</td>
</tr>
</form>
</table>
</body>
</html>
php简易计算器的更多相关文章
- 自制c#简易计算器
这是一个课堂作业,我觉得作为一个简易的计算器不需要态度复杂的东西,可能还有一些bug,有空再慢慢加强. using System;using System.Collections.Generic;us ...
- 剖析简易计算器带你入门微信小程序开发
写在前面,但是重点在后面 这是教程,也不是教程. 可以先看Demo的操作动图,看看是个什么玩意儿,GitHub地址(https://github.com/dunizb/wxapp-sCalc) 自从微 ...
- PHP学习笔记02——简易计算器
<!DOCTYPE html> <html> <head> <title>PHP简易计算器</title> </head> &l ...
- JavaScript之简易计算器
<head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8&quo ...
- 菜鸟学习Struts——简易计算器
这是学习Struts的一个简单的例子文件结构如下: 1.配置Struts环境 2.新建input.jsp,success.jsp,error.jsp input.jsp代码如下: <%@ pag ...
- Python之实现一个简易计算器
自己动手写计算器 一.功能分析 用户输入一个类似这样 3*( 4+ 50 )-(( 100 + 40 )*5/2- 3*2* 2/4+9)*((( 3 + 4)-4)-4) 这样的表达式,假设表达式里 ...
- 使用HTML+CSS,jQuery编写的简易计算器
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding= ...
- 使用HTML+CSS,jQuery编写的简易计算器后续(添加了键盘监听)
之前发布了一款简易的计算器,今天做了一下修改,添加了键盘监听事件,不用再用鼠标点点点啦 JS代码: var yunSuan = 0;// 运算符号,0-无运算;1-加法;2-减法;3-乘法;4-除法 ...
- C#Windows Form简易计算器实现(中)
昨天花了一天的时间弄计算器.也算是做出来了,还是简易的(怀疑猿生!!).在此先感谢昨天被我骚扰的朋友. 先贴一张界面看看 其实健壮性还是挺差的,用户体验也是极差的.比如说用户输入了不合理运算式子,我就 ...
- C#Windows Form简易计算器实现(上)
第一次写博客,来分享一个简易计算器的代码.作为一名准程序员,就是要多写代码才能孰能生巧.重视基础知识才能飞的更快更高以及更稳. 代码可能会写的很糟糕,不完美不安全之处希望发现的越多越好 c#编写计算器 ...
随机推荐
- 高数(A)下 第十二章
12.1 12.2 12.3 12.4 12.5 12.6 自测题
- sqlalchemy多表联合查询的左连接、右连接等使用
#按用户名摸糊查询trans_details.query.join(Uses).filter(Users.username.like('%xx%'))#select xxx from trans_de ...
- js程序基础字符串具体
1. .charAt()里面写数字 在一般浏览器上相当于方括号 可是由于IE6的存在他就有了用处 由于IE6不兼容方括号 2. charCodeAt() 和charAt几乎相 ...
- eclipse中j2ee(struts2)部署及相关问题释疑
1.eclipse中进行web项目开发时.部署的时候和利用myeclipse部署时有非常大不同,由于在myeclipse的工具栏中有一个部署button.而且在myeclipse的preference ...
- Nginx + FastCgi + Spawn-fcgi + C 架构的server环境搭建
1.Nginx 1.1.安装 Nginx 的中文维基 http://wiki.codemongers.com/NginxChs 下载 Nginx 0.6.26(开发版)(请下载最新版本号) tar z ...
- 三星手机root后开启调试模式
背景说明:三星手机高版本的手机进行root后也无法安装xposed,无法开启debuggable,使用androistdio无法进行调试. 1 .连接ddms无法显示正在运行的进程. 2.安装mpro ...
- iPhone微信防止撤销插件开发
导语: 随着移动时代的发展以及微信的普及流行,越来越多的用户使用微信发送消息,但经常出现撤销消息的情况.因此需要一款微信防止消息撤回插件,微信用户可以防止对方撤回消息,看到对方发出的任何消息,妈妈再也 ...
- 【bzoj4412】[Usaco2016 Feb]Circular Barn
先看成一条链 for一遍找位置 在for一遍算答案 #include<algorithm> #include<iostream> #include<cstring> ...
- 简易 DBUtil 封装
Dao包结构图: 1.首先连接数据库 package com.util.db; import java.sql.Connection; import java.sql.DriverManager; i ...
- beego4---web项目结构
app.conf appname = blog1 httpport = runmode = dev controllersmy package controllersmy //跟外面的包名一致 imp ...