<?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几天 - 耐心受到赞赏。
答案 0 :(得分:0)
您遇到语法错误,错过了value
属性的开头报价:
更改为:
echo "<option value=\"";
或者
echo '<option value="';
您还缺少结束</form>
标记。如果您正在使用此脚本并将内容插入到有其他表单的页面中,那么缺少的表单标记可能会成为问题。
当您将数据输出到HTML时,还需要通过htmlspecialchars()
传递任何数据,以防止数据可能包含引号的XSS和语法错误。
答案 1 :(得分:0)
我不知道你希望$ _POST如何回复任何价值,甚至不希望我们在你不解释你如何提交表格时理解你的问题。
你必须使用2种解决方案中的一种:
使用AJAX
使用具有不同名称的提交按钮的两种不同表单。然后使用isset($ _ POST ['name_of_button'])来检查发布时提交的表单。
由于