Php 开关语句不工作
我试图使用switch语句,但它不起作用。我的问题是,例如,我在文本框中输入LazyBoy,它应该回显LazyBoy,否则会回显另一个字符串Php 开关语句不工作,php,html,switch-statement,Php,Html,Switch Statement,我试图使用switch语句,但它不起作用。我的问题是,例如,我在文本框中输入LazyBoy,它应该回显LazyBoy,否则会回显另一个字符串 <?php $classmap = $_POST['classmap']; switch ($classmap) { case "LazyBoy": echo "You're Lazy!"; break; case "GrayHounds": echo "You're Gra
<?php
$classmap = $_POST['classmap'];
switch ($classmap) {
case "LazyBoy":
echo "You're Lazy!";
break;
case "GrayHounds":
echo "You're Gray!";
break;
}
?>
这是表格-
<form action="checkout.php" method="post" >
<input type="hidden" name ="classmap" value="<?php include('db.php');
$origin = $_POST['origin'];
$class = $_POST['class'];
$daten = $_POST['daten'];
$result = mysql_query("SELECT * FROM route WHERE route LIKE '%$origin%' AND type LIKE '%$class%' AND date LIKE '%$daten%' ");
while($row = mysql_fetch_array($result))
{
echo $row['type'];
} ?>">
</form>
首先,您必须发布值来定义类映射索引
<form method="post">
<input type="text" name="classmap" value="LazyBoy"/>
<input type="submit" value="submit"/>
</form>
<?php
$classmap = (isset($_POST['classmap']) ? $_POST['classmap'] : null);
switch ($classmap) {
case "LazyBoy":
echo "You're Lazy!";
break;
case "GrayHounds":
echo "You're Gray!";
break;
}
?>
你的代码是正确的。
我想$u的帖子有问题
试着核实一下
$classmap = "LazyBoy";
您只需检查post变量是否已设置和/或添加默认情况:
if(isset($_POST['classmap'])) {
$classmap = $_POST['classmap'];
switch ($classmap) {
case "LazyBoy":
echo "Your Lazy!";
break;
case "GrayHounds":
echo "Your Gray!";
break;
default:
echo "Something";
break;
}
}
else {
echo "Something";
}
确保发布到正确的脚本。 尝试将默认语句置于调试状态
$classmap = $_POST['classmap'];
switch ($classmap) {
case "LazyBoy":
echo "You're Lazy!";
break;
case "GrayHounds":
echo "You're Gray!";
break;
default:
echo "does not match with previous cases";
}
您的文本框是否明确命名为“classmap”?请发布var\u dump$\u post outputWhat!数据库表列routers.type中的内容是否都属于该隐藏字段?如果可以,您应该这样做。已在PHP7中删除。了解使用PDO的语句,并考虑使用PDO,你们如何格式化发布的代码?我的帖子是一串的,没有颜色它总是回显与以前的案例不匹配。因此,您可以尝试回显$ClassMap。OP为什么要尝试此操作?一个好的答案总是会有一个解释,说明做了什么以及为什么这样做,不仅是为了OP,而且是为了未来的访客。@Jay Blanchart-你是对的。谢谢我只是说试试这个,因为我测试了这个代码。是的,它是LazyBoy或GrayHounds。我总是回显一些东西如果它总是回显一些东西,那么值就不是LazyBoy或GrayHounds。显示变量的内容,就可以确定它是什么:echo$classmap