使用isset在同一页面上显示结果的HTML表单

时间:2014-03-02 22:02:51

标签: php html

我希望将查询结果发布到输入数据的同一HTML页面上。我相信这可以使用isset()命令来完成,但我并不真正理解它的作用以及告诉我的页面转到一个新的php url给我的数据表。

<html>
<body>
<form action="results.php" method="post">
<table border="0">
<td align="center"><head>Orders</head>
</tr>
<tr>
<td>Enter order number:</td>
<td align="center"><input type="text" name="enter" size="3" maxlength="3"></td>
</tr>
<tr>
<td colspan="2" align="center"><input type="submit" value="Submit"></td>
</tr>
</table>
</form>
</body>
</html>

这是我目前的代码。是

<form action="results.php" method="post">

行告诉代码发布到新页面?

if(isset($_POST)) 

在我的html文件或results.php文件的代码中某处?

3 个答案:

答案 0 :(得分:1)

如果您的表单在index.php页面上,那么首先要做的是将action =“results.php”更改为action =“index.php”,这样您就不会重定向到result.php页面。你可以做这样的事情:

<html>
<body>
<?php
    if ($_SERVER['REQUEST_METHOD'] == 'POST') {
        echo "Order number - " . $_POST['enter'];
    }
?>
<form action="index.php" method="post">
<table border="0">
<td align="center"><head>Orders</head>
</tr>
<tr>
<td>Enter order number:</td>
<td align="center"><input type="text" name="enter" size="3" maxlength="3"></td>
</tr>
<tr>
<td colspan="2" align="center"><input type="submit" value="Submit"></td>
</tr>
</table>
</form>
</body>
</html>

如果您还想填写输入值的表单字段,请执行以下操作:

<html>
<body>
<?php
    if ($_SERVER['REQUEST_METHOD'] == 'POST') {
        echo "Order number - " . $_POST['enter'];
    }
?>
<form action="index.php" method="post">
<table border="0">
<td align="center"><head>Orders</head>
</tr>
<tr>
<td>Enter order number:</td>
<td align="center"><input type="text" name="enter" size="3" maxlength="3" value="<?php echo isset($_POST['enter'])?$_POST['enter']:'';?>"></td>
</tr>
<tr>
<td colspan="2" align="center"><input type="submit" value="Submit"></td>
</tr>
</table>
</form>
</body>
</html>

答案 1 :(得分:0)

如果您希望同一文件显示结果,

  1. 您必须将当前文件的.html重命名为.php
  2. 使用<form method="post" action="<?php echo $PHP_SELF;?>">代替<form action="results.php" method="post">
  3. 现在您在同一个文件中的某处添加if(isset($_POST))
  4. 您可以像往常一样将html代码添加到.php文件中,但不能将php代码添加到.html文件中

答案 2 :(得分:0)

你可以使用:

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

如果你想在“输入”字段没有空值时执行输出,那么你可以使用:

if(isset($_POST['enter']) && $_POST['enter']!="")

还将表单操作值保存到同一页面:

<form action="" method="post">

OR

<form action="<?php print($_SERVER['PHP_SELF']); ?>" method="post">