我知道有很多像这样的问题,但没有(我已经找到了,我看了很多,但如果我错了,请纠正我)解决了我的问题。
正如问题标题所示,我需要将选择选项发布到另一个页面。我的代码看起来像这样:
<form id="join_pool_form" name="join_pool_form" action="connect.php" method="post">
<select name="pool_name" style="width:170px">
<?php
//The options are from an array. This works fine.
foreach($poolnames as $value):
echo '<option value="">'.$value.'</option>';
endforeach;
unset($value);
?>
</select>
<input name="passcode" type="password" autofocus required id="passcode" size="35"style="width:170px">
<input type="submit" id="submit" value="Join Pool">
</form>
connect.php(表单的操作)页面具有以下内容:
<?php
if (isset($_POST['pool_name'])) {
echo "do this";
}else {
echo "do other";
}
所以结果应该是“做这个”,但我总是“做其他的”。 我对此非常陌生,请原谅我解决方案非常简单。但是,我已多次查看它无济于事。
提前致谢。
感谢大家的帮助。问题解决了。
答案 0 :(得分:3)
你只需要传递选项的html属性中的值:
<select name="pool_name" style="width:170px">
<?php
//The options are from an array. This works fine.
foreach($poolnames as $value):
echo '<option value="'.$value.'">'.$value.'</option>';
endforeach;
unset($value);
?>
</select>
答案 1 :(得分:2)
<?php
if (isset($_POST['pool_name'])) {
$variable = $_POST['pool_name'];
}else {
$variable = 'Unknown';
}
答案 2 :(得分:1)
必须将select选项的值设置为您要发送的值。如果你没有设置它,它将不发送任何内容。
<option value='test'>Dont choose this</option>
以上将发送价值测试。
答案 3 :(得分:1)
替换
echo '<option value="">'.$value.'</option>';
与
echo '<option value="'.$value.'">'.$value.'</option>';