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


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

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我可以为您提供一个简单的登陆和注册页面HTML代码,并且使用PHP将用户信息存储到数据库中。以下是代码示例: ```html <!DOCTYPE html> <html> <head> <title>Login/Register Page</title> </head> <body> <h1>Login</h1> <form method="post" action="login.php"> <label for="username">Username:</label> <input type="text" id="username" name="username"><br><br> <label for="password">Password:</label> <input type="password" id="password" name="password"><br><br> <input type="submit" value="Login"> </form> <h1>Register</h1> <form method="post" action="register.php"> <label for="username">Username:</label> <input type="text" id="username" name="username"><br><br> <label for="password">Password:</label> <input type="password" id="password" name="password"><br><br> <input type="submit" value="Register"> </form> </body> </html> ``` 在这个示例中,我们有一个登陆和注册表单,每个表单都有一个用户名和密码输入框,以及一个提交按钮。当用户提交表单时,表单数据将被发送到相应的PHP文件进行处理。 以下是login.php的代码示例: ```php <?php //连接数据库 $conn = mysqli_connect("localhost", "root", "", "test_db"); //获取表单数据 $username = $_POST['username']; $password = $_POST['password']; //查询数据库中是否存在该用户 $query = "SELECT * FROM users WHERE username='$username' AND password='$password'"; $result = mysqli_query($conn, $query); //如果查询结果存在,则将用户重定向到欢迎页面,否则返回登陆页面 if(mysqli_num_rows($result) > 0) { header("Location: welcome.php"); } else { header("Location: login.html"); } ?> ``` 在这个示例中,我们首先连接到数据库,然后获取从登陆表单提交的用户名和密码。接下来,我们使用查询语句检查数据库中是否存在该用户。如果查询结果存在,则将用户重定向到欢迎页面,否则将用户重定向回登陆页面。 以下是register.php的代码示例: ```php <?php //连接数据库 $conn = mysqli_connect("localhost", "root", "", "test_db"); //获取表单数据 $username = $_POST['username']; $password = $_POST['password']; //向数据库中插入新用户 $query = "INSERT INTO users (username, password) VALUES ('$username', '$password')"; $result = mysqli_query($conn, $query); //如果插入成功,则将用户重定向到欢迎页面,否则返回注册页面 if($result) { header("Location: welcome.php"); } else { header("Location: register.html"); } ?> ``` 在这个示例中,我们首先连接到数据库,然后获取从注册表单提交的用户名和密码。接下来,我们使用INSERT语句将新用户插入到数据库中。如果插入成功,则将用户重定向到欢迎页面,否则将用户重定向回注册页面。 请注意,上述示例代码仅用于演示目的。在实际应用程序中,您需要对安全性和数据验证进行更多的考虑。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值