我发布了类似于此之前的内容,但我不认为我解释得太好所以我要包含一个更大的代码片段以突出我的麻烦。
我创建了一个用于访问数据库的下拉列表选项,我希望将选择发送到php页面并选择使用。
下拉列表访问数据库并根据需要提取不同的条目,但在选择一个并提交后,我无法确定如何在另一端收集变量。
出于本示例的目的,我将变量发送到传输页面,并让另一个PHP脚本收集变量并回显内容。
传送页面---------------
# parameters for connection to MySQL database
$hostname="";
$database="";
$ausername="";
$apassword="";
mysql_connect ("$hostname","$ausername","$apassword");
mysql_select_db ("$database");
$query = mysql_query("SELECT DISTINCT username FROM dbusers") or die(mysql_error());
?>
<div id="seelct_users" style="position:absolute;width:466px;height:108px;">
<form name="select_user" method="POST" action="./index.php" id="Form1">
<div id="select_a_user" style="position:absolute;left:0px;top:20px;width:100px;height:20px;z-index:11;text- align:left;">
<span style="color:#000000;font-family:Arial;font-size:15px;">Select User</span></div>
<select name="users" multiple size="1" id="users" style="position:absolute;left:93px;top:15px;width:200px;height:75px;z-index:12;">
<option value=""> Select a user</option>
<?php
while($row = mysql_fetch_assoc($query)){
$username = $row["username"];
?>
<option value= <?php $username ?> > <?php echo $username ?> </option>
<?php
}?>
</select>
<input type="submit" id="Button1" name="" value="Submit" style="position:absolute;left:93px;top:100px;width:96px;height:25px;z-index:13;">
</form>
</div>
在单独的脚本中的同一页面上有
<?php
$search =$_POST['username'];
echo $search;
?>
用于模拟接收变量以供使用的处理页面,但它无法接收任何内容。
我必须非常接近或完全咆哮错误的树,但我似乎无法找到它的作用的答案,任何人都可以解释我的错误。
由于
答案 0 :(得分:0)
您的元素名为users
,但您使用的是$_POST['username'];
。使用$_POST['users'];
此外,对于多选,您需要将其用作数组,这样您就可以读取多个值。
<select name="users[]" multiple>
这将确保您将其作为PHP中的数组。
虽然您的size="1"
使其有点无用...如果您想要选择多个条目,请移除size="1"
,如果您只想选择一个条目,请从您的multiple
中移除echo $_POST['users'];
选择。
当然,对于一个只能foreach ($_POST['users'] as $username) {
echo $username;
}
的数组,您需要遍历数组的所有值。
{{1}}