Переменная не установлена ​​в раскрывающемся списке с использованием PHP - PullRequest
3 голосов
/ 07 февраля 2012

Я создаю калькулятор валют с помощью API Google, но, похоже, не устанавливаю переменную, выбранную из раскрывающегося списка.

Я создаю массив для хранения 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 из раскрывающегося списка.

Я попытался вывести все переменные безрезультатно, что наводит меня на мысль, что проблема в моем кодировании в самой форме.

Какие-нибудь очевидные проблемы приходят на ум?

Спасибо заранее.

1 Ответ

1 голос
/ 07 февраля 2012

Где определено $v?Кроме того, я не понимаю, почему вы проверяете, существует ли $_POST[$value], затем задаете $value = $_POST['value'] ... и что такое $value до того, как оно будет изменено?Какой элемент имеет название value?Разве вы не должны просто схватить $_POST['position']?

$_POST['position'] - это переменная, которая всегда будет содержать значение выбранного меню, но я не вижу, чтобы вы его где-то использовали.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...