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

来源:互联网 发布:head first java 微盘 编辑:程序博客网 时间:2024/05/07 03:37

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

<?phpif(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传参的方式,再将计算结果返回页面中。


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

1 0