2013-06-04 64 views
1

我有一個選擇菜單,並且我想根據所選的值進行mysql查詢。 我已經創建了一個與所選擇的值進行比較的功能, 這是我的選擇菜單的形式:測試選擇菜單值

<form method="POST" action = "choose-type.php"> 
    <select name="Value" SIZE=1> 
     <option value="'Clothes'">CLOTHES 
     <option value="'Wine'">WINE 
     <option value="'Bread'">BREAD 
     <option value="'Milk'">MILK 
    </select> 
    <div> 
     <input Value="submit" align="middle" > 
    </div> 
</form> 

<?php  
    $Value = $_POST['Value']; 
    $DST = array('\'CLOTHES\'','\'WINE\''); 
    function type() { 
    $TYPE2 = ' '; 
    if (($Value == $DST[0]) or ($Value == $DST[1])) { 
      $TYPE2 = 'first'; 
     } 
     else { 
      $TYPE2 = 'second'; 
     } 
    return $TYPE2; 
    } 

我的代碼不起作用:/它總是返回第一,即使我選擇「牛奶例如」可以有人糾正我的代碼嗎?

+0

已經回答了,但即使在這種情況下,它是沒有問題的原因可能是值得關閉的選項與。 –

回答

3

你必須通過$Value,$DST內部功能

function type() { 
    $Value = $_POST['Value']; 
    $DST = array('\'CLOTHES\'','\'WINE\''); 
    $TYPE2 = ' '; 
    if (($Value == $DST[0]) or ($Value == $DST[1])) { 
     $TYPE2 = 'first'; 
    } 
    else { 
     $TYPE2 = 'second'; 
    } 
    return $TYPE2; 
} 
+1

對!謝謝 !!! –

+0

對不起,我不在線=) –

0

你應該仔細檢查什麼是未來在對$ _ POST運行您的功能之前。看起來你的情況正在導致問題;你在比較'衣服'=='衣服',這是不一樣的。在下面添加die()行,以便您可以查看錶單發送的內容並採取相應的行動。很明顯,當你知道該怎麼做時再將其刪除。

die(var_dump($_POST)); 
$Value = $_POST['Value']; 

$DST = array('\'CLOTHES\'','\'WINE\''); 
function type() { 
$TYPE2 = ' '; 
if (($Value == $DST[0]) or ($Value == $DST[1])) { 
     $TYPE2 = 'first'; 
    } 
    else { 
     $TYPE2 = 'second'; 
     } 
return $TYPE2;