0

在原始查询中未显示任何结果后,我有一个通过 php 显示的表单。表单显示正常,但提交时会转到 index.php 而不是使用$_SERVER['PHP_SELF'].

echo "<form method='post' action='". $_SERVER['PHP_SELF']."'>";
echo $error['find'];
echo "<p><label for='find'>Search for Your Favorite Location:</label><br />";
echo "<input type='text' id='find' name='find' value='".($_POST['find'] ? htmlentities($_POST['find']) : '')."' /></p>";
echo "<p><input type='submit' name='submitLocation' value='Submit' /></p></form>";
4

1 回答 1

0

action您可以通过留空来实现该结果。我稍微清理了一下代码,现在看起来像这样:

<?php
if (isset($_POST['submitLocation'])) 
{
 echo isset($_POST['find']) ? htmlentities($_POST['find']) : '';
}
?>

<html>
<body>
<form action="" method="post">
<p><label for='find'>Search for Your Favorite Location:</label><br/>
<input type='text' id='find' name='find' value='' /></p>
<input type='submit' name='submitLocation' value='Submit' />
</form>
</body>
</html>

它使用 PHP 的isset()函数检查表单是否已提交。如果是:那么它只是回显用户输入的字符串。

于 2013-06-26T18:13:02.207 回答