我在表单中使用此代码来创建下拉菜单。 (选项列表加载从我的SQL数据库更正)。一旦用户点击提交,我应该能够检索用$ _POST ['field']选择的值。
<form action="page2.php" method="post" name="form" id="form">
<?php
$query = sprintf("SELECT domaine FROM `domainema` WHERE userid='%s' ", $userid);
$result=mysql_query($query);
echo "<select name=domaine value=''>Domain </option>";
while($nt=mysql_fetch_array($result)){
echo "<option value=$nt[id]>$nt[domaine]</option>";
}
echo "</select>";
?>
...
在第二页上,我使用此代码:
$domaine = strip_tags(substr($_POST['domaine'],0,32));
echo "You selected $domaine";
但我没有得到任何空白的价值,我做错了什么?
谢谢!
答案 0 :(得分:1)
这一行可能不正确......
echo "<select name=domaine value=''>Domain </option>";
应该是
echo "<select name=domaine value=''>";
您还应注意,如果未选择任何选项,则您将无法获得值。为了确保您获得值,请默认选择其中一个(例如第一个),方法是添加selected="selected"
...
我还建议更清楚地引用数值。 为了完整起见......
<?php
$query = sprintf("SELECT domaine FROM `domainema` WHERE userid='%s' ", $userid);
$result=mysql_query($query);
echo '<select name="domaine" value="">';
$isfirst = true;
while ($nt=mysql_fetch_array($result)) {
echo '<option value="'.$nt[id].'"';
if ($isfirst)
echo ' selected="selected"';
echo '>'.$nt[domaine].'</option>';
$isfirst = false;
}
echo '</select>';
?>
答案 1 :(得分:1)
在您的查询中,您没有选择ID,只选择域。改变它是这样的:
<form action="page2.php" method="post" name="form" id="form">
<?php
$query = sprintf("SELECT id, domaine FROM `domainema` WHERE userid='%s' ", $userid);
$result=mysql_query($query);
echo '<select name="domaine">';
while($nt=mysql_fetch_array($result)){
echo '<option value="$nt[id]">$nt[domaine]</option>';
}
echo "</select>";
?>