2012-02-07 2 views
3

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

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

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

Любые очевидные проблемы возникают на ум?

Заранее спасибо.

+0

Зачем вам нужно установить значение из раскрывающегося списка с именем 'position'? –

ответ

1

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

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

+1

URL-адрес после отправки также предлагает переменную '$ position'. – keenProgrammer

Смежные вопросы