PHP写的在线计算器,欢迎指正
16lz
2021-01-22
初学PHP语言,晚上花时间写了个在线计算器,只是加减乘除四则运算,自认为写的一般般。至于代码规范我也不懂,按照心情排版的,欢迎各位客官指正错误,多提意见。另外:如果实现点击提交按钮后,输入框仍然保留原来输入的数据?例如:输入“3+5”提交后,输入框里的东西就会清空,如何保留这些数据?
----------------------------------------------代码----------------------------------------------------
<head>
<title>计算器</title>
<metahttp-equiv="Content-Type"content="text/html;charset=utf-8">
</head>
<body>
<tablealign="center"border=1width=500>
<h2align="center">计算器</h2>
<formaction="jisuanqi.php"mothed="GET">
<tr>
<td>
<inputtype="text"name="num1"/>
</td>
<td>
<selectname="ysf">
<optionvalue="+">+</option>
<optionvalue="-">-</option>
<optionvalue="×">×</option>
<optionvalue="÷">÷</option>
</select>
</td>
<td>
<inputtype="text"name="num2"/>
</td>
<td>
<inputtype="submit"name="sub"value="提交"/>
</td>
</tr>
</form>
</table>
</body>
<?php
if(isset($_GET["sub"])){
$num1=$_GET["num1"];//被除数
$num2=$_GET["num2"];//除数
$ysf=$_GET["ysf"];//运算符
$error="";//错误信息
//检查各个参数是否正确
if($num1==""||$num2==""){
$error="缺失参数!";
}elseif(!is_numeric($num1)||!is_numeric($num2)){
$error="参数错误!";
}else{
//选择不同的运算操作
switch($ysf){
case"+":
$result=$num1+$num2;
break;
case"-":
$result=$num1-$num2;
break;
case"×":
$result=$num1*$num2;
break;
case"÷":
if($num2=="0")
$error="零不能作为除数";
else
$result=$num1/$num2;
break;
}
}
//输出结果
echo"<tablealign='center'border=1width=500><tr><td>";
if($error<>"")
echo$error;
else
echo"结果:".$num1.$ysf.$num2."=".$result;
echo"</td></tr></table>";
}
?>
</html>[/code]
//其实就你这功能不需要php,用js就可以
----------------------------------------------代码----------------------------------------------------
<head>
<title>计算器</title>
<metahttp-equiv="Content-Type"content="text/html;charset=utf-8">
</head>
<body>
<tablealign="center"border=1width=500>
<h2align="center">计算器</h2>
<formaction="jisuanqi.php"mothed="GET">
<tr>
<td>
<inputtype="text"name="num1"/>
</td>
<td>
<selectname="ysf">
<optionvalue="+">+</option>
<optionvalue="-">-</option>
<optionvalue="×">×</option>
<optionvalue="÷">÷</option>
</select>
</td>
<td>
<inputtype="text"name="num2"/>
</td>
<td>
<inputtype="submit"name="sub"value="提交"/>
</td>
</tr>
</form>
</table>
</body>
<?php
if(isset($_GET["sub"])){
$num1=$_GET["num1"];//被除数
$num2=$_GET["num2"];//除数
$ysf=$_GET["ysf"];//运算符
$error="";//错误信息
//检查各个参数是否正确
if($num1==""||$num2==""){
$error="缺失参数!";
}elseif(!is_numeric($num1)||!is_numeric($num2)){
$error="参数错误!";
}else{
//选择不同的运算操作
switch($ysf){
case"+":
$result=$num1+$num2;
break;
case"-":
$result=$num1-$num2;
break;
case"×":
$result=$num1*$num2;
break;
case"÷":
if($num2=="0")
$error="零不能作为除数";
else
$result=$num1/$num2;
break;
}
}
//输出结果
echo"<tablealign='center'border=1width=500><tr><td>";
if($error<>"")
echo$error;
else
echo"结果:".$num1.$ysf.$num2."=".$result;
echo"</td></tr></table>";
}
?>
</html>[/code]
15 个解决方案
#1
<inputtype="text"name="num1"value="<?phpechoisset($_GET["num1"])&&!empty($_GET["num1"])?$_GET["num1"]:'';"/>
<optionvalue="+"<?phpif(isset($_GET["ysf"])&&$_GET["ysf"]=='+'){echo'selected="selected"';}?>>+</option>
//其他-*/都要加上
<inputtype="text"name="num2"value='<?phpechoisset($_GET["num2"])&&!empty($_GET["num2"])?$_GET["num2"]:'';?>'/>
//其实就你这功能不需要php,用js就可以
更多相关文章
- 如何在不更改其键值的情况下删除数组的第一个元素?
- myisam 表中, 删除数据后运行 OPTIMIZE TABLE 锁表问题
- 从另一个数组中删除数组的内容。
- 为什么我不能删除数组的元素?
- 将(重度公式加载的)Excel电子表格转换为用户友好的网络计算器
- [Python设计模式] 第1章 计算器——简单工厂模式
- SQL Server2008清除数据库日志
- oracle数据库中sql语言创建表,更新,删除数据
- java实现能计算10道基本运算的计算器