回显到php中的文本框

时间:2013-01-16 17:29:41

标签: php

我正在尝试做一些简单的事情来学习如何进行查询,然后将答案放入一个框中。我有一个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'文本框中。我得到的是屏幕清除,但没有形式,没有结果,即使我注释掉“连接到数据库”回声线并使用我知道的数据库中存在的东西。

如何将表单保留在屏幕上并回显到文本框?

谢谢你的期待。

3 个答案:

答案 0 :(得分:3)

您的表单是POST数据(method="post"),但您的PHP脚本正在查看$_GET aray。

您需要从$_POST获取数据。

$term = (int) $_POST['term'];

答案 1 :(得分:0)

以及上面的POST问题。如果您希望将表单保留在页面上而不重新加载页面,则需要查看AJAX

答案 2 :(得分:0)

您可以使用$ _REQUEST以避免这些混淆。无论您使用method =“post”还是method =“get”,您都可以通过此获取值。