【问题标题】:php switch statement using text box/drop down box使用文本框/下拉框的php切换语句
【发布时间】:2013-08-28 14:29:45
【问题描述】:

我正在尝试使用 switch 语句来实现,以便在将特定单词输入到文本框中时,它将显示该汽车的可用型号

例如

如果用户输入“Volkswagen”,则应显示“可用的车型为 Beetle 和 Polo”

但由于某种原因它不起作用,谁能告诉我为什么?

这是我目前的代码,

<form action="switch.php" method="post">

    <input type="text" name="cars" id="cars" />
       <input type="submit" /> 
<?php
$i = $_POST;
?>

<?php
switch ($i) {
    case "Volkswagen":
        echo "The available models are Beetle and Polo";
        break;
    case "Renault":
        echo "The Available models are Megane and Clio";
        break;
    case "Land Rover":
        echo "The Available models are Range Rover Sport and Defender";
        break;
}
?>
</form> 

编辑:

我现在有点卡住了,我正在尝试将此 switch 语句与一个下拉框一起使用,但不太确定如果有人可以帮助我让它们一起工作,我该如何让它们一起工作,那会很棒

这是我用于工作开关和工作投递箱的代码。

<form action="">
<select name="cars">
<option value="Volkswagen">Volkswagen</option>
<option value="Renault">Renault</option>
<option value="Land Rover">Land Rover</option>
</select>


<p>
<?php
switch($_POST['cars']) {
    case "Volkswagen":
        echo "The available models are Beetle and Polo";
        break;
    case "Renault":
        echo "The Available models are Megane and Clio";
        break; 
    case "Land Rover":
        echo "The Available models are Range Rover Sport and Defender";
        break;
}
?>
</p>
</form>
</center>

【问题讨论】:

  • 这个问题似乎是题外话,因为有问题制定。
  • 是的,我现在要提出一个问题,很抱歉在您忙碌的光顾日给您造成了这么多麻烦,我没有意识到我不允许犯一个简单的错误,例如忘记添加该部分,我希望我没有给你带来太多麻烦:)
  • 好吧,不知道您在寻找什么,也许您想了解$_POST 的工作原理? php.net/_POST
  • marc b 解释了我需要知道的内容,现在它可以工作了,所以我正在等待,直到我可以接受它作为答案
  • 这不是Text box limited to array contents的更新吗?

标签: php switch-statement


【解决方案1】:

$_POST 是一个数组。 不是可以与字符串进行比较的东西。 PHP 会将数组转换为文字词Array。由于您没有该词的大小写,因此您根本找不到匹配项。

表单值作为 $_POST 数组的元素提交。你应该这样做

switch($_POST['cars']) {
   ...
}

改为

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-06-22
    • 1970-01-01
    • 1970-01-01
    • 2021-05-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多