【发布时间】:2012-05-25 17:26:25
【问题描述】:
我正在用 PHP 做一个简短的测验,根据 4 个是/否问题告诉你你的想法是什么生物。我已经做到了,根据你对每个问题的回答,你会被带到不同的问题,我主要使用 switch 语句来做到这一点。
我的问题是,我有什么方法可以使用表单中的提交按钮中的 id 作为条件的 switch 语句?
echo "<form method ='post' action='Creatures.php'>
<input type='submit' name='answer' id='1' value='Yes' />
<input type='submit' name='answer' id='2' value='No' />
</form>";
这是我用来显示按钮的表单,我已经做到了,以便每个按钮都有不同的 id,所以在测验结束时,根据最后按下的按钮的 id 是什么,我可以显示正确答案。以下是我尝试执行的操作,但没有成功。
switch($_POST['id'])
{
case 1: echo "It's a goldfish";
case 2: echo "It's a eel";
}
此外,这些字段是唯一在整个网页中使用 id 的字段,有什么建议可以让我正常工作,而不一定要使用 switch 语句?
【问题讨论】:
-
$_POST 中的名称对应于输入的
name属性,因此它将是 $_POST['answer'] 和 case 'Yes', 'No' -
感谢您的工作,我尝试使用 id,因为我有 16 个可能的答案可供选择,但其中一半被称为是,一半被称为否(从用户按下测验中的按钮)所以我必须写 8 个 switch 语句,一定有比这更好的方法。
-
然后使用数字作为值:
<input type='submit' name='answer' id='2' value='2' /> -
这会改变提交按钮的标签。而是使用问题的 id 值添加隐藏输入
<input type="hidden" name="id" value="2">然后你有$_POST['id']和$_POST['answer'] -
谢谢!现在工作正常,不知道输入 type=hidden。
标签: php forms switch-statement