HTML表单与isset在同一页面上的结果[重复]
Posted
技术标签:
【中文标题】HTML表单与isset在同一页面上的结果[重复]【英文标题】:HTML form with results on same page with isset [duplicate] 【发布时间】:2014-04-03 18:11:40 【问题描述】:我希望将查询结果发布在输入数据的同一 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 文件中的代码中的某个位置?
【问题讨论】:
【参考方案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>
【讨论】:
【参考方案2】:你可以使用:
if(isset($_POST['enter']))
如果您想在“输入”字段没有空白值时执行输出,那么您可以使用:
if(isset($_POST['enter']) && $_POST['enter']!="")
还可以像这样将表单操作值保持在同一页面:
<form action="" method="post">
或
<form action="<?php print($_SERVER['PHP_SELF']); ?>" method="post">
【讨论】:
isset 代码去哪了? 标签之间的页面顶部【参考方案3】:如果你想让同一个文件显示结果,
-
你必须将当前文件的.html重命名为.php
使用
<form method="post" action="<?php echo $PHP_SELF;?>">
而不是<form action="results.php" method="post">
现在您在同一个文件的某处添加if(isset($_POST))
您可以像往常一样将 html 代码添加到 .php 文件中,但不能将 php 代码添加到 .html 文件中
【讨论】:
以上是关于HTML表单与isset在同一页面上的结果[重复]的主要内容,如果未能解决你的问题,请参考以下文章