测试SELECT菜单值

时间:2013-06-04 07:35:15

标签: php

我有一个选择菜单,我想根据所选的值进行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;
   }

我的代码不起作用:/它总是先返回,即使我选择'牛奶为例'也可以有人纠正我的代码吗???

2 个答案:

答案 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)

在运行函数之前,您应该仔细检查$ _POST上的内容。看起来你的案子引起了问题;你要比较'CLOTHES'=='衣服',这是不一样的。添加下面的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;