我有一个选择菜单,我想根据所选的值进行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)
在运行函数之前,您应该仔细检查$ _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;