我正在使用 Google API 创建一个货币计算器,但似乎没有设置从下拉框中选择的变量。
我创建了一个数组来保存 3 种货币:
<?php
$options = array(
'usd' => 'USD',
'eur' => 'EUR',
'gbp' => 'GBP'
);
?>
用户选择显示在表单中的上述值之一。
<form action="" method="post ">
<p>
Amount:<br />
<input type="text" name="amount" />
</p>
<p>
From:<br />
<input type="text" name="from" />
</p>
<p>
To:<br />
<select name="position">
<?php foreach ($options as $value => $text): ?>
<option value="<?php echo $value ?>"
<?php echo ($v['position'] == $value) ? 'selected="selected"' : '' ?> >
<?php echo $text ?>
</option>
<?php endforeach; ?>
</select>
</p>
<p>
<input type="submit" name="submit" />
</p>
</form>
以下函数用于确定变量是否已设置,我回显结果以确保我的发现。
if (isset($_POST['amount'], $_POST['from'], $_POST[$value])) {
$amount = (int) $_POST['amount'];
$from = $_POST['from'];
$value = $_POST['value'];
echo $amount;
echo $from;
echo $value;
// echo $text;
// echo $selected;
// echo $options;
// echo $v;
exit();
我可以成功地回显出 $amount
和 $from
变量,但不明白为什么我可以从中获取 $value
变量下拉框。
我已经尝试回显所有变量但无济于事,这让我相信问题出在我在表单本身中的编码上。
想到什么明显的问题?
提前致谢。
最佳答案
$v
在哪里定义的?另外,我不明白你为什么要检查 $_POST[$value]
是否存在然后设置 $value = $_POST['value']
... $value
在改变之前是什么?哪个元素的名称为 value
?你不应该只是捕获 $_POST['position']
吗?
$_POST['position']
是一个变量,它将始终包含选择菜单的哪个值被选中,但我没有看到您实际在任何地方使用它。
关于php - 未使用 PHP 在下拉列表中设置变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9180889/