Php表单在填写时不会发布结果

时间:2012-11-08 18:06:25

标签: php html if-statement refresh calculator

首先,我不是编程方面的专家,所以如果可以,请解释一下,我可以更好地理解它们。我正在尝试制作一个计算器,其中包含一些用户可以填写的字段,并显示最后的输出。基本上这个:

可变框 “开始”按钮 按下Go后,结果显示在此处。

用户可以更改框并再次单击go以使用新结果刷新。

如果可能的话,我不想使用Java。请帮我解决HTML / PHP解决方案。

我有这个页面nammed“isset.php”

<?php 
session_start(); 
error_reporting(E_ALL);
ini_set('display_errors', '1');?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
</head>
<body>

<?php
     if(isset($_POST['submit']))
        {
        $a = $_POST['a'];
        $b = $_POST['b']; 
        $sf = $a-(2*$b);
        echo "<br><br>Safety Factor is ";
        echo $sf;
        } 
     else {
        echo "Your results will display here after you use the calculator.";
          }
 ?>

 <br>Calculator
 <form name="submit" method="post" action="isset.php">
 <table width="450px">
     <td valign="center">
     <label for="a">a</label></td>
        <td valign="center">
        <input type="text" name="a" value="45"></td></tr>
     <td valign="center">
     <label for="b">b</label></td>
        <td valign="center">
        <input type="text" name="b" value="16"></td></tr>         
 <tr><td colspan="2" style="text-align:center">
 <input type="submit" value="Calculate!">
 </td></tr></table>
 </form>        

</body>
</html>

2 个答案:

答案 0 :(得分:2)

<input type="submit" value="Calculate!">更改为<input name="submit" type="submit" value="Calculate!">

您的代码无效的原因是因为您正在检查帖子数据是否包含密钥submit但您尚未在表单中定义(通过添加{{1}来执行此操作属性)。

答案 1 :(得分:1)

如果您只是更改此行:

if(isset($_POST['submit']))

为:

if(isset($_POST['a']))

那应该看对你了。

基本上您正在寻找一个名为“提交”的值,但实际上并没有一个名为“提交”的字段。相反,您可以检查您所拥有的其中一个字段,“a”或“b”。