php - 未使用 PHP 在下拉列表中设置变量

标签 php validation

我正在使用 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/

相关文章:

php - 生成数据库 MyISAM Doctrine 2

php - sql 查询显示错误的总人口数

javascript - 如何验证仅通过 JavaScript 正则表达式输入的字母和空格

php - 我想在 PHP 验证中仅允许 2 个字母之间有 1 个逗号

java - 如何通过java中的构造函数验证输入

php - 安装 CakePHP。无法访问 Assets 。找不到样式。网址重写

php - ffmpeg 最多只能压缩 32 kbps

php - 可扩展的网络应用程序

excel - 使用VBA(数据验证)使列表下拉

ruby-on-rails-3 - 使用来自 Controller 的参数在模型中进行自定义验证