2013-06-04 63 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;