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。