У меня есть html-форма и я получаю имена пользователей из базы данных в середине этой формы с помощью php, я хочу отправить значение параметра select, когда пользователь нажимает кнопку.
Файл1:
<link href="users_forms.css" rel="stylesheet" type="text/css" />
<div id="rightcolumn">
<form method="post" action="user_remqry.php">
<br />
<legend> Remove Users </legend>
<fieldset>
<br /><?php
include'connect.php';
$q=mysqli_query($con, "SELECT username FROM users_allow");
echo "<select name=uname_selected'' ><option value=0>Select a username</option>";
WHILE($row=mysqli_fetch_array($q))
{
echo "<option name='uname_remove' value=$row[username]>".$row[username]."</option>";
}
echo "</select>";
?><br /> <br /> <br /> <input type="submit" value="Delete User" />
</fieldset>
</form>
</div>
<?php
$uname = $_POST["uname_selected"];
echo 'I am going to remove = '.$uname;
?>
Я просто хочу передать значение выбранного элемента в списке выбора.
несколько вещей, которые будут изменены в вашем коде
include 'connect.php'; //please add space
$q=mysqli_query($con, "SELECT username FROM users_allow");
echo "<select name='uname_selected'>"; //note the position of single quote
echo "<option value='0'>Select a username</option>";
while($row=mysqli_fetch_array($q)){
echo "<option value='".$row['username']."'>".$row['username']."</option>";
} //don't have to put name attribute at the option. Put quotes around $row['username']. Note the single quote surrounding the username
echo "</select>";
как упоминал Джеродев, не нужно указывать название для варианта. На следующей странице просто нужно назвать имя выбранного. В твоем случае $_POST['uname_selected']
Других решений пока нет …