2010-10-05 25 views
0

我在表单中使用此代码创建一个下拉菜单。 (选项列表加载从我的sql数据库中更正)。一旦用户点击提交,我应该能够检索用$ _POST ['field']选择的值。如何使用PHP中的方法POST检索选择值?

<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

基本调试优先:“ Zenet 2010-10-05 12:58:50

+0

更改为:echo''; – CristiC 2010-10-05 13:11:17

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>'; 
?> 
+0

我用你建议的Rikh代码提取,但我仍然在最后得到相同的空白输出。这是我得到的HTML代码: Zenet 2010-10-05 12:54:18

+0

你错了。即使没有“selected = selected”,如果您在HTML中有任何选项,它仍然会有一个值。 – methodin 2010-10-05 12:55:34

+0

默认情况下,除非您为特定选项指定selected =“selected”,否则将选择第一个选项。 – CristiC 2010-10-05 12:58:24