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

7 篇文章 0 订阅

先一个小案例简单说明一下,从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" οnclick="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传参的方式,再将计算结果返回页面中。


特殊说明:不知道为什么加号“+”会被解析为空格,试了很多次,只能无奈选择在加号的判断那里写成,判断符号是空格了/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值