入门客AI创业平台(我带你入门,你带我飞行)
博文笔记

PHP实现一个简单的计算器(在html页面和php文件之间传值)

创建时间:2017-03-20 投稿人: 浏览次数:2370

先一个小案例简单说明一下,从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。