我正在尝试做一些简单的事情来学习如何进行查询,然后将答案放入一个框中。我有一个HTML文件,如下所示:
<html>
<head>
<title>Test</title>
</head>
<body>
<form action="results.php" method="post">Search: <input name="term" type="text" /><br />
<input name="submit" value="Submit" type="submit" />
<p>Answer: <input name="answer" type="text" /></p>
</form>
</body>
</html>
PHP代码是:
<?php
$hostname = 'host.com';
$username = 'ratetable';
$password = 'mypassword';
$term = (int) $_GET['term'];
try
{
$db = new PDO("mysql:host=$hostname;dbname=ratetable", $username, $password);
//echo 'Connected to database<br />';
foreach($db->query('SELECT * FROM rates WHERE mileage<= ' . $term . ' ORDER BY mileage DESC LIMIT 1') as $row) {
echo "<input type='text' name='answer' value='" . $row['ratepermile'] . "'>";
}
}
catch (PDOException $e) {
echo $e->getMessage();
throw($e);
}
?>
所以我试图将ratepermile(数据库中的一个字段)放入'answer'文本框中。我得到的是屏幕清除,但没有形式,没有结果,即使我注释掉“连接到数据库”回声线并使用我知道的数据库中存在的东西。
如何将表单保留在屏幕上并回显到文本框?
谢谢你的期待。
答案 0 :(得分:3)
您的表单是POST
数据(method="post"
),但您的PHP脚本正在查看$_GET
aray。
您需要从$_POST
获取数据。
$term = (int) $_POST['term'];
答案 1 :(得分:0)
以及上面的POST问题。如果您希望将表单保留在页面上而不重新加载页面,则需要查看AJAX。
答案 2 :(得分:0)
您可以使用$ _REQUEST以避免这些混淆。无论您使用method =“post”还是method =“get”,您都可以通过此获取值。