1
<?php
mysql_connect("host", "user", "pw") or die(mysql_error());
mysql_select_db("db") or die(mysql_error());



$sql = "SELECT machine_id FROM machines";
$result = mysql_query($sql);

echo "<form action='results_send.php' method='post' >";
echo "<select name='machine_id'>";
while ($row = mysql_fetch_array($result)) {
    echo "<option value='" . $row['machine_id'] . "'>" . $row['machine_id'] . "</option>";
}
echo "</select></form>";
echo '<input type="submit" value="Submit">';



$machine = $_POST['machine_id'];

var_dump($machine);

?>

返回:

<form action='results_send.php' method='post' ><select name='machine_id'><option value='2011 Honda'>2011 Honda</option><option value='1999 Toyota'>1999 Toyota</option><option value='1999 Honda'>1999 Honda</option><option value='1999 Honda'>1999 Honda</option><option value='2013 Toyota'>2013 Toyota</option><option value='2012 Ford'>2012 Ford</option><option value='2012 Ford'>2012 Ford</option><option value='2012 Ford'>2012 Ford</option><option value='2012 Ford'>2012 Ford</option></select></form><input type="submit" value="Submit">NULL

所有这些都在同一个文档中:results_send.php

我只尝试了几天的 php/mysql —— 非常感谢耐心。

4

2 回答 2

0

我不知道您希望 $_POST 如何返回任何值,甚至不希望我们了解您的问题,而您却没有解释如何提交表单。

您必须为您的案例使用两种解决方案之一:

  • 使用 AJAX

  • 将两个不同的表单与具有不同名称的提交按钮一起使用。然后使用 isset($_POST['name_of_button']) 检查发布时提交的表单。

谢谢

于 2013-02-12T00:36:10.567 回答
0

您有语法错误,您缺少value属性的开头引号:

改成:

echo "<option value=\"";

或者

echo '<option value="';

您还缺少一个结束</form>标签。如果您正在 ajaxing 此脚本并将内容插入到有其他表单的页面中,那么缺少表单标记可能是一个问题。

htmlspecialchars()当您将数据输出到 HTML 时,还值得传递任何数据,以防止数据可能包含引号的 XSS 和语法错误。

于 2013-02-11T18:53:15.083 回答