我希望echo
选择父值。但我得到error- Notice
:Undefined index
:
那么echo
如何选择父母价值呢?我做错了什么?
$q = mysql_query("SELECT * FROM menu");
echo '<form action="" method="post">
Menu name:<input type="text" name="mname"><br>
<select>';
while ($row = mysql_fetch_array($q)) {
$menu_name = $row['menu_name'];
echo '<option value="'.$menu_name.'">'.$menu_name.'</option>';
}
echo '</select><br>
<input type="submit" name="submit" value="Add Menu">
</form>';
if (isset($_POST['submit'])) {
echo $mname = $_POST['mname'];
echo $parent = $_POST[$menu_name];
}
答案 0 :(得分:1)
在选择框中添加名称,并按名称获取选择框的值。 更新的代码: -
$q = mysql_query("SELECT * FROM menu");
echo '<form action="" method="post">
Menu name:<input type="text" name="mname"><br>
<select name="menu_name">';
while ($row = mysql_fetch_array($q)) {
$menu_name = $row['menu_name'];
echo '<option value="'.$menu_name.'">'.$menu_name.'</option>';
}
echo '</select><br>
<input type="submit" name="submit" value="Add Menu">
</form>';
if (isset($_POST['submit'])) {
echo $mname = $_POST['mname'];
echo $parent = $_POST['menu_name'];
}
答案 1 :(得分:0)
$_POST[$menu_name]
可能不存在,因为表单中只有两个元素具有name
属性。文字input
和提交input
。
option
元素不会作为表单的一部分发布,而是option
元素的所选select
的值。但是,您的select
元素没有name
,因此无法在键/值对中使用密钥,因此不会发布。
为元素添加name
:
<select name="someName">
然后在POST中,您可以像获取任何其他表单元素一样获取所选值:
$_POST['someName']
答案 2 :(得分:0)
您需要添加name属性以选择标记。
for
注意:mysql_ *函数被删除,使用mysqli_ * functions