2012-02-07 42 views
3

我創建使用谷歌API的貨幣計算器,但似乎並沒有被設置在下拉框中選擇的變量在下拉列表中沒有設置。變量使用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'的下拉菜單中設置'value'? – 2012-02-07 17:33:46

回答

1

哪裏$v定義?另外,我不明白你爲什麼要檢查是否存在$_POST[$value]然後設置$value = $_POST['value'] ...它得到改變之前,是什麼$value?什麼元素的名稱是value?你不應該只是抓住$_POST['position']

$_POST['position']是將始終包含這是選擇的選擇菜單的值的變量,但我沒有看到你真正使用它的任何地方。

+1

提交後的URL地址也表明變量是'$ position'。 – keenProgrammer 2012-02-07 17:45:32