切换语句不起作用

时间:2015-09-29 17:02:48

标签: php html switch-statement

我正在尝试使用switch语句,但它不起作用。我的问题是例如我在文本框中输入LazyBoy,应该回显LazyBoy else echo另一个字符串。

var a = "StackOverFlow"
var last4 = a.lastFour //That's what I want to do
print(last4) //prints Flow

这是表格 -

<?php

  $classmap = $_POST['classmap'];

  switch ($classmap) {
    case "LazyBoy":
        echo "You're Lazy!";
        break;
    case "GrayHounds":
        echo "You're Gray!";
        break;
  }

?>

4 个答案:

答案 0 :(得分:0)

首先,您必须发布值以定义类映射索引。

  $("#AntimicrobialProphylaxis").change(function () {
      var $this = $(this);
      var showOrHide = $this.is(":checked");
      $("#" + this.id + "Sub").toggle(showOrHide);

      var requiredChecks = $("[data-toggle-target=" + this.id + "]").children("[type=checkbox]").prop('checked', false);

      requiredChecks.attr('required', showOrHide).click(function () {

          if ($('[name=' + this.name + ']:checked').length == 0) {
              $('[name=' + this.name + ']').attr('required ', true);
          } else {
              $('[name=' + this.name + ']').attr('required', false);
          }

      });
  });

答案 1 :(得分:0)

您只需要检查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";
}

答案 2 :(得分:0)

确保您发布到正确的脚本。 尝试将default语句调试。

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

答案 3 :(得分:-1)

您的准则是正确的。 我猜$ _POST存在问题。

尝试验证它。

$classmap = "LazyBoy";