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;
   }

我的代码不起作用:/即使我选择“例如牛奶”,它总是首先返回,有人可以更正我的代码吗???

4

2 回答 2

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;
}
于 2013-06-04T07:38:40.530 回答
0

在运行函数之前,您应该仔细检查 $_POST 上的内容。看起来您的案例正在引起问题;你在比较'CLOTHES' == '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;
于 2013-06-04T07:44:14.467 回答