PHP实现一个简单的计算器(在html页面和php文件之间传值)
先一个小案例简单说明一下,从html页面提交的数据如何传给另一个php文件。
先是一个简单的html页面:
<html>
<body>
<form action="test1.php" method="post">
用户名:<input type="text" name="username">
密码: <input type="password" name="pwd">
<input type="submit" name="submit" value="ok">
</form>
</body>
</html>然后是php页面的接收数据。
echo"<hr>"; echo "通过预定义变量获取表单提交值<p>"; print_r($_POST); echo "<br/>"; echo "通过预定义变量获取表单提交指定值<p>"; echo $_POST["pwd"].=$_POST["username"];//用了 “.=”这个字符串追加的赋值运算符 */
通过这个小案例可以看出,表单将值以数组的形式传递过来,并且以name属性为下标,(所以没有name的项是获取不到值的),并且我们可以通过下标取到对应的值。
================================================================================================================================
下面是应用这个功能。做一个简单的计算器:
html页面:
<?php
if(isset($_GET["n"]))
{
$num1=$_GET["n1"];
$num2=$_GET["n2"];
$option=$_GET["op"];
$num=$_GET["n"];
}
?>
<html>
<head>
<script>
//加上验证后期各位自己完善吧
function check(){
var a=document.getElementById("op1").value;
if(isNaN(a))
{
return false;
}
}
</script>
</head>
<body>
<form action="JS.php" method="get">
第一个数:<input id="op1" name="op1" type="text" value="<?php
if(isset($_GET["op"])){echo $num1;}?>"/>
运算符: <select name="option">
<option value="0">请选择运算符:</option>
<option value="+" <?php
if(isset($_GET["op"]))
{
echo ($_GET["op"]==" "?"selected":"");
}
?>>+</option>
<option value="-" <?php
if(isset($_GET["op"]))
{
echo ($_GET["op"]=="-"?"selected":"");
}
?>>-</option>
<option value="*" <?php
if(isset($_GET["op"]))
{
echo ($_GET["op"]=="*"?"selected":"");
}
?>>*</option>
<option value="/" <?php
if(isset($_GET["op"]))
{
echo ($_GET["op"]=="/"?"selected":"");
}
?>>/</option>
</select>
第二个数:<input name="op2" type="text" value="<?php
if(isset($_GET["op"])){echo $num2;}?>"/>
<input name="btnok" type="submit" onclick="return check()" value="GET_ok"/>
<br/>
运算结果:<input type="text" <?php
if(isset($_GET["op"]))
{
if($_GET["op"]==" ")
{
echo "value=".$num1."+".$num2."=".$num;
}
else{
echo "value=".$num1.$option.$num2."=".$num;
}
}
?>>
</form>
</body>
</html>
在另一php页面实现计算功能:
<?php
// print_r($_GET);
// isset()检测变量是否被设置
if(isset($_GET["btnok"]))
{
$num1=$_GET["op1"];
$op=$_GET["option"];
$num2=$_GET["op2"];
switch ($op)
{
case "+" :
$num=$num1+$num2;
break;
case "-" :
$num=$num1-$num2;
break;
case "*" :
$num=$num1*$num2;
break;
case "/" :
$num=$num1/$num2;
break;
}
header("location:jisuanqi.php?n1={$num1}&n2={$num2}&op={$op}&n={$num}");
//header("location:重定向页面地址");重定向函数。
}
else{
echo"未提交运算数";
}
?>重定向函数模仿get传参的方式,再将计算结果返回页面中。
特殊说明:不知道为什么加号“+”会被解析为空格,试了很多次,只能无奈选择在加号的判断那里写成,判断符号是空格了/
声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。
